|
基于SOA的服务组合技术研究
SOA架构以服务为基本单元,通过把不同应用封装成统一的Web服务来屏蔽系统间的差异性;以服务作为构建时的基础组件,通过服务组合技术对散列的组件进行组合。
随着移动通信业务的发展,增值业务市场也呈快速发展的趋势,增值市场规模逐年增长。用户对业务的需求也呈现出多样化的趋势,移动通信运营商在激烈的市场竞争中,利用现有的业务平台及资源,灵活组合,适时推出用户所需的各种新业务,将会极大地增加运营商的市场竞争能力。然而传统的服务实现使用不同的语言和技术,并且运行于不同平台和操作系统之上。因此,各个系统相互孤立,难以进行通信,并且其内部信息处理手段的差异较大,数据存在不一致性,彼此之间难以进行信息、数据的交换和共享。现在,随着SOA(service-oriented archITecture,面向服务的架构)技术的出现和快速发展,可以很好地解决该问题。SOA架构以服务为基本单元,通过把不同应用封装成统一的Web服务来屏蔽系统间的差异性;以服务作为构建时的基础组件,通过服务组合技术对散列的组件进行组合,从而解决服务间数据的交互和共享,以松耦合的方式实现跨机构的协作业务流程;通过服务组合技术对业务流程的全过程进行监管,实现流程的简化和优化。 1.面向服务的体系架构SOA SOA 是以服务为基础的组件模型。服务作为封装特定功能的实体,以业务为其核心理念,通过定义良好的接口的契约彼此间进行联系。同时,服务是中立的,可以独立于特定的技术和平台。服务具有可重用性,一个定义良好的服务可以在多个业务流程的组装中使用。也正是因为SOA 中所有应用都是服务,基于SOA 的系统平台可以采用服务组合技术将单独的、中立的、封装完善的服务组合成新的、复杂的服务,从而实现数据共享。又因为服务之间的交互是通过标准定义的接口进行的,基于SOA 的系统平台可以屏蔽由于平台、操作系统以及实现语言不同而造成的差异。 基于SOA 的IT架构以一系列执行业务功能的服务为基础,通过服务的形式重用企业现有资产。同时,通过服务的不同组合不仅实现异构环境中的消息、数据的交互和共享,还可以使业务流程变得更加灵活,从而迅捷有效地满足现实生活中快速变化的业务需求。可见,要使搭建的架构灵活多变,就要考虑服务构建、数据模型和服务编排这三方面采用何种技术来实现。如图1 所示为SOA关键技术及其关系。 本文重点研究服务组合技术。SOA架构中的服务组合编排模型不仅要满足异构、松耦合的要求,还要是敏捷的,因此与Web 服务关联的服务组合技术BPEL (Business Process _execution Lan原guage)以其基于服务、松耦合、高度敏捷等特点成为构建SOA 架构的首选服务编排模型。BPEL 的描述文件是WSDL,不仅支持Web 服务,也可以更好地支持SCA定义的服务。同时,BPEL 规范可以把其定义的流程本身暴露为Web 服务对外提供服务。同时由XML Schema 定义的BPEL 规范可以直接把SDO 定义引入到自己的变量到中,作为其变量进行操作。总之,BPEL 是SOA 服务编排的核心技术,同时也是具体业务流程的体现。 图1 SOA关键技术及其关系 2.基于BPEL 的服务组合技术 BPEL 技术规范即业务流程执行语言规范,是以Web服务、XML 为基础的诸多规范上提出的一种新型的业务流程的定义语言规范。它的灵感来源于IBM的WSFL 以及微软的XLANG。其中,WSFL是一种以图为基础的流程模型,其特点是灵活、直观;XLANG 即工作流程描述语言,它以过程代数为基础,具有结构化构造的优势。BPEL 作为两者结合的产物,以用Web 服务接口标准描述的伙伴和业务流程的交互为基础,定义了描述业务流程的语法规范,主要用于业务流程建模。作为一个Web 服务组合标准,BPEL可以直接描述一组Web 服务的操作顺序,以及服务间交互时共享的数据,还可以处理Web 服务使用过程中发生的异常;作为执行流程的建模语言,BPEL 可以组合现有的服务,从而生成一个新的更为复杂的Web服务。 BPEL是一个基于开放标准的技术规范,这些技术规范为BPEL 流程的执行提供环境。图2展示了BPEL 规范与其相关技术标准的关系。
责编:王雅京
微信扫一扫实时了解行业动态
微信扫一扫分享本文给好友
著作权声明:kaiyun体育官方人口 文章著作权分属kaiyun体育官方人口 、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
|
推荐博客
|
|