论文部分内容阅读
随着Internet逐步演化为一个全球最大规模的开放计算平台,基于BPEL(Business Process Execution Language)过程的Web服务组合技术由于能够方便有效地协同企业组织内外各种服务资源以构建新的服务应用,从而成为目前服务计算(Service Oriented Computing)应用和研究的热点。其一般性工作原理是通过BPEL语言以流程的形式建模串连Web服务接口,并通过BPEL支撑引擎驱动Web服务接口的调用。与之相对应的是,在BPM (Business Process Management)领域,BPMN (Business Process Modeling Notation)成为建模过程设计的主要手段,其通过建模业务流程,然后转变为相应的BPEL来实现基于Web服务集成的过程设计自动化。这种通过BPMN建模过程设计,并转变为BPEL的过程设计自动化方式,其实质是遵循了传统的封闭、静态、可控的从需求建模到编程实现的软件开发方法。然而,现有的通过BPMN建模过程设计,并转变为BPEL的过程设计自动化方式违背了服务集成所处的Internet平台应具有的开放、动态、难控的基本特征,造成了目前的基于服务集成的过程自动化系统都难以实现过程动态演化,以应对Internet环境下用户需求和计算平台的多变性,这具体表现为两个方面:●缺乏BPMN和BPEL单一性的过程动态演化的模型机制和运行机理。商业过程再工程和Internet的环境多变都要求作为建立过程设计的BPMN模型和作为服务集成实现机制的BPEL模型应当各自具备过程动态演化的模型机制和运行机理,然而,目前只有少数工作做了一些对模型更新的初步尝试,其中以AO4BPEL可以作为较好的实现机制,但未见系统性的研究。而当前的过程演化技术尚未有对BPMN和BPEL结合进行演化的研究。●缺乏BPMN和BPEL统一性的过程动态演化的关联机制和运行保障。类比现有的软件演化系统将用户需求、设计模型与实现模型统一建模在系统中,并实现关联后的运行支撑保障。一个能够应对Internet过程动态演化的服务集成系统也应该将描述用户需求的BPMN模型和实现服务集成的BPEL模型关联起来,并互相映射,以在运行时保证演化后用户需求和运行过程的一致性。然而,目前未见将两者模型统一关联,并建模为一个过程模型的研究。本文在南京大学软件研究所对分层过程模型技术和过程动态演化技术等已有工作,并结合核高基项目ABPM (Adaptive Business Process Management)系统的基础上,以面向BPMN、BPEL的过程模型为研究对象,研究了一种利用委托关系来统一BPMN和BPEL的分层过程模型LP-ABPM(Layered Process-ABPM).并在该模型下实现了过程动态演化技术。具体来说,主要工作包括以下几个部分:●给出了分层模型相关概念及实现技术。基于已有的研究,将分层模型分为过程设计模型、过程执行模型和委托关系三部分。过程设计模型采用BPMN用于需求分析和建模。过程执行模型用于流程设计者制定具体的业务流程,采用当前主流的工作流语言BPEL。委托关系则是建立在以上两种模型之间的一种约束关系。·给出了分层模型下的过程演化技术。在本课题组对过程演化研究的基础上,针对于过程设计模型和过程执行模型,在过程模型更新层面上,借鉴相关工作,给出了一种面向方面的过程语言扩展,支持面向方面的过程建模;在过程实例迁移层面上,结合过程设计模型和过程执行模型,提出了对应的实例迁移有效性准则、可迁移标准以及具体的迁移算法。实现了分层模型的过程演化。●基于开源的jBPM过程管理系统,设计并实现了一个符合上述技术框架的引擎系统,并在一个旅行代理的应用场景中展示过程的演化。该实现展现了本系统的运行过程,并初步验证了分层模型下过程演化技术的可行性和有效性。