SOA标准规范体系的研究_soa论文

SOA标准规范体系研究,本文主要内容关键词为:标准规范论文,体系论文,SOA论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

【分类号】G250.7

1 SOA标准规范演变

SOA(Service-Oriented Architecture)是一种面向Internet环境的信息系统集成架构,它通过连接跨平台的、功能独立的、可重用的服务实体实现跨机构业务集成。2006年,OASIS发布SOA参考模型规范SOA-RM(Reference Model for Service Oriented Architecture)[1],它不但对Web服务(Service)作了明确定义,而且对服务的透明性(Visibility)、交互性(Interaction)、功能性(Real World Effect)、描述规范(Service Description)、政策(Policy)、约定(Contract)等属性以及服务交互运行环境(Execution Context)等要素作了具体说明。SOA的服务可以是本地的、自己创建的,也可以是异地的、第三方组织机构提供的,两个服务通过相关运行环境(服务集市)可以集成与互操作,从而保证SOA系统的可扩展性、可演变性和可管理性[2]。目前,SOA-RM已经成为指导SOA标准规范研究与应用的重要依据。

根据Steve Jones的观点,SOA标准规范发展经历了中间件和Web Service两个阶段[3]。产生于20世纪80年代初的TCP/IP、BIOS等标准规范曾极大地促进了计算机及网络的发展,并最终催生中间件技术(如CORBA的llOP、COM的ORPC以及EJB的RM1等)。而为解决中间件的“细粒度”、“紧耦合”等问题,产生了简单对象访问协议SOAP以及WSDL、UDDI等Web服务技术,将分布式计算引入Web服务阶段。Web服务从产生那天起就引起了广泛关注,包括Microsoft、IBM、BEA、INTEL、Oracle等一些大型企业,以及W3C、OASIS、WS-I、JCP、Open Source Communities等重要国际标准化组织都积极参与到Web服务标准规范的研究与建设中。到2005年,随着一系列新的标准规范相继问世,面向服务的系统架构(SOA)逐渐走向成熟应用阶段。

2 SOA标准规范体系架构

Web Service技术是SOA标准规范的重要组成部分,但SOA并不等同于Web Service[4]。Web Service只是SOA众多实现技术中的一种,面向电子商务应用以及面向用户端集成的需求,SOA标准规范还包括ebXML系列规范以及其他专门协议规范等。而且,SOA服务也不等同于Web服务,尽管Web服务通过补充部分内容可以成为SOA服务[5]。事实上,SOA服务包括3个层面:服务层、业务逻辑层、数据存储层。Web服务只是位于服务层的一种特殊SOA服务,服务层不一定采取WSDL进行描述,它还可以采用ebXML Registry规范将服务描述与服务注册相结合,而且后者可描述、注册的内容更广泛,更适合SOA服务集成及互操作理念。另外,除了服务层,SOA服务还涉及业务逻辑层、数据存储层的服务,从而使SOA框架支持对传统遗留系统的集成与互操作。

根据FERA( Federated Enterprise Reference Architecture) 定义的SOA运行时架构(见图1)[6],可以将SOA标准分为三大类:

图1 SOA运行时架构

(1)第一类是Web Service系列标准,如SOAP、WSDL、UDDI、WS-*等;

(2)第二类是ebXML系列标准,主要包括ebRIM(Registry Information Model)、ebRS(Registry Services Specification)、ebBPSS(Business Process Specification Schema)、ebCPPA(Collaboration-Protocol Profile and Agreement Specification)、ebMS(Message Services Specification);

(3)第三类是支持以上两类标准集成应用的SOA专门标准规范,如FERA制定的SOA IM(SOA Information Model)、SOA CS(SOA Collaboration Semantics)以及OASIS制定的ebSOA规范,包括SOA GS(SOA General Specification)、SOA SS(SOA Service Specification)、SOA FS(SOA Fabric Specification)等。

SOA运行时架构由三部分组成,相关标准如下:

(1)SOA成员(Federate)。它可能是用户人也可能是服务系统。其中,服务系统分多种情况:

①可能是简单的Web服务,采用WSDL规范进行描述;

②可能是遵循WS-*标准的复杂服务系统,相关标准规范有WS-DL、WS-Policy、UDDI、BPEL、WS-CDL、WS-CAF等;

③可能是基于ebXML的电子商务服务系统,相关的标准规范包括ebXML Registry、ebXML BP以及CPPA等;

④还包括目前已经存在的遗留系统,它们通常基于私有协议规范。

(2)SOA接口(Interfaces)。面向用户人的接口是个门户系统,相关标准规范包括HTTP、STMP等。而面向服务系统的接口是个网关系统,由信息交互接口与协同工作引擎两部分组成。信息交互接口为SOA成员之间以及SOA成员与联盟体之间的信息交换提供支持,是开放式服务集成的基础,包括面向Web Service成员的SOAP、WS-Security、WS-Reliability等规范,面向ebXML成员的ebMS规范,以及面向遗留系统的私有协议规范等。协同工作引擎主要包括Web Service引擎和ebXML引擎,前者相关的标准规范包括ebXML BP、ebCPPA(ebXML Collaboration Protocol Profile and Agreement),后者相关的标准规范主要是WSBPEL、WS-Choreography、WSDL等。

(3)SOA联盟体(SOA Federation)。SOA联盟体是个中央控制板块,它在整个服务集成运行过程中扮演服务组合、协作控制的角色,主要由联盟服务器(Federation Server)、代理框架(Agent Framework)、过程控制器(Collaborative Process Flow Controller)、内部服务(Built-in Services)四部分组成。相关协议除了ebXML Registry、ebXML CPPA、WSDL、UDDI外,SOA IM及SOA CS为联盟体支持多种协议融合与协同工作提供标准规范。

3 SOA标准规范层次模型

各类标准规范在SOA中的角色功能可分为三大类:服务层次上的信息交互规范(Service Communication)、基础通信标准规范(Infrastructure Communication)、元数据标准规范(Metadata)[7]。根据各种标准规范在SOA体系中的角色功能,可以将SOA协议栈分为7层,如图2所示。

图2 SOA标准协议栈

(1)传输层标准规范为网络通信提供底层支撑,主要包括HTTP、STMP、RMI/IIOP、TCP/IP等。

(2)消息层定义基于消息的分布式计算相关规范。其中,与Web Service对应的消息交换规范是SOAP,通过对SOAP头部扩展实现SOA对Web Service服务的支持。与ebXML对应的是ebMS,它不但定义基本的ebXML消息传递规范,而且同时定义了消息可靠性传递规范、安全规范等,相当于SOAP、WS-Security、WS-Reliability等标准内容的综合。而JMS(Java Message Service)则是面向J2EE平台的消息规范,它适合大数据量且对时间敏感的信息传递环境。

(3)描述层规范。WSDL作为Web服务的基本描述规范,为服务的注册、发现、调用等提供支持。WS-Policy[8] 则对Web服务的性能、条件等政策信息进行描述,包括WS-PolicyFramework、WS-PolicyAssertion、WS-PolicyAttachment三部分。WSDL2.0也定义了一组与WS-Policy相似的服务能力和条件声明规范,所不同的是:WS-Policy没有定义特征、属性声明与WS-Policy表达式之间的关系。ebRIM(Registry Information Model)[9] 是一面向ebXML的注册服务器信息模型,它定义注册服务器中存储信息描述规范,包括元数据类型及相互关系、ebXML注册服务器的应用接口协议、消息规范以及XML schema等,它既是注册服务器实现的依据,也是应用开发、实现客户端连接等参考规范。而为了支持多种标准规范服务在SOA框架下的融合,还需要专门的SOA信息模型规范SOA IM(SOA Information Model),它采用XML规范对服务进行描述,生成协作过程信息文档(Collaborative Process Information Document,CPID),并将其存储在ebXML Registry或UDDI注册服务器上,支持管理层协作调用。

(4)发现层标准规范包括UDDI、ebXML Registry,支持服务的公共注册、统一发现与绑定调用,使SOA的服务具有位置独立性。UDDI比较简单,而ebRS则建立在ebRIM之上,将服务描述与服务注册结合在一起,可以表示范围广泛的数据对象,包括XML模式、业务流程描述、ebXML核心组件、UML模型、一般贸易合作伙伴信息及软件组件。

(5)管理层标准。WS-Security[10]、WS-Trust[11]、WS-Reliability[12] 等标准试图在SOAP协议之上增加安全、可靠、可信赖的通信控制功能,保证SOA服务间信息交互的稳健、顺畅。WSDM(Web Services Distributed Management)[13] 是OASIS发布的Web服务分布式管理标准规范,它可以实现对用户、平台、网络、协议框架等多种对象的统一管理。除WS-*标准外,管理层还包括SOA语义协作规范SOA CS(SOA Collaboration Semantics),它调用存储在注册服务器上的SOA IM信息,协调、组织相关业务服务调用过程。

(6)服务组合层(Service Composition/Orchestrated/Aggregrated)包括面向Web Service的服务组合规范WS-CDL、BPEL、WS-CAF以及面向ebXML的业务流程和协作规范。其中,WS-CDL(Web Service Choreography Description Language)[14] 是在WSCI(Web Service Choreography Interface)[15]、BPML(Business Process Modeling Language)[16] 基础上发展而来的一种基于XML的Web服务编排描述语言,是W3C推荐标准,目前发布1.0版本。BPEL(Business Process Execution Language)[17] 是在综合WSFL(Web Service Flow Language)[18]、XLANG[19] 等标准基础上制定的业务过程执行语言,早期版本称为BPEL4WS(Business Process Execution Language for Web Services)[20],1.1版本后成为OASIS标准WSBPEL(Web Services Business Process Execution Language,简称BPEL),BPEL支持服务组合的脚本定义过程与执行过程分离,使SOA系统在处理服务时能站在更全面的、与业务过程相结合的角度上。WS-CAF(Web Services Composite Application Framework)[21] 是OASIS规范,其总体目标是提供一个支持各种事务处理模型和体系结构的完整解决方案。为支持ebXML服务组合,2006年4月,OASIS发布xbXML BPSS规范(Business Process Specification Schema)[22],定义了基于XML的业务逻辑事务规范以及自动化、可预见的业务组合和协作机制。

(7)表示层规范主要包括Portlet规范JSR 168(Java Standardization Request 168)[23] 以及远程呈现Portlet标准WS-RP[24],其底层基于Web Service技术,支持表示层面的功能组合。目前,Portlet技术在个性化门户系统中得到了广泛应用。

4 SOA标准规范应用分析

目前,在信息资源组织与集成服务领域,SOA标准规范得到了越来越多的关注和应用。其中,Fedora、DSpace、Greenstone、NSDL、Google等系统都提供了Web Service服务接口,L2L则是一个基于SOA规范的异构数字图书馆集成方案,而CiteSeer.EU、BRICKS、DILIGENT、OSOA等则分别是SOA规范在分布式、P2P、GRID以及语义网等环境下的应用实例。

(1)L2L。L2L(Library-to-Library,L2L)[25] 是爱尔兰大学Sebastian等人提出的基于SOA标准规范的服务集成方案,它采用W3C的Web服务运行环境WSMX(Web Service Execution Environment,WSMX)[26] 集成已经存在的数字图书馆协议(如Z39.50、DIENST、OAI、SDLIP、ELP),从而实现异构系统间的自动化互操作[27]。WSMX是W3C提出的Web服务执行环境,其主要工作是建立基于WSMO(Web Service Modeling Ontology)的语义Web服务模型,负责定义执行语义、开发系统架构、设计系统组件、定义接口规范、研究不同领域的语义整合条件等,以便为基于语义的SOA服务集成提供指导,支持自动化的Web服务发现、选择、协调、调用及系统间互操作等目标。WSMX建立在P2P网络之上,当用户提出查询需求后,图书馆首先在自己的网络范围内搜索,然后将查询请求转发给WSMX;WSMX基于一定的组织、协作机制将查询式发给P2P网络中的另一个WSMX节点,每个WSMX节点都连接遵循特定协议规范(如OAI、DIENST等)的图书馆网络;最后,由WSMX获取各个节点上的查询结果,并由用户初始请求的图书馆进行整合处理后呈现给用户。目前,W3C已经提出了一个WSMX概念模型和一个WSMO参考模型[28],并提供了相关功能实现的开源代码[29]。

(2)OSOA。OSOA(Ontology-enabled Service Oriented Architecture)[30] 是英国伦敦帝国学院(Imperial College London)研究人员提出的一个基于Ontology的SOA架构,底层遵循Web Service规范,采用Ontology技术增强SOA中的服务语义,并包容通用插即用(Universal Plug and Play,UpnP)设备和服务,实现以人为中心、上下文敏感的、目标驱动的服务组合与互操作。相关协议规范包括服务发现规范WS-Discovery[31]、服务描述规范WSDL与OWL-S[31]、消息传递规范SOAP、事件处理规范WS-Eventing[33]、安全规范WS-Security。同时,基于WS-Policy构建服务政策,基于OWL构建用户Ontology,基于WS-Management[34] 实现对大规模设备与服务的管理。OSOA的目标就是实现从语法匹配(Syntactic Match)转向语义匹配(Semantic Match),并最终实现政策匹配(Policy Match),从而提高服务动态发现与组合的质量。由于OSOA具有面向服务、平台无关、语言中立、基于XML消息机制、传输独立等特点,从而保证了系统具有良好的互操作性、可扩展性、可伸缩性、可组合性。

5 结语

SOA是一种面向服务的系统集成理念,其标准规范体系建设实际上是对现有信息技术的集成应用与发展,包括对Web Service标准、ebXML标准以及遗留系统相关规范的汇合、集成,以及构建专门的SOA信息模型与协同工作等规范。同时,我们还应看到,新技术的发展使SOA标准规范总处在不断演变之中,其中,如何与P2P、GRID、语义网等基础信息环境的融合已经成为人们关注的热点。

标签:;  ;  ;  ;  

SOA标准规范体系的研究_soa论文
下载Doc文档

猜你喜欢