CN102073505A - 面向服务组装的声明式事务集成方法和系统 - Google Patents
面向服务组装的声明式事务集成方法和系统 Download PDFInfo
- Publication number
- CN102073505A CN102073505A CN2011100340527A CN201110034052A CN102073505A CN 102073505 A CN102073505 A CN 102073505A CN 2011100340527 A CN2011100340527 A CN 2011100340527A CN 201110034052 A CN201110034052 A CN 201110034052A CN 102073505 A CN102073505 A CN 102073505A
- Authority
- CN
- China
- Prior art keywords
- affairs
- transaction
- service
- activity
- service assembly
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000010354 integration Effects 0.000 title abstract description 5
- 230000000694 effects Effects 0.000 claims abstract description 70
- 230000008569 process Effects 0.000 claims abstract description 40
- 238000013459 approach Methods 0.000 claims description 17
- 230000009471 action Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 7
- 238000011282 treatment Methods 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 5
- 230000008030 elimination Effects 0.000 claims description 3
- 238000003379 elimination reaction Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 10
- 238000007781 pre-processing Methods 0.000 abstract 1
- 238000009826 distribution Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 6
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000593 degrading effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向服务组装的声明式事务集成方法和系统,所述方法包括如下步骤,(1)对基于服务组装语言BPEL的服务组装规格说明进行预处理,识别并消除不同活动之间存在的事务依赖;(2)对预处理后的所述服务组装规格说明进行事务策略的说明和注解,确保被注解的活动遵循一定的事务协议规范,预处理后的所述服务组装规格说明和所述事务策略的注解文件形成含事务注解的服务组装规格说明;(3)解释和执行所述含事务注解的服务组装规格说明,完成预定业务的Web服务组装。通过集成已有的Web服务的事务框架和协议,利用现有的服务组装引擎和面向Web服务的事务协议,部分支持服务组装中自动化的事务设计与执行,增强Web服务组装的可靠性。
Description
技术领域
本发明涉及一种面向服务组装的事务集成方法和系统,尤其涉及一种面向服务组装的声明式事务集成方法和系统,属于计算机服务组装技术领域。
背景技术
近年来,Web服务组装逐渐成为Internet环境下的应用程序的主流开发范式。Web服务是一个平台独立、松耦合、自包含、可编程、并依赖于Web技术的服务。Web服务的描述、访问、检索与发布基于标准XML技术以及一系列的Web技术标准,这些技术及标准有效地屏蔽了运行环境的异构性,使得Web服务可以直接部署和运行于Internet之上。由于单个Web服务往往无法满足实际需求,因此需要将多个Web服务协调与组织起来构造新的Web服务(复合服务),支持某个业务过程。通常,将多个Web服务组装起来的复合服务称为基于Web服务的系统。目前,面向过程的服务组装相对成熟,如Business Process Execution Language(简称为BPEL)是一个支持面向过程、可执行的Web服务组装语言,在学术界和工业界受到广泛重视,并有相应的工具支持。
基于Web服务的系统,可以支持快速的业务重整与优化、较好地解决了应用程序的集成以及数据集成等难题。另一方面,与传统的应用程序相比,基于Web服务的系统的构造存在很大的区别。由于Web服务分布在异构的环境中和不同的管理域中、从属于不同的组织机构、面临不同的授权和安全保护等,基于Web服务组装的应用程序通常是一个松耦合的系统。这样的系统往往描述的是一些非常重要的业务过程,如银行支付系统和供应链系统。因此,如何开发可靠的Web服务组装、描述一致性的业务过程是一个重要问题。
事务管理是一种用来实现可靠的业务过程的重要技术。事务是指一系列的操作,它们按照一种有序的方式改变业务过程中对象的状态。经典的事务概念赋予业务过程一些非常重要的基本属性,如原子性:指对一个对象的状态的改变要么全部发生,要么什么也没发生;一致性:指在事务发生前后对象的状态变化应该是一致的;隔离:指一个事务中的对象的状态变化并不影响其它并发事务中对象的状态变化,或者说一个事务中对象的变化对外是不可见的;和持久性:指事务的结果在事务完成后持续足够长的时间。经典的事务概念在数据库系统中得到了广泛的应用,实现相对容易。但在基于Web服务的应用程序中,由于Web服务部署和运行于一个更加开放、动态的环境中,这要求服务组装具有足够的灵活性。例如,某个Web服务可能因为网络故障突然从业务流程中退出,如果这种情况发生了,服务组装过程应能请求服务代理搜索一个提供相似功能的Web服务取代已经退出的Web服务。此外,Web服务的事务可能涉及到多个参与实体、跨越多的组织结构、持续很长时间。因此,Web服务组装中的事务概念及其实现变得非常复杂。
近年来,服务计算领域推出了一系列面向Web服务的事务框架与协议,包括WS-Coordination(简称为WS-C),WS-AtomicTransaction(简称为WS-AT)和WS-BusinessActivity(简称为WS-BA)。WS-C描述了一个可扩展的框架以支持多种事务协议,定义了事务上下文的结构、事务协议注册及事务的激活等服务。WS-AT和WS-BA是两个典型的面向Web服务的事务协议族,前者支持简单的、短周期的原子事务;后者支持长周期的、复杂的业务活动。WS-AT和WS-BA可以在WS-C定义的框架下实现。尽管已经存在各种版本的WS-C,WS-AT和WS-BA的独立实现,但是不存在一个可行的集成方案将服务组装语言及事务管理的协议有效地集成起来,换言之,BPEL和WS-C,WS-AT and WS-BA是分离的面向Web服务的组装语言和事务模型或协议,因而不能有效地支持可靠的Web服务组装。
针对服务组装语言与面向Web服务的事务协议之间的集成问题,已有解决方案包括:(1)直接扩展BPEL构造以支持事务概念,该方法需要重新开发BPEL引擎,如何实现尚未有报道;(2)基于扩展的BPEL或特定的框架方法实现事务管理的集成,该方法导致BPEL版本兼容问题及代码维护的问题;(3)在BPEL过程中直接地实现事务协议,该方法导致BPEL规格说明不易维护,不能集成已有的Web服务的事务框架和协议的独立实现。
发明内容
本发明要解决的技术问题是提供一种集成已有的Web服务的事务框架和协议的面向服务组装的声明式事务集成方法和系统。
为解决上述技术问题,本发明采用如下技术方案:
本发明提供的面向服务组装的声明式事务集成方法,包括如下步骤,
(1)、对基于服务组装语言BPEL的服务组装规格说明进行预处理,识别并消除不同活动之间存在的事务依赖;(2)、对预处理后的所述服务组装规格说明进行事务策略的说明和注解,借助ECA定义所述事务处理的规则,对服务组装中指定的活动声明预期的事务策略,确保被注解的活动遵循一定的事务协议规范,预处理后的所述服务组装规格说明和所述事务策略的注解文件形成含事务注解的服务组装规格说明;(3)、解释和执行所述含事务注解的服务组装规格说明,完成预定业务的Web服务组装。
本发明提供的的面向服务组装的声明式事务集成系统,其特征在于:包括,服务组装规格说明模块,为预处理后的基于服务组装语言BPEL的服务组装规格说明,包括活动名称、活动运行时信息、事务信息、事务标识号、事务协议类型、根事务标识号;预处理后的所述服务组装规格说明使得不同活动之间不存在事务依赖;事务策略注释模块,为一组以活动为基本单位的ECA规则,所述ECA规则包括事件、条件和动作过程三部分;所述事件为执行BPEL过程时需要捕获的一些低层事件;所述条件为相关事件触发后执行事务处理过程时必须满足的条件,所述动作为具体的处理步骤;服务组装引擎模块,读取并解释所述服务组装规格说明;事务管理模块,侦听所述服务组装引擎模块执行中与所述事务处理相关的事件;在被注解活动执行时,读取所述事务策略注解文件。
本发明提供的面向服务组装的声明式事务集成方法和系统,利用现有的服务组装引擎和面向Web服务的事务协议的实现,部分支持服务组装中自动化的事务设计与执行,增强Web服务组装的可靠性。一方面,由于事务策略的注解使用声明式语言,不仅易于应用,而且支持在BPEL描述的业务过程中实施增量式的事务集成。另一方面,由于事务协议一次实现多次使用、事务策略的修改简单,实现了高效的事务管理。
根据所述面向服务组装的声明式事务集成方法的一种优选实施方式,其中,所述步骤(1)中预处理通过构造BPEL过程的抽象模型实现,基于所述抽象模型识别和消除活动之间的依赖冲突。
根据所述面向服务组装的声明式事务集成方法的一种优选实施方式,其中,所述BPEL过程的抽象模型记载活动之间至少包括活动名称、操作、输入变量、输出变量、源连接与目标连接的交互关系。
根据所述面向服务组装的声明式事务集成方法的一种优选实施方式,其中,所述步骤(2)中,所述指定的活动为BPEL过程中与远程Web服务交互的特定类型的活动。
根据所述面向服务组装的声明式事务集成方法的一种优选实施方式,其中,所述事务策略的注解由依据BPEL过程的抽象模型,遵循一种事务策略声明模板实现;其中,所述事务策略声明模板包括活动名称、活动运行时信息、事务信息、事务标识号、事务协议类型、根事务标识号。
根据所述面向服务组装的声明式事务集成方法的一种优选实施方式,其中,所述事务策略声明模板的表示采用XML语法格式;所述事务协议类型为WS-C或者WS-AT或者WS-BA。
根据所述面向服务组装的声明式事务集成方法的一种优选实施方式,其中,所述步骤(3)中通过定义事务处理规则的表示结构,解析与执行不同的事务策略的处理过程。
根据所述面向服务组装的声明式事务集成方法的一种优选实施方式,其中,所述事务处理规则的表示结构包括事件、条件和动作过程三部分;所述事件指明执行BPEL过程时需要捕获的一些低层事件,所述条件指明相关事件触发后执行事务处理过程时必须满足的条件,所述动作指明具体的处理步骤。
根据所述面向服务组装的声明式事务集成方法的一种优选实施方式,其中,采用BPEL引擎解释服务组装规格说明;采用事务管理模块管理事务的生命周期;调用相应地事务协议实现声明的所述事务协议类型的执行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个优选实施例的原理图;
图2为本发明一个优选实施例的含事务注解的服务组装规格说明的运行平台原理图。
具体实施方式
下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中服务组装语言与面向Web服务的事务协议分离造成不能有效支持可靠的Web服务组装的问题,本发明提供一种面向服务的组装的声明式事务继承方法和系统。
如图1所示,本发明提供的一个优选实施例的原理图,本发明从复用已有的事务协议中间件出发,重点解决如何将事务设计集成到服务组装中,从而增强服务组装实现的业务过程的可靠性。该方法通过对BPEL描述的服务组装规格说明进行注解,对指定的活动声明相关的事务策略,在运行时刻通过复用已有的事务协议的中间件,实现对所声明的事务策略的支持与执行。该方法并不扩展服务组装语言BPEL,因而无须修改BPEL引擎。
与传统的应用程序不同,BPEL描述的服务组装规格说明包含对远程Web服务调用的原子活动、以及各种活动之间的控制流。参与事务的对象是Web服务,同一Web服务的不同活动之间可能存在一定依赖关系。将事务概念引入到服务组装中,首先要对服务组装的规格说明进行预处理,即针对给定的一组从属于同一事务内的一组活动,判定注解的合理性。为此,本发明构造BPEL过程的抽象模型,开发识别与化解BPEL过程中活动之间事务依赖的方法。BPEL过程的抽象模型S描述了一组活动A以及活动间的依赖关系L,表示为S={A,L}。其中,对于任意的活动a∈A,a存在类型Ta并具有如下属性:活动名称Na;由Web服务的某个端口实现的操作OPa,操作OPa输入变量IVa和输出变量OVa;源连接SLa(指明离开该活动的连接)与目标连接TLa(指明进入该活动的连接)。
对于任意的连接lk∈L,lk具有如下属性:连接名称Nlk;连接方向lkd由两个活动a1∈A与a2∈A确定,其中lk为活动a1的源连接,a2的目标连接;连接条件lkc表明迁移在活动a1∈A与a2∈A之间发生的必要条件。
在BPEL过程中,人们只能对特定类型的活动请求事务管理。一个事务中的不同活动之间不应该存在直接的业务逻辑依赖,为此本发明开发了基于抽象模型的活动依赖冲突的检测与化解方法。方法的基本思想是在图上构造可达路径集合,然后针对可达路径上任意两个活动am和an,遍历am到an的所有连接,检查是否存在这样的一个连接lk,使得lk的连接条件lkc中涉及活动am的输出变量,如果存在,则表明存在事务依赖。如果所有的可达路径中都不找不到上述连接,则S中不存在事务依赖。
基于抽象模型的活动依赖冲突的化解方法,该方法借助活动依赖冲突的检测方法,发现存在事务依赖的活动对后,在得到服务组装的设计人员确认后,将这些活动进行合并处理。运用上述方法处理后,BPEL描述的服务组装规格说明中不再存在活动间的事务依赖。
经过上述预处理后,可以对BPEL描述的某些活动进行事务策略的注解。BPEL描述的服务组装规格说明中活动的类型包括Invoke,Assign,Reply和Receive等,其中Invoke活动描述了业务过程与远程Web服务交互;Assign活动描述了变量之间的值传递;Receive活动负责消息的输入;Reply活动负责消息的输出;其中,Receive与Reply必须匹配。对服务组装规格说明进行事务设计时,应对Invoke类型的活动进行事务策略的注解。为此,本发明提出了一种采用XMLSchema形式定义的事务策略声明模板,其中,activityName指明了注解活动的名称。<design-time-info>和<run-time-info>分别用来对服务组装中活动的设计时和运行时期望的特性进行注解。由于事务特性属于活动的运行时特性,因此应在<run-time-info>中定义。<trans-info>定义了事务策略的注解信息,其中<Trans_ID>定义了事务标识号,为一正整数;<Trans_Protocol>定义了被注解活动应遵循的事务协议类型,包括WS-AT和WS-BA;<Trans_Root>定义了被注解活动从属的根事务。如果该活动所在事务单元不存在根事务,则<Trans_Root>标识为0。
通过定义<Trans_ID>与<Trans_Root>,上述事务策略声明模板支持复杂业务流程中嵌套事务的声明。此外,上述事务策略声明模板中,事务策略可以与被注解活动的其它设计时或运行时特性一起定义,如服务的动态绑定,这意味着本发明提出的面向服务组装的声明式事务集成方法,可以兼容服务组装的多种扩展特性。
运用事务策略声明模板,对服务组装中指定的活动声明期望的事务策略。本发明支持增量式的事务声明方式。换言之,可以增量地对服务组装中某个活动追加或修改期望的事务协议。事务策略注解完成后,生成一个独立的XML文件。为了便于运行时支持与执行声明的事务策略,该XML文件应与服务组装规格说明BPEL文件存放于同一目录下。
通过上述步骤,完成了在原始的服务组装规格说明中实施事务设计。预处理后的服务组装规格说明与事务策略注解文件一起,形成了含事务注解的服务组装规格说明。为了解释并执行所声明的事务策略,本发明采用ECA(事件-条件-动作)规则为每个被注解的活动明确地定义事务处理规则,其中,事件为BPEL过程运行过程中需要捕获事务处理相关的一些事件,包括ActivityEnableEvent、ActivityExecStartEvent等事件类型,其中,“ActivityEnableEvent”指当前被解释的活动可以执行,“ActivityExecStartEvent”指当前活动执行已经开始;条件为包括活动执行前必须满足前提条件和活动执行后必须满足的后置条件;动作为响应事件而执行的一系列处理步骤。
在服务组装规格说明执行过程中,为了执行上述ECA事务处理规则,需要开发一个执行框架,解析与执行不同的事务策略的处理过程。该框架扩展服务组装的引擎,并复用事务协议的实现。
结合图2,说明运行时刻如何解释与执行含事务注解的服务组装规格说明。服务组装引擎读取并解释服务组装规格说明(即BPEL文件)。服务组装引擎在解释执行BPEL文件的过程中会产生各种事件,事务处理管理侦听与事务处理相关的一些事件。当被注解活动执行时,事务管理模块读取事务策略注解文件(即一组以活动为单位的ECA规则)。在事务策略注解文件中,以活动名称为关键字查询是否存在当前活动相关的事务策略规则。如果存在、并且满足ECA规则中的条件,则执行动作定义的各种处理步骤。在执行事务处理的步骤时,事务管理模块首先创建一个事务对象,执行指定的事务处理过程。活动将按照事务协议的规范执行,事务执行完毕后事务协议实现向事务处理管理发送事务处理结束消息,事务处理管理删除事务对象,并将控制权转交给服务组装引擎,服务组装引擎继续执行BPEL过程。如果不存在相关规则,或者存在相关规则但条件不满足,则事务处理管理忽略该事件,不做任何处理。
以下结合图1,以一种支持面向服务组装的声明式事务集成方法的平台DecTM4B为例,对本发明的技术方案进行详细说明。
首先,采用标准BPEL语言定义服务组装的规格说明。以Drop-dead Order系统(由分销商Distributor、供货方Supplier、运输方Carrier三方的Web服务组装构成的供应链系统)为例,首先,BPEL过程通过“Request Distribution”操作向分销商订购货物。如果订单是有效、而且分销商能够提供相关的服务,那么BPEL过程返回一个肯定的回复;否则,拒绝订单请求。分销商接受订单后,BPEL过程则寻求一个合适的供货方,通过“RequestSupply”操作请求供货。如果请求成功,BPEL过程继续寻求一个合适的运输方,通过“RequestDelivery”操作请求运输货物;否则,BPEL过程返回一个错误消息,提示不存在合适的供货方。相似地,如果发送给运输方的请求成功,BPEL过程通过“SupplyProduct”操作要求供货方提供货物、通过“DeliverProduct”操作要求运输方运输货物;如果请求不成功,BPEL过程返回一个错误消息,提示不存在合适的运输方。当将货物成功的交付给客户后,BPEL过程通过“CompleteDistribution”操作确认供货成功,返回一个成功的消息。
在实施事务策略注解之前,必须对上述服务组装规格说明进行预处理。在抽象BPEL模型基础上,应用活动依赖冲突的检测方法,发现Invoke活动RequestDistribution与CompleteDistribution之间存在事务依赖,类似的RequestSupply与SupplyProduct之间、RequestDilivery与DeliverProduct之间也存在事务依赖关系。为此,必须对存在事务依赖的活动进行合并。具体说来,将RequestDistribution与CompleteDistribution合并为分销活动CompleteDistribution,将RequestSupply与SupplyProduct合并为供货活动SupplyProduct,将RequestDilivery与DeliverProduct合并为运输活动DeliverProduct。
然后,对预处理后的服务组装规格说明实施事务设计。对于分销活动CompleteDistribution而言,只有当供货活动SupplyProduct与运输活动DeliverProduct都能在规定的时间内容完成,才能完成一个订单事务,否则必须拒绝订单请求,该事务适用WS-BA。对于供货活动SupplyProduct而言,要么供货,要么不供货,适用WS-AT。类似的,运输活动DeliverProduct适用WS-AT。另外,供货事务和运输事务从属于分销事务。相应地,遵循事务策略声明模板对上述三个活动进行注解,其中,CompleteDistribution所属的分销事务的Trans_ID为1,遵循WS-BA。SupplyProduct所属的运输事务的Trans_ID为2,遵循WS-AT。DeliverProduct所属的供货事务的Trans_ID为3,遵循WS-AT。CompleteDistribution的Trans_Root为0,表明该事务为根事务,而SupplyProduct和DeliverProduct的Trans_Root均为1,与CompleteDistributio的Trans_ID相同,因此从属于分销事务。
通过上述过程,得到预处理后的服务组装规格说明(BPEL文件)和事务策略注解文件,二者形成了含事务声明的服务组装规格说明。接下来,采用ECA规则定义所声明的事务策略的处理规则。以活动SupplyProduct的事务创建为例,符合Drools规范的ECA规则如下所示:
其中,规则名称Name中包含被注解的活动名称“SupplyProduct”。Parameter指明该规则处理的事件为“TransactionCreatedEvent”,该事件与BPEL引擎触发的低层事件“ActivityExecStartEvent”有关。Class指明了处理相关事件的Java程序实现。java:condition部分定义了应用该规则时必须满足的条件为“当前活动的名称必须为SupplyProduct而且声明的事务协议为WS-AT”。java:consequence部分定义了一系列的操作,具体的处理过程与声明的事务策略与事务上下文环境有关。
最后,在DecTM4B平台上运行上述含事务声明的服务组装规格说明时,采用ActiveBPEL引擎(一种BPEL引擎的实现版本)执行BPEL规格说明,事务处理管理模块侦听ActiveBPEL引擎的各种事件。当被注解的活动执行时,事务处理管理模块在事务策略注解文件中查询与本活动相关的ECA规则,采用Drools(一种基于Java语言实现的ECA规则引擎)解释ECA规则。WS-AT与WS-BA协议实现采用了JBoss中间件。
本发明将事务设计以一种声明的方式集成到服务组装规格说明中,增强了服务组装实现的业务过程的可靠性。通过本发明设计可靠的服务组装时,首先对服务组装的规格说明进行预处理,消除活动间存在事务依赖冲突,然后对预处理后的服务组装规格说明进行事务策略的声明与注解,借助ECA规则定义事务处理的规则,最后通过扩展后的服务组装引擎解释与支持声明的事务策略,保证活动的执行遵循相关的事务协议。本发明提供了服务组装规格说明的预处理技术、事务策略的注解方法、事务处理的规则定义、支持平台,是一个完整的面向服务组装的事务集成方案,在服务组装中实现了简单、高效的事务管理,填补了服务组装语言与面向Web的事务协议在集成方面的鸿沟,对于基于Web服务组装实现可靠的业务流程具有十分重要的意义。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种面向服务组装的声明式事务集成方法,其特征在于:包括如下步骤,
(1)、对基于服务组装语言BPEL的服务组装规格说明进行预处理,识别并消除不同活动之间存在的事务依赖;
(2)、对预处理后的所述服务组装规格说明进行事务策略的说明和注解,借助ECA定义所述事务处理的规则,对服务组装中指定的活动声明预期的事务策略,确保被注解的活动遵循一定的事务协议规范,预处理后的所述服务组装规格说明和所述事务策略的注解文件形成含事务注解的服务组装规格说明;
(3)、解释和执行所述含事务注解的服务组装规格说明,完成预定业务的Web服务组装。
2.根据权利要求1所述的方法,其特征在于:所述步骤(1)中预处理通过构造BPEL过程的抽象模型实现,基于所述抽象模型识别和消除活动之间的依赖冲突。
3.根据权利要求2所述的方法,其特征在于:所述BPEL过程的抽象模型记载活动之间至少包括活动名称、操作、输入变量、输出变量、源连接与目标连接的交互关系。
4.根据权利要求3所述的方法,其特征在于:所述步骤(2)中,所述指定的活动为BPEL过程中与远程Web服务交互的特定类型的活动。
5.根据权利要求4所述的方法,其特征在于:所述事务策略的注解由依据BPEL过程的抽象模型,遵循一种事务策略声明模板实现;其中,所述事务策略声明模板包括活动名称、活动运行时信息、事务信息、事务标识号、事务协议类型、根事务标识号。
6.根据权利要求5所述的方法,其特征在于:所述事务策略声明模板的表示采用XML语法格式;所述事务协议类型为WS-C或者WS-AT或者WS-BA。
7.根据权利要求6所述的方法,其特征在于:所述步骤(3)中通过定义事务处理规则的表示结构,解析与执行不同的事务策略的处理过程。
8.根据权利要求7所述的方法,其特征在于:所述事务处理规则的表示结构包括事件、条件和动作过程三部分;所述事件指明执行BPEL过程时需要捕获的一些低层事件,所述条件指明相关事件触发后执行事务处理过程时必须满足的条件,所述动作指明具体的处理步骤。
9.根据权利要求8所述的方法,其特征在于:采用BPEL引擎解释服务组装规格说明;采用事务管理模块管理事务的生命周期;调用相应地事务协议实现声明的所述事务协议类型的执行。
10.一种实现权利要求1-9任一所述方法的面向服务组装的声明式事务集成系统,其特征在于:包括,
服务组装规格说明模块,为预处理后的基于服务组装语言BPEL的服务组装规格说明,包括活动名称、活动运行时信息、事务信息、事务标识号、事务协议类型、根事务标识号;预处理后的所述服务组装规格说明使得不同活动之间不存在事务依赖;
事务策略注释模块,为一组以活动为基本单位的ECA规则,所述ECA规则包括事件、条件和动作过程三部分;所述事件为执行BPEL过程时需要捕获的一些低层事件;所述条件为相关事件触发后执行事务处理过程时必须满足的条件,所述动作为具体的处理步骤;
服务组装引擎模块,读取并解释所述服务组装规格说明;
事务管理模块,侦听所述服务组装引擎模块执行中与所述事务处理相关的事件;在被注解活动执行时,读取所述事务策略注解文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110034052 CN102073505B (zh) | 2011-01-31 | 2011-01-31 | 面向服务组装的声明式事务集成方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110034052 CN102073505B (zh) | 2011-01-31 | 2011-01-31 | 面向服务组装的声明式事务集成方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102073505A true CN102073505A (zh) | 2011-05-25 |
CN102073505B CN102073505B (zh) | 2013-09-25 |
Family
ID=44032051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110034052 Expired - Fee Related CN102073505B (zh) | 2011-01-31 | 2011-01-31 | 面向服务组装的声明式事务集成方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102073505B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426519A (zh) * | 2011-08-26 | 2012-04-25 | 北京邮电大学 | 基于关联数据的bpel模板和服务的复用方法及其系统 |
CN102664917A (zh) * | 2012-03-26 | 2012-09-12 | 河海大学 | 一种web服务组合在线失效预测的方法 |
CN102929629A (zh) * | 2012-10-31 | 2013-02-13 | 北京科技大学 | 基于方面的可靠web服务组装方法和系统 |
CN111198751A (zh) * | 2018-11-20 | 2020-05-26 | 北京京东尚科信息技术有限公司 | 业务处理方法和装置 |
CN112540834A (zh) * | 2020-12-18 | 2021-03-23 | 郑州阿帕斯数云信息科技有限公司 | 一种分布式事务中的缓存处理方法、装置及其设备 |
CN113760466A (zh) * | 2020-11-17 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 多事务处理方法、装置、计算机系统和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798031A (zh) * | 2004-12-27 | 2006-07-05 | 北京航空航天大学 | Web服务事务处理系统及处理方法 |
CN101267452A (zh) * | 2008-02-27 | 2008-09-17 | 华为技术有限公司 | 一种web服务合成方案转换方法及应用服务器 |
CN101354643A (zh) * | 2008-08-26 | 2009-01-28 | 中国科学院软件研究所 | 一种基于有状态方面的bpel流程运行时监控方法 |
CN101599010A (zh) * | 2008-06-02 | 2009-12-09 | 国际商业机器公司 | 流程处理方法和装置 |
CN101820428A (zh) * | 2010-04-22 | 2010-09-01 | 北京航空航天大学 | 基于协议组合机制的组合服务优化方法和装置 |
-
2011
- 2011-01-31 CN CN 201110034052 patent/CN102073505B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798031A (zh) * | 2004-12-27 | 2006-07-05 | 北京航空航天大学 | Web服务事务处理系统及处理方法 |
CN101267452A (zh) * | 2008-02-27 | 2008-09-17 | 华为技术有限公司 | 一种web服务合成方案转换方法及应用服务器 |
CN101599010A (zh) * | 2008-06-02 | 2009-12-09 | 国际商业机器公司 | 流程处理方法和装置 |
CN101354643A (zh) * | 2008-08-26 | 2009-01-28 | 中国科学院软件研究所 | 一种基于有状态方面的bpel流程运行时监控方法 |
CN101820428A (zh) * | 2010-04-22 | 2010-09-01 | 北京航空航天大学 | 基于协议组合机制的组合服务优化方法和装置 |
Non-Patent Citations (4)
Title |
---|
CHANG-AI SUN ETC AL: "Transaction Management in Service-Oriented Systems: Requirements and a Proposal", 《IEEE TRANSACTIONS ON SERVICES COMPUTING》 * |
CHANG-AI SUN: "Towards Transaction-based Reliable Service Compositions", 《2009 33RD IEEE INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE》 * |
杨怀洲等: "在面向业务的体系结构中实现业务合成", 《北京邮电大学学报》 * |
虞建杰等: "一种动态服务组合技术及其支撑系统", 《计算机科学》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426519A (zh) * | 2011-08-26 | 2012-04-25 | 北京邮电大学 | 基于关联数据的bpel模板和服务的复用方法及其系统 |
CN102426519B (zh) * | 2011-08-26 | 2014-03-26 | 北京邮电大学 | 基于关联数据的bpel模板和服务的复用方法及其系统 |
CN102664917A (zh) * | 2012-03-26 | 2012-09-12 | 河海大学 | 一种web服务组合在线失效预测的方法 |
CN102664917B (zh) * | 2012-03-26 | 2014-10-08 | 河海大学 | 一种web服务组合在线失效预测的方法 |
CN102929629A (zh) * | 2012-10-31 | 2013-02-13 | 北京科技大学 | 基于方面的可靠web服务组装方法和系统 |
CN102929629B (zh) * | 2012-10-31 | 2016-02-03 | 北京科技大学 | 基于方面的可靠web服务组装方法和系统 |
CN111198751A (zh) * | 2018-11-20 | 2020-05-26 | 北京京东尚科信息技术有限公司 | 业务处理方法和装置 |
CN111198751B (zh) * | 2018-11-20 | 2024-02-02 | 北京京东尚科信息技术有限公司 | 业务处理方法和装置 |
CN113760466A (zh) * | 2020-11-17 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 多事务处理方法、装置、计算机系统和可读存储介质 |
CN112540834A (zh) * | 2020-12-18 | 2021-03-23 | 郑州阿帕斯数云信息科技有限公司 | 一种分布式事务中的缓存处理方法、装置及其设备 |
CN112540834B (zh) * | 2020-12-18 | 2023-04-14 | 郑州阿帕斯数云信息科技有限公司 | 一种分布式事务中的缓存处理方法、装置及其设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102073505B (zh) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9256413B2 (en) | Automatic identification of services | |
Klusch | Intelligent information agents: agent-based information discovery and management on the Internet | |
US8560372B2 (en) | Compiling workflows into instructions for a state correlation engine | |
US20110154302A1 (en) | Adding services to application platform via extension | |
CN102291464B (zh) | BPM中业务流程动态生成Web Service的系统及方法 | |
Norta et al. | Specification and verification of harmonized business-process collaborations | |
CN101873334B (zh) | 一种状态驱动的可执行业务流程执行方法 | |
CN102073505B (zh) | 面向服务组装的声明式事务集成方法和系统 | |
Elmagarmid et al. | Workflow management: State of the art versus state of the products | |
Silcher et al. | A service-based approach for next-generation product lifecycle management | |
Walton et al. | An agent-based e-science experiment builder | |
CN114416064A (zh) | 基于bpmn2.0的分布式服务编排系统及方法 | |
Scherp | A framework for model-driven scientific workflow engineering | |
Li et al. | Flows and views for scalable scientific process integration | |
Papazoglou et al. | From business processes to cooperative information systems: an information agents perspective | |
Rauf et al. | Beyond crud | |
Kumar et al. | Raising programming abstraction from objects to services | |
IOVAN et al. | ENTERPRISE SERVICES ARCHITECTURE IN THE WORLD OF INFORMATION TECHNOLOGY. | |
Park et al. | Knowledge‐based AOP framework for business rule aspects in business process | |
Khriss et al. | Towards adaptability support in collaborative business processes | |
US10067749B2 (en) | Generating consumer-oriented APIs from a UI model | |
Tremblay et al. | Towards specifying contracts and protocols for Web services | |
Zaupa et al. | A Service-oriented Process to Develop Web Applications. | |
Urban et al. | Decentralized data dependency analysis for concurrent process execution | |
Yin et al. | Research of Rule Engines in Web Service Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130925 |
|
CF01 | Termination of patent right due to non-payment of annual fee |