论文部分内容阅读
迁移工作流是近年来工作流管理研究的一个新方向,并且被解释为运行期间在工作位置上合并静态工作流说明、本地规则和策略、以及用户策略的效应。迁移工作流管理系统的三要素是迁移工作流管理引擎、迁移实例和工作位置。工作流管理引擎完成工作流定义、迁移实例生成和多迁移实例协调等。工作位置指停靠站服务器及其关联的工作机网络。其中,停靠站服务器是迁移实例的运行场所,工作机网络提供迁移实例工作流服务。多个迁移实例在停靠站服务器的支持下通过迁移和协作实现总的业务目标。
由于在迁移工作流系统中,工作流服务由分布在不同地点的、异构的工作位置提供给携带任务说明书的迁移实例,因此,迁移工作流服务不同于传统的工作流系统中的工作流执行服务。首先各工作位置本身就是一个异构的分布式环境,各工作位置是否能有效地组织和调度工作流服务将直接影响着工作流系统的性能和可靠性。其次,需要在迁移实例和负责提供工作流服务的各工作位置之间保持服务一致,以支持迁移路径的选择和任务说明书到工作流服务的扩展。
本文总结了迁移工作流管理系统中采用的服务策略,包括服务部署、服务提供、服务发布、安全性和可靠性等,这些策略较好地支持了迁移工作流系统中工作流服务的有效组织、管理和调度。然后设计了一种动态的服务提供和发现的策略,描述了服务查询的机制,并说明了任务、服务、子服务和工作位置之间的关系,解决了在系统运行过程中动态地改变服务和服务相关参数的问题。
根据服务的特点,本文对服务进行了分类,将固定的、不针对特定MI的服务,如迁入/迁出服务、通信服务、安全服务、日志服务等称之为迁移实例服务,将相对易变的、需要查询才能得知的、针对某个具体业务应用的服务称之为工作流服务。根据MI是否显式地调用服务,可以把服务分为非透明服务和透明服务。在实现中我们通过工作流服务支持模块(WSSM)来提供服务,并且本文设计了两种不同工作模式的工作流服务支持模块,即同步调用的工作流服务支持模块和异步调用的工作流服务支持模块,并根据实验数据比较了两种实现方式的优缺点。
再后讨论了停靠站服务器与其工作机网络提供本地工作流的策略。基于迁移工作流系统框架,工作机网络中的应用服务器为MI执行业务过程的主体,工作流参与者通过工作机的浏览器与应用服务器交互。通过在应用服务器上部署相关业务过程组件,实现与停靠站服务器的交互。在实现中本文将开源的JBoss作为应用服务器,并遵守J2EE构架标准开发业务过程组件。参考Session Facade设计模式,开发了一个称作ServiceProxyBean的无状态Session Bean,为停靠站服务器提供统一的调度界面,它屏蔽了工作机网络中应用系统的业务逻辑层的复杂性。本文以一个购书流程为例,实现了服务查询、服务管理,然后根据实验数据,比较了同步调用的和异步调用的工作流服务支持模块的优缺点。最后通过一个一级审批流的例子说明了如何在停靠站服务器及其工作机网络上实现本地工作流。