标准在SOA领域的应用
2010-12-28 00:00出处:比特网作者:悠虎【我要评论】
[导读]面向服务的体系架构(SOA)提供了一种构建IT组织的标准和方法,通过建立可组合、可重用的服务体系来减少IT业务冗余并加快项目开发的进程。
企业软件热点文章
SCM已成为商业企业竞争的杀手锏
SOA模式介绍:容易理解很难应用的典型模式
1、SOA概述
面向服务的体系架构(SOA)提供了一种构建IT组织的标准和方法,通过建立可组合、可重用的服务体系来减少IT业务冗余并加快项目开发的进程。SOA允许一个企业高效地平衡现有的资源和财产,这种体系能够使得IT部门效率更高、开发周期更短、项目分发更快,在帮助IT技术和业务整合方面有着深远的意义。
SOA强调资源和财产的有效整合与重用,这里必然涉及各个实体的参与一从人上看,有软件产品提供商、系统集成商以及最终用户;从技术上看,有各种已有的系统,数据等资源和新的系统与功能。因此,标准对于SOA的实现与应用来说显得格外重要。
SOA涉及从方法理论到体系架构到实现技术等非常广泛的范围。这其中的各个方面都需要标准的支持。也正因为如此,我们看到目前涉及SOA的相关新、老标准和规范也格外繁多,有时甚至使人困惑。在这里,结合我们在SOA应用实践中的体会和大家一起分析SOA相关标准的分类、特点和应用,为SOA的实施提供参考。
2、标准的分类与应用
首先援引OASIS总结的SOA应用涉及各方(包括标准和规范)之间的关系。
图1对SOA从理论到技术到实现整个架构所涉及的各个方面及他们之间的关系进行了明确的概括。从图1中可以看出SOA的实现(Implementation)需要应用相关各种标准与规范,SoA的体系架构(Architecture)也需要考虑与标准和规范的结合。
SOA相关标准根据不同的需要,从不同的角度可以有多种分类方法(实际上,没有也不需要一个统一的分类方法)。在本文中,我们仅从标准应用范围的视角来对标准进行分析。从上述视角,我们认为SOA相关标准大致可以分为以下两类。
2.1互操作接口标准
定义各个异构系统,功能之间的松耦合互操作(包括调用、注册、查找等)接口。这里只注重接口和基于接口的互操作性(即可以注册、发现与被发现以及实际的相互调用)而不关心功能的内部实现。
互操作接口的标准化和基于标准的实现,能够切实实现SOA要求的业务功能接口与实现的无关性剥离。服务的调用方和提供方以标准的方式交互。这种松耦合的关系大大提高了调用方复用其他(已有)功能服务的积极性,从技术上也保证了这种复用的可行性而不会增加整个应用系统的复杂度和维护难度。
具体的互操作接口标准方面,Web Service协议栈可以说是目前业界最为普遍应用的。Web服务采用了基于XML的描述性协议SOAP协议作为服务之间的交互协议,以及采用了基于XML的描述性接口WSDL作为服务接口的描述。由于其服务接口以及服务之间交互方式都基于描述性的文本协议,因此Web服务具有松耦合,接口标准化,与实现方式无关等好处。从而导致Web服务已经成为SOA体系架构中的服务的标准实现技术。
需要注意的是,在Web Service协议栈中,一些基本协议已经成熟并被非常广泛地使用,但同时WS协议栈仍在快速发展当中,很多高级协议定稿不久,有些甚至仍在草稿阶段,还有些协议本身是互相竞争的。这些仍在发展中的协议实际上由于其本身还不够“标准”(成熟),还不能满足互操作接口的要求。因此实际应用中我们建议根据实际情况选择应用最为广泛的协议而暂时规避一些新的发展中的协议。
2.2 SOA系统实现方式标准
定义SOA应用功能的实现方式(包括框架、引擎、基于框架的组件模型等)。这里强调的是如何在构建(提供新功能的)SOA应用时帮助实现与保证SOA松耦合,高可复用特性的实现方式标准。
目前SOA系统目标大致可以分成两类,一类是以快速集成已有应用系统为目标(即使用SOA的方式实现传统EAI应用);一类是以开发新的业务功能(从SOA的要求来看,是尽量复用已有功能采开发新的业务功能)为目标。目标不同,实现方式也不尽相同,标准的适用也不相同。下面介绍一下这两类应用相关的标准和规范。
2.2.1快速集成
本类应用的重点是将业务功能(服务)按照集成逻辑,即按照一定的顺序编排执行的能力。其实现方式的标准有所谓EIP(Enterprise Integration Pattern)模型,业务流程管理(BPM)相关标准(即BPMN、XPDL、BPEL等)。
由于对于标准的根本需求是定义业务流程编排各种业务功能的方式最终为集成流程的实现服务,不同的集成流程需求会使用不同的标准,比如,对于自动化非人工介人的流程(相对对流程处理性能有较高要求)的实现适用EIP模型或BPM,但BPM相对来说效率上会有更多损失;对于有人工活动介入的流程实现,BPM更适合。这里,不同的标准没有好坏之分,都可以实现SOA的目标,标准的选用应该出于实际系统的需求。
2.2.2新业务的开发
这里更多的指通过编写代码实现新的业务功能尤其是面向Web应用的开发。SOA为这种系统的实现提供了更好的方式:有调用关系的不同功能模块(组件)之间使用松耦合的方式(而代码内指明确定的方式)进行组装,从而使得功能模块能够更好的复用其他功能又不丧失系统的灵活架构。适应这种类型需求的标准表现得更加具体以及技术可行。具体适用标准规范有JBI,SOA等。由于篇幅关系这里不详细介绍。
对于一个主要需要技术人员开发新业务(相对于前面快速集成主要集成已有功能)的系统,这些标准的执行(即基于这类标准框架开发应用)可以有效的达成SOA松耦合,高复用的特性。
3、SOA参考架构
另外,在SOA参考模型和SOA体系架构方面其实也需要业内从理论和方法上达成共识,我们把它称之为SOA参考架构。它作为一个框架,使各个项目都有一个遵从的依据,借以促进一致性、最佳实践典范和标准化。SOA参考架构指导所有实施SOA的各个项目,能共同朝向企业级服务和SOA基础架构标准方向的集中发展,尽早使企业从中获益。SOA参考架构实际上是SOA系统相关各方(产品提供商、系统集成商和最终用户)对于系统的组成、功能、结构达成的共识。基于这一共识,用户可以明确自己的业务目标,考核产品提供商和系统集成商的工作成果:系统集成商可以以更标准的形式向用户提供功能和服务,台理规划系统体系架构,以及有效选择产品提供商;产品提供商可以有章可循,为系统集成商提供切实可用的SOA基础设施支撑。参考架构是SOA实现的指导和明确参考,它可以说是应用使用各种标准,规范实现SOA目标的基础。
3.1 SOA总体技术要求(制定中)
由全国信息技术标准化技术委员会SOA标准工作组(以下简称"SOA标准工作组”)制定的我国国家标准《SOA总体技术要求》( 20090341-T-469)。
本标准规定了SOA的技术产品开发以及应用项目实施的基本技术要求,包括总体技术参考模型、功能要求、非功能要求、实施要求。
本标准适用于基于SOA的软件产品及软件项目的设计、开发和运维。本标准是制定具体SOA的技术实现标准、质量测评标准及工程应用标准的依据。
3.2长风联盟SOA技术参考架构
国内众多软件开发企业,在SOA相关技术和产品方面,也投入了大量的人力和物力进行跟踪和研究,并且开发出了相应的SOA产品。如长风联盟SOA—RA-TF(SOA参考架构工作组)参照相关的国际标准,充分考虑国内的实际业务需求,提出了一个SOA参考架构,如图2所示。长风联盟SOA参考架构本身,体现了松散耦合特性,它结合了传统技术和Web服务技术,考虑了各种应用场景,可灵活地分拆组合使用。
长风联盟SOA技术参考架构组成元素包括:SOA基础技术平台、实现业务功能的业务服务、各种已经存在的应用系统和数据资源、使用各种业务服务的服务消费者(应用程序),以及建立SOA应用系统和监控系统运行的辅助工具集,当然还需要有建设、使用和维护这些系统的各类人员.
在组成SOA应用系统的各种元素中,SOA基础技术平台和诵助工具集是建立和支撑SOA应用系统运行的重要的基础架构。涌助工具集提供 SOA应用系统建设和管理工具,提供建模工具、集成开发工具和运行管理工具;SOA基础技术平台提供应用服务的运行支撑环境,提供服务与人员之间的交互操作,服务流程管理,服务之间的通讯,系统与系统之间的协作,已有系统和数据资源的服务化接入,以及各种服务质量管理。
在SOA应用系统中还包括已存在的应用系统和数据资源,统称为资源,这些资源通过基础技术平台接人,展现为业务服务供其它应用剪服务使用,也可以使用其它应用服务。在SOA应用系统中的应用服务在基础技术平台的支撑下运行,应用服务可以是业务服务提供者,也可以是业务服务消费者,应用服务可以是新编写的程序,也可以是若干服务的组合。几个SOA应用系统也可以互相协作,进行数据交换或实现业务服务的互相调用。与SOA应用系统相关的人员角色包括:系统规划和设计人员,系统开发人员、系统操作使用人员和系统管理维护人员。
长风联盟SOA-RA一下F研究的SOA参考架构还不是技术标准,通过参考架构的研究可以明确SOA基础技术平台和辅助工具集的总体体系架构,应该具有的功能和特性,以及各组成部分之间的接口。有了SOA参考架构,就可以为SOA基础技术平台和浦助工具集的实现提供清晰的指导;同时也为SOA应用系统如何建设,如何构建其基础技术架构给出了一个很好的实施建议。
3.3 OASIS的SOA参考模型
2006年8月,OASIS(结构化信息标准促进组织)也推出了SOA参考模型1.0规范。这个参考模型是SOA架构的一个抽象框架,统一了SOA相关术语用法并且定义了这些术语的涵义,同时还明确定义了SOA各组件之间的关系。SOA架构师或系统设计人员可以根据这个模型指导自己的SOA实践。
从前面的图1中可以看出,参考模型位于抽象级别的顶部,也就是说参考模型提供了SOA实现的抽象基础。每个SOA架构设计者都要考虑参考架构、模式、模型以及由参考架构派生出的概念架构,审慎思考实际环境(需求、动机和目标等)对实现架构的影响,同时利用已有的标准和协议,这样就形成了一个比较完整的SOA设计方法论。总而言之,SOA参考模型使得我们能够系统地考虑SOA架构的实现,并给出最基本的概念和设计模式。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。