结合经济补偿的以Artifact为中心的业务流程失败恢复方法
2015-12-17覃海焕
覃海焕
(上海电机学院 电子信息学院, 上海 200240)
结合经济补偿的以Artifact为中心的业务流程失败恢复方法
覃海焕
(上海电机学院 电子信息学院, 上海 200240)
摘要:失败恢复是业务流程管理中很重要的问题。针对现实商业活动中,协作的商家希望能够结合经济补偿和技术方法来恢复失败流程的需求,提出了一种结合上下文和经济补偿的以artifact为中心的业务流程失败恢复方法,给出了一种支持(条件)替代服务和经济补偿规则定义的事务模型以及一种结合经济补偿和条件替代的失败恢复机制,可实现流程尽可能地向前恢复,并在向后恢复时考虑级联经济补偿。通过案例分析证实了方法的可行性。
关键词:失败恢复; 经济补偿; 以Artifact为中心的业务流程
业务流程已成为现代组织保持持久竞争力的必备品。在面向服务的环境下,一个业务流程通过组合一系列服务来完成特定的业务目标,这些服务通常由独立的组织提供。由多方协作的、长时间执行的业务流程容易出现各种错误,如服务执行错误、服务QoS(Quality of Service)异常等。为保证业务流程能够正确可靠地执行,以尽可能地达成既定业务目标,在流程遭遇错误时,需要结合运行时上、下文尽可能地处理好错误,使流程能够继续执行,即向前恢复;若无法向前恢复,则将流程(语义)回退到其初始状态,即向后恢复。
目前,已有不少工作是利用运行时的上、下文信息来实现动态服务适应[1-6]和异常恢复机制优化的[7-10]。前者专注于事务的向前恢复机制,采用基于规则或基于目标的服务适应策略,未涉及异常的分类处理。文献[7]中对异常进行分类并定义了相应的恢复起点,但其异常分类模型中并未区分交互异常和非交互异常;交互异常通常会涉及服务QoS异常,其恢复方法也不尽相同。文献[8-11]中侧重于健壮的异常处理和适度的失败恢复的研究。
然而,上述工作均未考虑经济补偿的影响。在现实商业活动中,协作的商家总是希望能够通过经济补偿或技术方法向前恢复失败的流程,而非简单地回滚,导致全输的局面。为此,文献[12]中提出了一种基于经济补偿的事务管理模型。该模型总是尝试通过经济补偿向前恢复失败流程,而非通过回滚恢复数据一致性。但并非所有的流程异常都可以通过经济补偿实现向前恢复,如用户取消异常会导致流程回退,且可能涉及经济补偿。因此,事务模型需要区分错误类型并采取不同的恢复方式。文献[13]中的业务事务模型给出了业务相关元素的服务等级协议,但并未给出相应的运行时的错误恢复机制。
因此,亟待开发一种新的事务模型,以支持异常分类及对事务恢复过程中上下文和经济补偿的综合考虑,尽量促使流程执行完成,并减少流程失败造成的协作方的损失。本文提出了一种结合上下文和经济补偿的以Artifact为中心的业务流程事务模型,支持条件替代服务、经济补偿规则的定义;给出了一种区分异常类型的、综合考虑了上下文和经济补偿的恢复机制,以尽可能地实现异常的向前恢复;并在流程向后恢复时考虑可能的级联经济补偿,以降低其他参与者的经济损失。最后通过案例研究验证了方法的可行性。
1业务流程中的异常
图1展示了一个生产厂商的订单处理场景,用以Artifact为中心的业务流程模型EZFlow表示[14],其汇集的业务数据和实例状态有助于提供运行时的上下文。该场景涉及客户采购流程、厂商订单处理流程和物流公司的货运流程,相应的核心Artifact分别标识为采购单(PO)、订单(Order)和货运单(SO),其信息模型和流程模型分别如图1(a)、1(b)所示。图中,虚线表示流程间的消息交互。在接收到客户订单(RO)后,厂商依据订单进行原材料采购(PPO),安排货运(AS),进行生产组装(AP),之后装箱发货(IP)及发送票据(SB),收到付款(RP)后发送提货单(SBL),最后结案订单(CO)。流程从接收订单到完成订单历时很长,期间可能会遭遇各类异常,如服务执行异常、服务超期完成、服务完成质量未达到双方商定的要求、用户取消异常等,最终导致出货延期甚至流程失败。
根据服务是执行失败、QoS异常还是被用户取消,以及服务是否与协作者有交互、服务异常是否涉及经济补偿等问题,本文将异常分为如下4类。
(1) 服务QoS异常。在一定条件下,此类异常可通过经济补偿实现向前恢复;若条件不满足,则需在经济补偿之后,再根据服务可采取的恢复方法进行向前或向后恢复。如服务PPO未能按时发货,导致后续产品发货延期,若预期延迟时间在客户可接受范围内,则客户可能在获得适当的经济补偿后同意流程继续执行;否则,客户可能取消订单。
(2) 交互服务功能异常。指与协作者有交互的服务发生执行异常。此类异常需先进行经济补偿(若导致了经济损失),再根据服务可采取的恢复方法进行向前或向后恢复。如交互服务PPO出现异常,厂商要求供应商给予经济补偿,若时间允许则重新采购原料,流程继续执行;否则回退流程。
(3) 非交互服务功能异常。指流程内部不与
图1 厂商的订单处理场景Fig.1 Order processing scenario of manufacturer
协作者交互的服务发生执行异常。恢复时直接根据服务可采取的恢复方法进行向前或向后恢复。
(4) 用户取消异常。指用户在执行过程中进行了取消操作,通常会涉及(级联)经济补偿。恢复时首先根据预先商定的关于取消的经济补偿策略进行经济补偿,然后从流程最终执行的活动开始进行流程的向后恢复。
上述异常中,除用户取消异常外,流程的向后恢复也可能会导致合作伙伴间的级联经济补偿。为支持这些异常的有效恢复,流程事务模型需要支持经济补偿规则、服务可采取的恢复方法及合作伙伴的定义,并针对不同的异常类别制定不同的恢复机制。
2结合经济补偿的以Artifact为中心的业务流程事务模型
2.1 相关概念
在EZFlow[14-15]中,一个业务流程表示为artifact类、任务、资源库和工作流定义、以一个核心Artifact类承载其业务数据和执行信息。Artifact类A是一个元组:A= (name,Atts),其中,name为其名称;Atts为其相关属性集。每个Artifact类总是包含一个属性ID,以表示Artifact实例的唯一标识。
定义1一个EZFlow工作流定义是一个七元组(C,Γ,R,M,T,F,G),其中:
(1)C为核心Artifact类;Γ为一组辅助Artifact类的集合;R为一组资源库集合;M为一组消息类型集合;T为一组任务集合。
(2)F将T中的每个任务t映射到一个二元组(mi;mo),mi为触发t所需要的消息类型,mo为t产生的消息类型。每个消息类型只能由一个任务产生,也只能用来触发一个任务。
(3)G为一组三元组(u,v,g)的集合,其中,u∈R且v∈T,或u∈T且v∈R;g为边(u,v)上的哨函数。
EZFlow用快照来表示工作流W的即时系统状态,包含Artifact类表、工作流执行信息表等。当一个外部消息到达或一个任务执行完成时,工作流从一个快照迁移到另一个快照,沿着Artifact的生命周期不断推进。一个工作流的执行是系统状态和任务的一个交替序列s0t0s1t1…tn-1sn,其中,s0是系统初始状态,t0为系统的初始任务,其后每个si+1可通过ti推导得出,0≤i 依据活动在遭遇异常时采用的恢复方法,可将活动的恢复属性分为4类: 可忽略、可重试、可(条件)替代和可补偿。 定义2给定一个EZFlowEZ,其事务属性定义为一个映射:Tx:T→{(rec,Sub,t-1)},将EZ任务集中的每个任务t映射到元组(rec,Sub,t-1)。 (1)rec为t的恢复属性,可为ign、retr、subs和comp的任意组合,如A&B,表示同时具有原子恢复属性A和B。ign表示失败可忽略;retr表示t可在有限次重试中成功完成;subs表示t可替代,在t失败时可调用Sub集合中的替代服务进行恢复;comp表示t可补偿,即若异常在t执行完成后发生,t的副作用可通过其补偿任务t-1进行语义撤销。 (2)Sub为替代服务集,替代服务可为条件形式,如if condition then subservice,其中,condition为定义在artifact属性上的条件表达式,subservice为功能等价的服务。 上述恢复属性中,可忽略(ign)、可重试(retr)、可替代(subs)为向前恢复,可补偿(comp)为向后恢复。在进行失败恢复时,先尝试向前恢复(若有),若不能恢复,则再尝试向后恢复,称为基于事务属性的恢复。在运行时可依据上下文信息选择满足条件的替代服务,避免无效的恢复尝试。 为结合经济补偿进行流程恢复,协作各方需在业务协作之前就协作过程中可能遭遇的异常的恢复方式达成协议,包括经济补偿及基于恢复属性的恢复方法。 定义3一个交互异常恢复规则rule是一个四元组(name,type,faultP,recovery)。 (1)name为规则名称。 (2)type为规则类型,其取值为 type=post/exception/cancel 其中,post表示后置条件异常,服务QoS异常属于这一类;exception表示执行异常,交互服务功能异常属于这一类;cancel针对用户取消行为进行定义。 (3)faultP定义引发异常的一方,在规则类型为cancel时,必须定义。 (4)recovery定义规则的恢复行为,如if conditionthen recovery,其中,condition为artifact或异常消息属性上的条件表达式。 复杂恢复行为为单个恢复行为的组合,如rec1‖rec2,表示恢复时会先尝试rec1,若没有成功,再尝试rec2。每个恢复行为为恢复操作的“与”表达式,用&&连接,表示恢复行为包含所有的恢复操作。恢复操作可分为经济补偿、基于事务属性的恢复或基于事务属性的向后恢复。其中,经济补偿为过错方向经济损失方支付一定金额的补偿方式,定义为 FinComp(payer, payee, amount) 其中,payer和payee分别表示付款方和收款方;amount为补偿金额。如交互服务PPO的供应商超期送货恢复规则可定义如下: (VendorDlay,post,,if(Order.PORecvDate>Order. POPlanRecvDate) &&(Order.PORecvDate≤(Order. POPlanRecv Date+2)) then FinComp(Order.vendor, self,Order.totalAmt*0.01)) 这条规则表示若供应商的送货时间有2天以内的延迟,则需支付给厂商订单金额的1%作为经济补偿。 在交互服务异常、用户取消异常或流程向后恢复时,可能需要对流程参与者进行经济补偿,而这可能会进一步导致合作伙伴间的级联经济补偿。本文从一个组织的角度定义其业务流程的合作伙伴关系。 定义4给定一个EZFlowEZ,参与EZ的一个合作伙伴关系pr是一个五元组(p,role,IA,Rules,ε)。 (1)p为一种合作伙伴类型,可为协作的artifact、单位或个人,如客户。 (2)role为p在业务协作中扮演的角色,可为client或provider。 (3)IA为EZ与p有交互的活动集合。 (4)Rules为一组规则集合,定义EZ与p交互中违约异常的经济补偿规则。 (5)ε:IA→{SubRules|SubRules⊆Rules},将活动集IA中的每个活动映射到Rules的一个子集SubRules。若SubRules为空则表示相应活动没有定义恢复规则。 只有外部环境或合作伙伴间才可以交换消息,因此,用ext表示外部环境,用self表示当前流程,定义流程的基于合作伙伴关系的消息类型如下。 定义5给定一个EZFlowEZ的合作伙伴关系集合PR={(p,role,IA,Rules,ε)},基于PR的消息类型msg是一个五元组(name,Atts,ps,pr,type)。 (1)name为唯一的消息名称;Atts为消息的属性集。 (2)ps和pr分别为消息发送者和接收者,至少其中之一须为self,另一个可为ext或合作伙伴类型;若两者均为self,则表示EZ的内部消息。 (3)type为消息类别,可为N、P、E或C。其中,N为正常的交互消息;P为QoS异常消息;E为执行异常消息;C为取消异常消息。 综合上文,本文综合考虑了经济补偿恢复策略和上下文感知的以Artifact为中心的业务流程事务模型EZFlow-fcaTx如下。 定义6结合上下文和经济补偿的以Artifact为中心的业务流程事务模型EZFlow-fcaTx是一个四元组(EZ,Tx,PR,MSG)。 (1)EZ为一个EZFlow定义;Tx为EZ的事务属性。 (2)PR为EZ的合作伙伴关系集合;MSG为PR上的消息类型集合。 在正常执行时,事务工作流EZFlow-fcaTx的执行与EZFlow的执行类似,由消息类别为N的消息触发流程的执行,执行中的任务序列t0t1…tn组成了一个工作流事务,其中,每个任务是一个保持了ACID属性的子事务。若在EZFlow-fcaTx的执行过程中,某个任务ti的执行结果不满足该任务的后置条件,则会抛出类别为P的消息。当工作流引擎接收到消息类别为E、C或P的消息时,表示流程出现了异常,将启动流程恢复程序。 3失败恢复机制 为针对每一类异常采用不同的恢复机制,在异常发生时,首先需要判断异常类型,可根据失败流程实例Ii接收到的消息类型msg进行判定: ① 若消息类别msg.type为P,则为服务QoS异常QoSEx;② 若msg.type为C,则为用户取消异常CancelEx;③ 若msg.type为E,需检查失败活动是否为交互活动,若是,则异常类型为交互服务功能异常IFunEx;否则,为非交互服务功能异常NIFunEx。异常类型判定算法GetExceptionType简要列出如下: InputIi: the failed instance, msg: the received message type; OutputexType: exception type, values: QoSEx, CancelEx, IFunEx or NIFunEx; 1. if msg.type==“P”then exType←“QoSEx”; ∥服务QoS异常 2. else if msg.type==“C” then exType←“CancelEx”; ∥取消异常 3. else if msg.type==“E” then exType← “NIFunEx”; ∥非交互服务功能异常 failedTask←GetFailedTast(Ii); IsInteractiveTask←CheckInteractives(msg.ps, failedTask,Ii.PR);←CheckInteractives(msg.ps, failedTask,Ii.PR); if IsInteractiveTask is true then exType←“IFunEx”; ∥交互服务功能异常 其中,CheckInteractives函数检查failedTask是否为交互任务,若是,返回true;否则,返回false。检查方法如下: ① 从流程Ii的合作伙伴关系集Ii.PR中检索合作伙伴为msg.ps的合作伙伴关系pr;② 若pr为空,则failedTask为非交互活动,返回false;否则检查failedTask是否存在于pr的交互活动集pr.IA中,若存在,则failedTask为交互活动,返回true;否则返回false。 本文针对每一类异常,给出基于EZFlow-fcaTx的失败恢复方法。 3.2.1用户取消异常恢复客户取消业务流程α的实例Ii时,是否会导致α的参与者产生经济损失,取决于协作双方的取消异常补偿规则及Ii当前的执行状态。因此,用户取消Ii的恢复方法包含以下3个步骤。 (1) 进行经济补偿(若需要)。检查流程α的合作伙伴关系集PR中合作类型为Customer的合作伙伴关系pr,其规则集Rules中是否包含规则类型为cancel的规则,若有,则按照该规则的恢复行为recovery进行经济补偿。 (2) 进行级联经济补偿(若需要)。先确定Ii已执行完成任务中的交互任务集,记为IT;然后依据IT进行级联经济补偿: 若IT非空,则依次对IT中的每个任务,从合作伙伴PR中查到提供该服务的合作伙伴关系pr,依据pr.Rules中类型为cancel的规则(若有)进行经济补偿。 3.2.2非交互服务功能异常恢复只需对异常任务tk执行基于事务属性的恢复。步骤如下: (1) 尝试向前恢复流程。检查tk的事务恢复属性rec,若包含ign,则忽略该异常;若包含retr,则重复调用tk,直到tk能够成功完成;若包含subs,则用当前流程数据评估替代任务集Sub中任务的条件,选择条件为真的替代任务重新执行。若rec不包含上述向前恢复属性,则执行下一步。 (2) 执行流程的向后恢复。进行级联经济补偿(若需要),与用户取消异常恢复的步骤(2)类似;然后从任务tk-1开始向后恢复。 3.2.3交互服务功能异常恢复此类异常可能会导致合作伙伴产生经济损失,因此恢复方法包含两步: 先进行经济补偿(若需要),再进行基于事务恢复属性的恢复。 遭遇异常的交互服务tk的经济补偿方法与用户取消异常恢复的步骤(1)类似,只是恢复规则为合作伙伴关系中规则映射函数ε所定义的tk的恢复规则。若流程需要向后恢复,则可能涉及的级联经济补偿,与用户取消异常恢复的步骤(2)类似。 3.2.4服务QoS异常恢复此类异常在与合作伙伴进行交互时发生,可通过监控交互服务的执行结果来发现这类异常。 在流程实例Ii的执行过程中,当交互任务tk执行完成时,引擎取出其合作伙伴关系PR中与tk相关联的类型为post的规则集postRules。若postRules为空,表示该服务没有QoS限定;否则,依次评估postRules中的每条规则;若规则的条件满足,则触发规则所定义的恢复行为。若流程需要向后恢复,则可能涉及的级联经济补偿,与用户取消异常恢复的步骤(2)类似。 4案例研究 本文通过对流程实例(见图1)进行异常恢复来验证方法的可行性。假设厂商流程Order的部分事务属性Tx、合作伙伴关系集合PR分别如表1、2所示(表1中的上标“-1”表示相应任务的补偿任务)。 表2中的规则定义如下: (1) Customer (“CusCancel”,“cancel”,“Customer”,if Order.state==“RRecv”then FinComp(Order.customer,self,Order.POPayableAmt*0.02)) 表1 订单处理流程的事务恢复属性Tab.1 Transactional recovery attributes of process Order 表2 订单处理流程的合作伙伴关系集合Tab.2 Partnerships of process Order (2) Vendor ① (“VendDelay”, “post”, if ((Order.PORecvDate>Order.POPlanRecvDate)&&(Order.PORecvDate≤(Order.POPlanRecvDate+2))then FinComp(Order.vendor,self,Order. totalAmt*0.001)); ② (“VendException”,“exception”, if exception.Date>(Order.POIssueDate+10)then FinComp(Order.vendor,self,Order.POPayableAmt*0.005)) ③ (“ManufCancel”,“cancel”,“self”,if Order.state==“RRecv”then FinComp(self,Order.vendor,Order.POPayableAmt*0.02)) 下面通过实例分别讨论每类异常的恢复。 实例1客户取消订单异常。客户下单一段时间后,因一些原因(如上游客户取消订单)取消订单,此时厂商的订单已到达状态RRecv,客户取消订单后,厂商只能积压库存或退货给供应商,势必造成经济损失。异常的恢复过程如下。 (1) 查找合作类型为Customer的合作伙伴关系规则集中满足条件 type==“cancel”&&faultP==“Customer” 的规则,得到CusCancel,据此客户需赔偿厂商已采购金额的2%。 (2) Order的已执行任务序列为{RO,PPO},已与供应商进行了交互,因此查找合作类型为Vendor的合作伙伴关系规则集中满足条件 type==“cancel”&&faultP==“self” 的规则,得到ManufCancel,据此厂商需赔偿供应商采购金额的2%。 (3) 用补偿序列{PPO-1,RO-1}向后恢复订单流程Order。 实例2非交互服务AP功能异常。假设生产服务AP抛出了异常(如生产线故障),则进行基于事务恢复属性的恢复。由表1可知,AP的恢复属性为subs&comp,因而可以用替代服务LineB进行向前恢复。 实例3交互服务PPO功能异常。 场景1假设采购服务PPO在采购单核发后8d内遭遇了异常(如断货),距离厂商计划收货日12d。异常的恢复过程如下。 (1) 查找合作类型为Vendor的合作伙伴关系中任务PPO的规则集中类型为exception的规则,得到VendException,该规则条件为假,无需进行经济补偿。 (2) 根据PPO的事务恢复属性恢复异常,PPO的事务恢复属性为subs&comp,替代服务VendorB的条件为真,可使用该替代服务进行向前恢复。 场景2若PPO在采购单核发后15d内遭遇异常,距离厂商计划收货日1d,则上述第1步的规则VendException条件为真,供应商需补偿厂商采购金额的0.5%;第2步替代服务的条件为假,PPO不能实现向前恢复,因而启动向后恢复。此时,根据流程Order的已执行任务序列可知,不存在级联经济恢复,只需用补偿序列{RO-1}向后恢复订单流程Order即可。 由此可见,在有些情况下,交互服务异常无需进行经济补偿也可向前恢复(场景1),而有些情况下,在进行了经济补偿后也只能向后恢复(场景2)。 实例4服务PPO的QoS异常恢复。假设采购服务PPO逾期1d完成,即供应商晚1d送货,根据映射到PPO的类型为post的规则VendDelay,供应商需付给厂商订单金额的0.1%作为经济补偿,之后流程可以继续往下执行。这里,经济补偿成功地实现了流程异常的向前恢复。 5结语 针对现实商业活动,协作商家希望结合经济补偿来恢复失败流程的需要,本文提出了一种结合经济补偿和上下文感知的以Artifact为中心的业务流程事务模型,给出了异常类型的判定方法和针对每类异常的不同的恢复机制,可通过条件替代服务、经济补偿的方式尽可能地实现异常的向前恢复,并在流程的向后恢复过程中,考虑合作伙伴间的级联经济补偿,从而降低其他参与者的经济损失,并用案例研究证实了该方法的可行性。 参考文献: [1]Spanoudakis G,Zisman A,Kozlenkov A.A service discovery framework for service centric systems[C]∥IEEE International Conference on Services Computing.[S.L.]:IEEE,2005: 251-259. [2]Colombo M,Nitto E D,Mauri M.SCENE: A service composition execution environment supporting dynamic changes disciplined through rules[J].Lecture Notes in Computer,Science,2006,4294: 191-202. [3]Baresi L,Guinea S,Pasquale L.Self-healing BPEL processes with Dynamo and the JBoss rule engine[C]∥International Workshop on Engineering of Software Services for Pervasive Environments in Conjunction with Esec/fse Joint Meeting.[S.L.]: ACM,2007: 11-20. [4]Bucchiarone A,Pistore M,Raik H,et al.Adaptation of service-based business processes by context-aware replanning[C]∥Fifth IEEE International Conference on Service-oriented Computing & Applications.[S.L.]: IEEE,2011: 1-8. [5]Bucchiarone A,Marconi A,Pistore M,et al.Dynamic adaptation of fragment-based and context-aware business processes[C]∥2012 IEEE 19th International Conference on Web Services (ICWS).[S.L.]: IEEE,2012: 33-41. [6]Bucchiarone A,Marconi A,Mezzina C A,et al.On-the-fly adaptation of dynamic service-based systems: Incrementality,reduction and reuse[J].Lecture Notes in Computer Science,2013,8274: 1146-161. [7]Cao Jiuxin,Luo Junzhou,Zhang Song,et al.A context-aware recovery mechanism for web services business transaction [C]∥IEEE Ninth International Conference on Services Computing.[S.L.]: IEEE,2012: 352-359. [8]Rinderle S,Reichert M.Data-driven process control and exception handling in process management systems[J].Lecture Notes in Computer Science ,2006, 4001: 273-287. [9]Ferreira J E,Braghetto K R,Takai O K,et al.Transactional recovery support for robust exception handling in business process services[J].IEEE International Conference on Web Services.IEEE Computer Society,2012: 303-310. [10]Garcia M O.,Braghetto K R,Pu C,et al.An implementation of a transaction model for business process systems [J].Journal of Management Information Systems,2012: 271-286. [11]Qin Haihuan,Kang Guosheng,Guo Lipeng.MaxInsTx: A best-effort failure recovery approach for artifact-centric business processes[J].Lecture Notes in Computer Science,2013,8274: 558-566. [12]Yang Zheng,Yao Jinhui,Chen Shiping,et al.A financial compensation based transaction management model for service-oriented business collaborations[C]∥IEEE International Conference on Web Services.[S.L.]: IEEE,2012: 423-430. [13]Carroll N,Haque R,Whelan E,et al.Modelling business transactions across service supply chain networks[M]∥Information Systems Development.New York: Springer,2013: 471-484. [14]Xu Wei,Su Jianwen,Yan Zhimin,et al.An artifact-centric approach to dynamic modification of workflow execution[J].Lecture Notes in Computer Science,2011,7044: 256-273. [15]Liu Guohua,Liu Xi,Qin Haihuan,et al.Automated realization of business workflow specification[J].Lecture Notes in Computer Science,2010,6275: 96-108. G,Zisman A,Kozlenkov A.A service discovery framework for service centric systems[C]∥IEEE International Conference on Services Computing.[S.L.]:IEEE,2005: 251-259. [2]Colombo M,Nitto E D,Mauri M.SCENE: A service composition execution environment supporting dynamic changes disciplined through rules[J].Lecture Notes in Computer,Science,2006,4294: 191-202. [3]Baresi L,Guinea S,Pasquale L.Self-healing BPEL processes with Dynamo and the JBoss rule engine[C]∥International Workshop on Engineering of Software Services for Pervasive Environments in Conjunction with Esec/fse Joint Meeting.[S.L.]: ACM,2007: 11-20. [4]Bucchiarone A,Pistore M,Raik H,et al.Adaptation of service-based business processes by context-aware replanning[C]∥Fifth IEEE International Conference on Service-oriented Computing & Applications.[S.L.]: IEEE,2011: 1-8. [5]Bucchiarone A,Marconi A,Pistore M,et al.Dynamic adaptation of fragment-based and context-aware business processes[C]∥2012 IEEE 19th International Conference on Web Services (ICWS).[S.L.]: IEEE,2012: 33-41. [6]Bucchiarone A,Marconi A,Mezzina C A,et al.On-the-fly adaptation of dynamic service-based systems: Incrementality,reduction and reuse[J].Lecture Notes in Computer Science,2013,8274: 1146-161. [7]Cao Jiuxin,Luo Junzhou,Zhang Song,et al.A context-aware recovery mechanism for web services business transaction [C]∥IEEE Ninth International Conference on Services Computing.[S.L.]: IEEE,2012: 352-359. [8]Rinderle S,Reichert M.Data-driven process control and exception handling in process management systems[J].Lecture Notes in Computer Science ,2006, 4001: 273-287. [9]Ferreira J E,Braghetto K R,Takai O K,et al.Transactional recovery support for robust exception handling in business process services[J].IEEE International Conference on Web Services.IEEE Computer Society,2012: 303-310. [10]Garcia M O.,Braghetto K R,Pu C,et al.An implementation of a transaction model for business process systems [J].Journal of Management Information Systems,2012: 271-286. [11]Qin Haihuan,Kang Guosheng,Guo Lipeng.MaxInsTx: A best-effort failure recovery approach for artifact-centric business processes[J].Lecture Notes in Computer Science,2013,8274: 558-566. [12]Yang Zheng,Yao Jinhui,Chen Shiping,et al.A financial compensation based transaction management model for service-oriented business collaborations[C]∥IEEE International Conference on Web Services.[S.L.]: IEEE,2012: 423-430. [13]Carroll N,Haque R,Whelan E,et al.Modelling business transactions across service supply chain networks[M]∥Information Systems Development.New York: Springer,2013: 471-484. [14]Xu Wei,Su Jianwen,Yan Zhimin,et al.An artifact-centric approach to dynamic modification of workflow execution[J].Lecture Notes in Computer Science,2011,7044: 256-273. [15]Liu Guohua,Liu Xi,Qin Haihuan,et al.Automated realization of business workflow specification[J].Lecture Notes in Computer Science,2010,6275: 96-108. A Failure Recovery Approach for Artifact-Centric Business ProcessesConsidering Financial Compensation QINHaihuan (School of Electronic Information Engineering, Shanghai Dianji University, Shanghai 200240, China) Abstract:Failure recovery is a crucial issue for business process management. In real-life commercial activities, collaborative participants hope to recover a failed process by combining technical methods and financial compensation. To address such requirements, this paper proposes a failure recovery approach considering financial compensation and context. A transactional artifact-centric business process model is established with (conditional) alternative services and financial compensation rules considered. A recovery mechanism is developed, which combines financial compensation and conditional substitution. The proposed method allows forward recover of the failed process as far as possible, and financially compensates the partners when backward recovery is conducted. Feasibility of the approach is verified in a case study. Key words:failure recovery; financial compensation; Artifact-centric business processes 文章编号2095-0020(2015)02-0110-08 作者简介:韩超群(1979-),女,讲师,博士,主要研究方向为物流与供应链管理,E-mail: hanchaoqun@gmail.com 基金项目:国家自然科学基金资助项目(70672039);湖北省软科学研究专项资助项目(2010DZ006) 收稿日期:2015-03-26 中图分类号:TP 39;F 273 文献标志码:A2.2 结合经济补偿的业务流程事务模型
3.1 异常类型判定
3.2 一种结合经济补偿和传统恢复技术的失败恢复机制