论文部分内容阅读
随着社会经济的不断发展,企业级的应用越来越复杂,企业内部业务流程的管理显得尤为重要,为此出现了大量的工作流管理系统,然而面对需求变更的飞速,现有的面向静态的这些工作流系统渐渐出现不足。我们更需要的是一个开放、动态、个性化的计算环境,在这样的环境下,能够快速的应对用户频繁的过程需求变化。考虑到目前BPEL是业界工作流刻画语言的规范,且目前支持该语言的引擎有很多,从软件复用角度、系统应用的移植性角度出发,本文提出了基于BPEL的可变过程描述语言,以及自适应管理框架,并结合现有的JBPM-BPEL工作流引擎给出了具体的系统实现,最后结合案例测试系统的正确性和稳定性。任何基于BPEL的工作流引擎,只要实现本文提出的自适应管理框架,就可以无缝的支持可变过程模型。本文主要研究工作包括以下三个方面:1.提出一个过程可变性描述语言对现有bpel语言进行扩展,在其中加入可变活动,构建可变过程建模语言。由该语言刻画出的可变过程模型为所有具体模型(BPEL)的父类。在系统中,我们采用了过程家族的概念,以可变点为中心,将刻画的模型分成抽象与具体。抽象的模型是对未知情况的刻画,具体过程是对抽象模型中可变点的确切填充。2.自适应工作流管理框架的设计该管理框架主要包括如下几个部分:①部署模块:主要用于将可变过程模型转换为标准(BPEL)模型,以及维护模型中可变点与具体填充信息的相互关系。②监控模块:主要是获取当前引擎的上下文信息,触发可变点的填充。在具体的执行过程中将内部的执行状态封装为特定事件(状态正常、异常、遇到可变点),从系统内部抛出事件,让注册的事件侦听器去处理。③模型管理模块:主要是维护过程实例、过程模型。例如实例、过程的查找、删除,可变过程模型与具体过程模型之间的映射关系等。④迁移模块:主要是完成运行中的实例从其运行依赖的模型迁移到指定模型。在具体的执行过程中首先将会查找指定过程定义下正在运行的所有实例,将这些实例全部暂停,依次对每一个实例判断其可迁移性,对可迁移的实例求出其目标状态,将旧实例上运行数据迁移到新实例上,结束旧实例,对不可迁移的实例进行恢复,按照旧模型运行或中断。⑤辅助交互模块:主要是给出运行中可变点的填充片段,本文中采用智能规划器,根据上下文信息,规划出BPEL片段。其只关注输入信息,具体的实现与自适应管理框架中其它模块是松耦合的。⑥日志管理模块:主要是记录系统在运行过程中的状态信息,包括可变点替换的时间、可变点替换的内容、实例迁移的开始与结束时间、实例迁移的具体执行步骤、系统异常信息等等。3.自适应工作流管理框架的实现系统的实现主要包括如下几个部分:①提出了自适应管理框架的接口,作为其它工作流系统实现自适应框架的依据。②选择JBPM-BPEL作为底层的工作流系统,实现自适应工作流管理框架。③修改JBPM-BPEL引擎,完成底层工作流系统与自适应管理层的交互。