CN102073505B - 面向服务组装的声明式事务集成方法和系统 - Google Patents

面向服务组装的声明式事务集成方法和系统 Download PDF

Info

Publication number
CN102073505B
CN102073505B CN 201110034052 CN201110034052A CN102073505B CN 102073505 B CN102073505 B CN 102073505B CN 201110034052 CN201110034052 CN 201110034052 CN 201110034052 A CN201110034052 A CN 201110034052A CN 102073505 B CN102073505 B CN 102073505B
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.)
Expired - Fee Related
Application number
CN 201110034052
Other languages
English (en)
Other versions
CN102073505A (zh
Inventor
孙昌爱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology Beijing USTB
Original Assignee
University of Science and Technology Beijing USTB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Science and Technology Beijing USTB filed Critical University of Science and Technology Beijing USTB
Priority to CN 201110034052 priority Critical patent/CN102073505B/zh
Publication of CN102073505A publication Critical patent/CN102073505A/zh
Application granted granted Critical
Publication of CN102073505B publication Critical patent/CN102073505B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 ProcessExecution 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的服务组装规格说明进行预处理,识别并消除不同活动之间存在的事务依赖;具体为:基于抽象模型的活动依赖冲突的检测与化解方法,在图上构造可达路径集合,然后针对可达路径上任意两个活动am和an,遍历am到an的所有连接,检查是否存在这样的一个连接lk,使得lk的连接条件lkc中涉及活动am的输出变量,如果存在,则表明存在事务依赖;如果所有的可达路径中都不找不到上述连接,则S中不存在事务依赖;发现存在事务依赖的活动对后,在得到服务组装的设计人员确认后,将这些活动进行合并处理;
所述预处理通过构造BPEL过程的抽象模型实现,基于所述抽象模型识别和消除活动之间的依赖冲突;所述BPEL过程的抽象模型记载活动之间至少包括活动名称、操作、输入变量、输出变量、源连接与目标连接的交互关系;
(2)对预处理后的所述服务组装规格说明进行事务策略的说明和注解,借助ECA定义所述事务处理的规则,对服务组装中指定的活动声明预期的事务策略,确保被注解的活动遵循一定的事务协议规范,预处理后的所述服务组装规格说明和所述事务策略的注解文件形成含事务注解的服务组装规格说明;
所述借助ECA定义所述事务处理的规则,为对服务组装规格说明进行事务设计时,应对Invoke类型的活动进行事务策略的注解;采用XML Schema形式定义的事务策略声明模板,其中,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;
所述指定的活动为BPEL过程中与远程Web服务交互的特定类型的活动;所述事务策略的注解由依据BPEL过程的抽象模型,遵循一种事务策略声明模板实现;其中,所述事务策略声明模板包括活动名称、活动运行时信息、事务信息、事务标识号、事务协议类型、根事务标识号;所述事务策略声明模板的表示采用XML语法格式;所述事务协议类型为WS-C或者WS-AT或者WS-BA;
所述通过定义事务处理规则的表示结构,解析与执行不同的事务策略的处理过程;
所述事务处理规则的表示结构包括事件、条件和动作过程三部分;所述事件指明执行BPEL过程时需要捕获的一些低层事件,所述条件指明相关事件触发后执行事务处理过程时必须满足的条件,所述动作指明具体的处理步骤;
采用BPEL引擎解释服务组装规格说明;采用事务管理模块管理事务的生命周期;调用相应地事务协议实现声明的所述事务协议类型的执行;
(3)解释和执行所述含事务注解的服务组装规格说明,完成预定业务的Web服务组装。
本发明提供的面向服务组装的声明式事务集成系统,包括:服务组装规格说明模块,为预处理后的基于服务组装语言BPEL的服务组装规格说明,包括活动名称、活动运行时信息、事务信息、事务标识号、事务协议类型、根事务标识号;预处理后的所述服务组装规格说明使得不同活动之间不存在事务依赖;事务策略注释模块,为一组以活动为基本单位的ECA规则,所述ECA规则包括事件、条件和动作过程三部分;所述事件为执行BPEL过程时需要捕获的一些低层事件;所述条件为相关事件触发后执行事务处理过程时必须满足的条件,所述动作为具体的处理步骤;服务组装引擎模块,读取并解释所述服务组装规格说明;事务管理模块,侦听所述服务组装引擎模块执行中与所述事务处理相关的事件;在被注解活动执行时,读取所述事务策略注解文件。
本发明提供的面向服务组装的声明式事务集成方法和系统,利用现有的服务组装引擎和面向Web服务的事务协议的实现,部分支持服务组装中自动化的事务设计与执行,增强Web服务组装的可靠性。一方面,由于事务策略的注解使用声明式语言,不仅易于应用,而且支持在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过程通过“RequestDistribution”操作向分销商订购货物。如果订单是有效、而且分销商能够提供相关的服务,那么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 (2)

1.一种面向服务组装的声明式事务集成方法,其特征在于,包括如下步骤: 
⑴对基于服务组装语言BPEL的服务组装规格说明进行预处理,识别并消除不同活动之间存在的事务依赖;具体为:基于抽象模型S的活动依赖冲突的检测与化解方法,在图上构造可达路径集合,然后针对可达路径上任意两个活动am和an,遍历am到an的所有连接,检查是否存在这样的一个连接lk,使得lk的连接条件lkc中涉及活动am的输出变量,如果存在,则表明存在事务依赖;如果所有的可达路径中都找不到上述连接,则S中不存在事务依赖;发现存在事务依赖的活动对后,在得到服务组装的设计人员确认后,将这些活动进行合并处理; 
所述预处理通过构造BPEL过程的抽象模型实现,基于所述抽象模型识别和消除活动之间的依赖冲突;所述BPEL过程的抽象模型记载活动之间至少包括活动名称、操作、输入变量、输出变量、源连接与目标连接的交互关系; 
⑵对预处理后的所述服务组装规格说明进行事务策略的说明和注解,借助ECA定义所述事务处理的规则,对服务组装中指定的活动声明预期的事务策略,确保被注解的活动遵循一定的事务协议规范,预处理后的所述服务组装规格说明和所述事务策略的注解文件形成含事务注解的服务组装规格说明; 
所述借助ECA定义所述事务处理的规则,为对服务组装规格说明进行事务设计时,应对Invoke类型的活动进行事务策略的注解;采用XML Schema形式定义的事务策略声明模板,其中,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; 
所述指定的活动为BPEL过程中与远程Web服务交互的特定类型的活动;所述事务策略的注解由依据BPEL过程的抽象模型,遵循一种事务策略声明模板实现;其中,所述事务策略声明模板包括活动名称、活动运行时信息、事务信息、事务标识号、事务协议类型、根事务标识号;所述事务策略声明模板的表示采用XML语法格式;所述事务协议类型为WS-C或者WS-AT或者WS-BA; 
⑶解释和执行所述含事务注解的服务组装规格说明,完成预定业务的Web服务组装; 
其中,通过定义事务处理规则的表示结构,解析与执行不同的事务策略的处理过程; 
所述事务处理规则的表示结构包括事件、条件和动作过程三部分;所述事件指明执行BPEL过程时需要捕获的一些低层事件,所述条件指明相关事件触发后执行事务处理过程时必须满足的条件,所述动作指明具体的处理步骤; 
采用BPEL引擎解释服务组装规格说明;采用事务管理模块管理事务的生命周期;调用相应地事务协议实现声明的所述事务协议类型的执行。 
2.一种实现权利要求1所述方法的面向服务组装的声明式事务集成系统,其特征在于,包括: 
服务组装规格说明模块,提供预处理后的基于服务组装语言BPEL的服务组装规格说明,包括活动名称、活动运行时信息、事务信息、事务标识号、事务协议类型、根事务标识号;预处理后的所述服务组装规格说明使得不同活动之间不存在事务依赖; 
事务策略注释模块,提供一组以活动为基本单位的ECA规则,所述ECA规则包括事件、条件和动作过程三部分;所述事件为执行BPEL过程时需要捕获的一些低层事件;所述条件为相关事件触发后执行事务处理过程时必须满足的条件,所述动作为具体的处理步骤; 
服务组装引擎模块,读取并解释所述服务组装规格说明; 
事务管理模块,侦听所述服务组装引擎模块执行中与所述事务处理相关的 事件;在被注解活动执行时,读取所述事务策略注解文件。 
CN 201110034052 2011-01-31 2011-01-31 面向服务组装的声明式事务集成方法和系统 Expired - Fee Related CN102073505B (zh)

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 CN102073505A (zh) 2011-05-25
CN102073505B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426519B (zh) * 2011-08-26 2014-03-26 北京邮电大学 基于关联数据的bpel模板和服务的复用方法及其系统
CN102664917B (zh) * 2012-03-26 2014-10-08 河海大学 一种web服务组合在线失效预测的方法
CN102929629B (zh) * 2012-10-31 2016-02-03 北京科技大学 基于方面的可靠web服务组装方法和系统
CN111198751B (zh) * 2018-11-20 2024-02-02 北京京东尚科信息技术有限公司 业务处理方法和装置
CN112540834B (zh) * 2020-12-18 2023-04-14 郑州阿帕斯数云信息科技有限公司 一种分布式事务中的缓存处理方法、装置及其设备

Citations (5)

* Cited by examiner, † Cited by third party
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 北京航空航天大学 基于协议组合机制的组合服务优化方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
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 (8)

* Cited by examiner, † Cited by third party
Title
Chang-ai Sun etc al.Transaction Management in Service-Oriented Systems: Requirements and a Proposal.《IEEE Transactions on Services Computing》.2011,第4卷(第2期),第167-180 页.
Chang-ai Sun.Towards Transaction-based Reliable Service Compositions.《2009 33RD IEEE INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE》.2009,第216-221页.
Towards Transaction-based Reliable Service Compositions;Chang-ai Sun;《2009 33RD IEEE INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE》;20090724;第216-221页 *
Transaction Management in Service-Oriented Systems: Requirements and a Proposal;Chang-ai Sun etc al;《IEEE Transactions on Services Computing》;20110630;第4卷(第2期);第167-180页 *
一种动态服务组合技术及其支撑系统;虞建杰等;《计算机科学》;20081231;第35卷(第12期);第234-238页 *
在面向业务的体系结构中实现业务合成;杨怀洲等;《北京邮电大学学报》;20041231;第27卷(第6期);第101-106页 *
杨怀洲等.在面向业务的体系结构中实现业务合成.《北京邮电大学学报》.2004,第27卷(第6期),第101-106页.
虞建杰等.一种动态服务组合技术及其支撑系统.《计算机科学》.2008,第35卷(第12期),第234-238页.

Also Published As

Publication number Publication date
CN102073505A (zh) 2011-05-25

Similar Documents

Publication Publication Date Title
US8560372B2 (en) Compiling workflows into instructions for a state correlation engine
Klusch Intelligent information agents: agent-based information discovery and management on the Internet
Sheng et al. Configurable composition and adaptive provisioning of web services
Norta et al. Specification and verification of harmonized business-process collaborations
CN101873334B (zh) 一种状态驱动的可执行业务流程执行方法
CN106230987A (zh) 一种基于电力PaaS云平台的信息集成系统及方法
EP2587448A1 (en) Selective change propagation techniques for supporting partial roundtrips in model-to-model transformations
US20200356607A1 (en) Case leaf nodes pointing to business objects or document types
CN102073505B (zh) 面向服务组装的声明式事务集成方法和系统
Elmagarmid et al. Workflow management: State of the art versus state of the products
Walton et al. An agent-based e-science experiment builder
Ali et al. Unified management of control flow and data mismatches in web service composition
Li et al. Flows and views for scalable scientific process integration
Jang et al. An event-driven workflow engine for service-based business systems
Scherp A framework for model-driven scientific workflow engineering
Kumar et al. Raising programming abstraction from objects to services
Park et al. Knowledge‐based AOP framework for business rule aspects in business process
Khriss et al. Towards adaptability support in collaborative business processes
Tremblay et al. Towards specifying contracts and protocols for Web services
Liu Integration of model driven engineering and ontology approaches for solving interoperability issues
Andonoff et al. Specifying workflow web services using petri nets with objects and generating of their owl-s specifications
Zhang et al. Modeling and analysis of 3D Printing WS-BPEL business processes based on servicenet
Batini et al. A Methodology for the Integration of Service Repositories
Ratnayake Best practices for monolithic to microservice transformation
Gorton Policy-driven Reconfiguration of Service-targeted Business Processes

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