论文部分内容阅读
随着计算机技术的发展和应用,对如今事务日益复杂的企业来说,工作流管理系统已经成为了企业提升竞争力的有效工具。近些年来,不同的工作流厂商推行着各自的标准和工作流系统,但是却仍然未能很好地遵循工作流管理联盟制定的标准,导致工作流产品中很多开发工作重复,造成人力物力的浪费。作为工作流管理系统最核心的组件,工作流引擎是整个工作流系统的重中之重,也是一个能够抽取成固定产品的模块。将工作流引擎与具体的业务处理解耦分离从而更加有效地利用工作流引擎,对提高工作流系统的重复使用率、减少开发工作量有着关键的作用。本文在对已有的工作流管理系统的基础上进行了详细的研究,设计并实现了基于消息总线的工作流管理系统的引擎虚拟机模块。相对于传统的工作流管理系统,它引入了消息总线的方式来挂在业务模块和工作流引擎,使得具体的事务处理与工作流引擎分离,实现了一个高效率、可重复使用的工作流引擎虚拟机。本文针对传统工作流系统业务处理和流程管理想耦合的缺点,提出使用业务流程文件描述事务流程、业务处理模块独立处理具体事务、工作流引擎解析流程文件并根据抽象编号调度业务模块的策略,成功实现流程与业务的解耦。本文在设计业务流程文件时,结合了现有工作流系统流程文件定义的优点,以状态节点的方式描述整个流程,在此基础之上将业务处理抽象成业务编号,大大减少了流程对具体处理模块的依赖。工作流引擎虚拟机内部以自动机模型来映射业务流程文件,并处理业务模块的消息交互;通过定时机制的设定,提高了工作流系统的实用性;按节点执行等待情况来进行内存数据持久化,有效实现了工作流系统关键数据的备份与恢复,保障了整个系统的数据安全。