首页  ·  知识 ·  
标准在SOA领域的应用
刘川 朱律玮  其它     编辑:DEZAI   图片来源:网络
面向服务的体系架构(SOA)提供了一种构建IT组织的标准和方法,通过建立可组合、可重用的服务体系来减少IT业务冗余并加快项目开发的进程。SOA允许一个
面向服务的体系架构(SOA)提供了一种构建IT组织的标准和方法,通过建立可组合、可重用的服务体系来减少IT业务冗余并加快项目开发的进程。SOA允许一个企业高效地平衡现有的资源和财产,这种体系能够使得IT部门效率更高、开发周期更短、项目分发更快,在帮助IT技术和业务整合方面有着深远的意义。

  SOA强调资源和财产的有效整合与重用,这里必然涉及各个实体的参与一从人上看,有软件产品提供商、系统集成商以及最终用户;从技术上看,有各种已有的系统,数据等资源和新的系统与功能。因此,标准对于SOA的实现与应用来说显得格外重要。

  SOA涉及从方法理论到体系架构到实现技术等非常广泛的范围。这其中的各个方面都需要标准的支持。也正因为如此,我们看到目前涉及SOA的相关新、老标准和规范也格外繁多,有时甚至使人困惑。在这里,结合我们在SOA应用实践中的体会和大家一起分析SOA相关标准的分类、特点和应用,为SOA的实施提供参考。2、标准的分类与应用

  首先援引OASIS总结的SOA应用涉及各方(包括标准和规范)之间的关系,见图1。

 

 

图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的技术实现标准、质量测评标准及工程应用标准的依据。

本文作者:刘川 朱律玮 来源:其它
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读