论文部分内容阅读
随着社会生产的流程化,工作流(Workflow)技术起着越来越重要的作用。工作流引擎作为工作流管理系统的核心,在不同的应用环境中,根据角色、分工和条件的不同,为工作流管理系统提供决定信息传递的路由,从而显著地改进和优化了业务流程,更好的实现了业务流程控制。要达到以上目的,工作流引擎还必须包括工作流过程定义,过程转换的解释执行,工作流管理,以及工作流执行过程中的一些信息交互等功能。本文就工作流技术和工作流系统的核心部分工作流引擎技术作出研究,给出了一套轻量级工作流引擎具体设计原理和实现方法,利用该引擎,开发者可以根据不同的业务需求自定义不同的工作流,实现具有工作流性质的业务系统。本文主要从以下方面展开探讨:本文第二章研究了工作流管理系统。在工作流参考模型中,工作流引擎是工作流管理系统的核心。工作流引擎是为工作流管理系统在定义时提供支持、同时在运行时提供解释和执行服务的一组数据模型和软件。这一部分从工作流管理系统的功能、体系结构和工作流参考模型几个方面展开论述和分析,详细分析工作流系统。第三章介绍本课题的技术背景J2EE、XML、DTD和Schema、DOM、SAX、XPDL和FSM。J2EE是一种利用Java 2平台简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。可扩展标记语言——XML是元标记语言,它提供描述结构化数据的格式。DTD和Schema是对XML文档格式进行定义的语言,决定了文档的内容应该是些什么类型的东西。DOM和SAX是XML解析器,用来分析XML文档的内容是否符合XML标准。XPDL作为一个标准、通用的工作流定义语言,定义了一个最小集合的工作流建模实体与属性。FSM有限状态机是包含一组状态集(states)、一个起始状态(start state)、一组输入符号集(alphabet)、一个映射输入符号和当前状态到下一状态的转换函数(transition function)的计算模型。该模型是实现本文轻量级工作流模型的理论基础。本课题在以上技术背景和理论基础上展开讨论。第四章在研究工作流定义模型的基础上,结合XML,XPDL和DTD等技术背景,给出轻量级工作流引擎的基于XPDL的过程定义表示。并对该过程定义模板的含义作出了详细阐述。第五章在分析工作流引擎所需具备的功能作用基础上,结合第四章的过程定义模板,给出了轻量级工作流引擎的设计模型。第六章则在过程定义模板和引擎设计模型的基础上,对整个轻量级工作流引擎作出了详细设计。包括数据库设计、静态配置数据设计、引擎调度器设计、配置器设计、解析器设计以及查询器设计。并着重讨论了引擎调度器和查询器的核心算法。最后给出一个综合应用实例,对工作流引擎加以应用。