SOA概念
SOA是近年来软件规划和构建的一种新方法,以"服务"为基本元素和核心。其概念最早由国际咨询机构Gartner公司于1996年提出,在2003年以后成为国内外软件产业界和各行业用户关注的焦点,并在2006年逐步在多个行业信息化建设中得到越来越广泛的应用。
自SOA概念提出之后,不少国内外组织企业均对SOA进行了定义和阐释,经过多年的发展,目前在我国正在制定的《信息技术 面向服务的体系结构(SOA)术语》一书中对"服务"、"面向服务"、"SOA"等一系列概念形成了如下的权威、统一的定义。
"服务":通过规范化的描述来表征、对外提供访问地址,并可被重复使用的业务功能单元。
"面向服务":通过一组有联系的服务的组合和集成来对软件或系统进行分析、设计和实现的思想。
"面向服务的体系结构(SOA)":遵循面向服务原则、具有松耦合特性的体系结构风格。
本书将着重从用户角度对SOA概念和应用进行客观剖析,以便于用户从应用角度对SOA有直观理解。从应用的角度来说,SOA作为一种IT系统和软件的体系结构规划和构建方法,贯穿IT系统规划、设计、构建和管理的各个阶段,并通过Web服务、表述性状态转移(REST)等技术来实现。
SOA的技术特点
基于SOA来构建的IT系统具备如下的特点。
1.以业务为中心。相对于面向对象、面向构件技术,SOA更多从用户业务出发,通过业务人员参与SOA系统的规划、设计和管理,可在深刻理解业务的基础上构建IT系统,实现IT系统与用户业务的密切结合。实施中,通过把完成实际业务流程中的一项任务所需的IT资源组织为"服务"进行封装,从而达到以业务为核心,通过业务进而选择合适的技术,避免技术制约业务的问题。
2.灵活适应变化。基于SOA的IT系统围绕用户业务而构建,用户业务在实现层表现为一系列松散耦合的"服务"来实现,这些"服务"可以根据用户业务变化和发展进行按需调整或重新组合,明显提高IT系统对于业务的适应能力。
3.重用IT资源,提升开发效率。SOA强调对"服务"的重用,对原有IT资源的重用度提升是SOA带来的关键效果之一,大量高重用的服务资源为快速构建新的业务功能和业务系统奠定了基础,使得IT系统的开发和软件生产效率得到提升。同时,在重用过程中,有利于保护用户前期的信息化投资和IT资产积累,节省IT系统开发成本,实现用户信息化的可持续性建设与发展。
4.更强调标准。SOA的实现强调基于统一的标准,基于SOA的IT系统建立在大量的开放标准和协议之上,以实现系统及信息的互联互通和互操作。因此,SOA系统从规划到实施,标准都至关重要。
SOA的应用目标
对于用户来说,在信息化规划、设计、构建和管理阶段使用SOA,往往基于如下的出发点和目标。
1.快速响应业务变化、提高用户满意度
目前,我国企事业单位及政府部门都在强调"服务"能力,各类组织对服务水平、IT系统对新业务的快速响应要求,已经超过了对于IT系统开发效率的要求。依托"服务"的松耦合性和重用性,通过现有"服务"和IT资产的组装,SOA减少了新业务应用开发的时间,提高了产品和服务的上市速度和开发效率,使得SOA系统中的"服务"和IT资产以更灵活的配置适应新的需求变化,提高了业务效率。
基于SOA来建立统一灵活的IT基础体系结构,通过创建与具体技术和最终用户访问终端无关的服务,应用于各种用户的多种服务渠道,可保证一致的用户体验,提高用户的满意度。
2.有效整合IT资源,提高IT系统的协作联动能力
不少行业的企事业单位实施了很多应用系统,比如金融、电信行业以及一些集团企业,在不同省市的子公司、分公司和多元化下属单位如何整合原有系统和信息资源,都是目前面临的主要系统建设需求。
SOA不仅仅是一项技术,而且提供了系统集成开发的主要方法及策略。SOA倡导遵循开放标准,并独立于厂商多样化的环境,为基于互联网的组织内和组织间的系统通信协作和资源共享提供了良好的互操作性和可用性。
3.充分利用已有IT资产、提高投资回报率
采用SOA的企事业单位,可基于服务规则和要求,尽量重用原来的IT资源,并通过技术中立的方式降低对厂商的依赖和转换成本;其次,SOA系统以"服务"为中心,梳理和重组业务流程,使各个业务系统能够互联互通和共享资源,这种服务的松耦合及平台中立为组织降低了集成成本,松耦合和模块化简化了维护工作,降低了维护成本。
单个企业或单位的力量是有限的,只有某个行业内或供应链上的多家企业和单位联合,共享"服务"资源,才能推动SOA的开发模式进程,收到良好的效果。特别是在云计算环境下,基于SOA方式来构建的"云服务",可以使各类用户更便捷地使用各类现成的IT资源,节省自建和维护成本。因此,总体而言,SOA可以保护或充分利用已有的IT投资,提高IT的投资回报率。