论文部分内容阅读
工作流是针对业务流程或实验过程提出的概念。这些工作流程一般都是通过文档、信息或工作的“流动”(传递)使各个流程参与者能够交互协助以达成既定工作目标,工作流的目的就是要让这些“流动”自动化。随着企业不断地成长,公司内部的工作流程日趋复杂,传统以人工处理为主的流程传递方式已经不符合企业提高经济效益的要求。自从工作流技术诞生以来,它就一直致力于工作流程的信息化和电子化,不同功能和构架的工作流管理系统纷纷出现。工作流引擎作为工作流技术和工作流管理系统的核心,是实现工作流控制管理的基础。因此,如何设计易于部署和维护的工作流引擎,实现流程活动的灵活调度,完备工作流程的执行管理控制功能已经成为亟待解决的问题。
论文针对工作流引擎产品普遍存在的不足,从开源工作流技术入手,深入学习分析了 Shark 工作流引擎优秀的设计理念与程序构架,提出了一套以通用化为目的的工作流引擎设计方案,力求使引擎能够同时具备灵活强大的活动调度功能和较高的系统柔性,并在此基础上使用跨平台的计算机语言技术——Java开发了通用工作流引擎的原型系统。本文选择了“已完成活动推动的活动调度机制”作为工作流引擎的流程执行机制,并设计了与其相适应的流程活动跳转控制功能,让系统用户可以使用正向跳转、反向跳转等非常规控制手段来应付各种复杂的业务逻辑。与此同时,本设计方案还开发了具有高度柔性的自适应性流程调节机制,不仅强化了流程引擎的管理调度,还有效避免了跳转控制引起的流程异常或流程死链。另外,本研究还结合工具代理的接口扩展技术,对工作流引擎的任务处理与JFreeReport的表单生成进行了整合设计,增加了流程引擎的表单处理功能,使整个工作流系统的功能更趋完善,提高研究成果的实用价值。