轻量级工作流引擎的设计与实现.doc
《轻量级工作流引擎的设计与实现.doc》由会员分享,可在线阅读,更多相关《轻量级工作流引擎的设计与实现.doc(45页珍藏版)》请在沃文网上搜索。
1、轻量级工作流引擎的设计与实现 目 录目 录1摘 要3Abstract4第一章 引 言51.1 轻量级工作流引擎的概念51.2 工作流管理系统的分类及本文的侧重点51.2.1 面向文档的与面向过程的51.2.2 结构化的与即席的61.2.3 基于邮件和基于数据库61.2.4 任务推动的与目标拉动的61.2.5 本文的侧重点6第二章 工作流管理系统参考模型简介7第三章 系统分析与设计93.1 工作流模型的设计93.1.1 工作流模型的对象93.1.1.1 从一个简单的业务实例看业务的需求93.1.1.2 工作流对象的具体分析和说明113.1.2 对象之间的逻辑关系133.1.2.1 对对象进行分类
2、以及各个分类中对象之间的关系133.1.2.2 各个模型之间的逻辑关系153.1.3 工作流实例,流程实例,环节实例和工作项的状态转换163.1.4 任务分派193.1.5 转换条件的满足193.2 系统结构213.3 系统模块的划分223.4 数据库设计223.5 类的设计263.5.1 实体类的设计263.5.1.1 数据库访问类263.5.1.2 值对象类313.5.2 业务类的设计353.5.3 接口类的设计37第四章 系统实现374.1 关键问题的解决方案374.1.1 启动工作流实例374.1.2 推进工作流实例的进程384.1.3 类型为文档的附件的处理394.2 一个简单工作流
3、管理系统的实现394.2.1 系统应用框架394.2.2 J2EE相关技术的应用404.2.2.1 J2EE核心模式和类的实现414.2.2.2 JavaBean技术与类的实现414.2.2.3 JBOSS应用服务器和工作流引擎的实现414.2.2.4 Jsp/Servlet技术和系统界面的实现434.2.3 具体编码实现43第五章 系统的不足44第六章 总 结44参考文献45轻量级工作流引擎的设计与实现摘 要工作流管理技术由于良好的企事业业务适应性得到了广泛的应用,基于工作流管理技术的工作流管理系统已经为各企事业单位带来传统信息系统所没有的效益。工作流是一种反映业务流程的计算机化的模型,是为
4、了在先进计算机环境下实现经营过程集成和经营过程自动化而建立的可由工作流管理系统执行的业务模型。工作流管理系统是支持企业经营过程高效执行并监控其执行过程的计算机软件系统。工作流引擎是工作流管理系统的核心。它为管理系统提供一系列通用的服务,以实现各种管理系统的具体应用。针对目前企事业的一般业务,我们运用了轻量级工作流引擎的概念,主要探讨轻量级工作流引擎的具体设计和具体实现。实践证明,轻量级的工作流引擎可以满足企事业一般的需求,而且明显缩短了开发周期。关 键 字:轻量级,工作流引擎,工作流模型,工作流实例,业务规则AbstractBecause of the good adaptabilities
5、to the enterprises business, the workflow management technology now has already been used extensively. The workflow management system which bases on the workflow management technology has also already brought the benefit that the traditional information system couldnt bring. The workflow is a comput
6、erize model which reflects the business process, and it is also a business model which can be carried out by the workflow management system, setting up with the purpose of accomplishing the integration and automation of the management process under the advanced computer circumstances. The workflow m
7、anagement system is a computer software system that can support the enterprises management process to carry out in a high efficiency and dominate the management process. The workflow engine is the core of the workflow management system. The workflow engine offers series of common services for the ma
8、nagement systems with the purpose of bringing all kinds of management systems to be applied concretely. In connection with the common business of the present enterprises, we put the definition of the lightweight workflow engine to use, and research the concrete design and accomplishment of the light
9、weight workflow engine chiefly. The practice has proved that the lightweight workflow engine can meet the common demands of the enterprises, and can shorten the development periods visibly.Keywords:Lightweight, workflow engine, workflow model, workflow instance, business rule第一章 引 言1.1 轻量级工作流引擎的概念 轻
10、量级的工作流引擎指的是从够用、灵活和低成本的设计原则出发,不追求工作流引擎的功能的完备和复杂,只是实现其中必不可少的功能和特征。在设计工作流引擎时主要考虑对其数据模型的定义和解释、活动之间的协调以及任务的分配和控制等功能提供支持,而不支持诸如提供内建(built-in)的应用开发工具、对应用资料的定义和完整性维护、完善的异常处理以及长事务控制等功能。轻量级工作流引擎的概念的提出,给开发工作流管理系统的开发人员开辟了一条新的道路。工作流管理技术本身就是一项抽象复杂的技术,它致力追求从企事业各种各样的业务中抽取出一个通用的模型,由这个模型去描述所有业务的一致性,以达到“放之四海皆可用”的程度。不过
11、,要把众多的而又错综复杂的业务都集中在这个模型中,这是一件非常困难的工作,要经过一段漫长的摸索历程。而轻量级的概念让我们认识到可以从一般性的而又简单的业务入手,为企事业快速的开发出一个适应他们本身业务需求的而又带有可扩展性可移植性的信息管理系统,为他们提高工作效率,并保证在一段很长的时间内满足不断增加的业务需求。1.2 工作流管理系统的分类及本文的侧重点根据工作流过程本身的特点、系统建模的方式、所使用的底层支撑技术、以及工作流过程的执行方式等的不同而对工作流管理系统进行相应的分类。1.2.1 面向文档的与面向过程的前者的侧着点在于将电子形式的文件、图像等在有关的人员之间进行分发,以便能够得到不
12、同人的处理与审阅。现有的文件管理与映像管理系统均属此类。在面向过程的WFMS中,工作流被描述成一序列执行环节。与各环节相应都有待处理的资料对象。各环节的资料对象可以按不同的方式分发到其它环节中去,如可以将资料对象的值作为控制条件、或者依此资料对象组装成其它的资料对象等。高端的WFMS一般都属此类系统。1.2.2 结构化的与即席的结构化工作流指的是在实际工作过程中会反复重复、严格按照某个固定的步骤进行的业务过程。定义此种工作流所需要的各种类型的信息可以通过对业务过程进行详细的分析而得到,从而得到完整的过程定义并在以后的应用过程中反复使用。大量的办公程序,如公文处理、审批等都属此类。即席工作流则是
13、针对那些重复性不是很强或没有重复性的工作流程的,关于这类流程执行所需的有关参数(如参加者等)事先无法确定,而必须推迟到过程实例运行时才能确定,同时在执行过程中间还可能会发生一些意外的情况。这种动态多变的特点在提供更高灵活性的同时,也为过程的建模与执行带来更多的复杂性。1.2.3 基于邮件和基于数据库前者使用电子邮件来完成过程实例执行过程中消息的传递、资料的分发与事件的通知。低端的系统所使用的经常就是此种方法,它可以充分发挥电子邮件系统在广域环境下的资料分发功能,但整个系统将运行于一种松散耦合的模式下。在基于数据库的WFMS中,所有的资料都保存在某种类型的DBMS中,过程的执行实际上就是对这些资
14、料的查询与处理。高端的大规模系统所使用的一般都是此种方法。1.2.4 任务推动的与目标拉动的前者指的是从过程的开始逐步地一个环节一个环节的执行,当某个活动实例被处理完之后,后续的有关活动将被创建并被激活,由此直至整个工作流程的完成。这是目前大多数面向过程的WFMS所使用的执行方式。而在目标拉动的WFMS中,一个业务流程被看成是一个目标。过程实例执行时,该目标将被分解得到多个相互之间按一定约束条件的关联起来的可执行的多个环节,其中各环节还可以当成是子目标而进一步进行分解。在各环节均执行完毕之后,整个过程也就完成了。目标拉动是一种全新的执行方式,下一代的WFMS将具有此种特征。应该说明的是:上述分
15、类只是从不同的角度入手的。一般来说,后面那些特点将给WFMS带来更好的灵活性,同时也将成为那些能够支持跨机构的大规模复杂工作流管理、面向关键任务的WFMS不可缺少的特征。1.2.5 本文的侧重点本文的侧重点不在于完全实现其中一种工作流管理系统的所有功能,更不在于实现所有种类的工作流管理系统的全部功能,前文已经说过,这是一件非常困难的事情。那么我们的侧重点在哪里呢?就在于综合以上四种工作流管理系统的主要特点,是一个面向文件的,基于数据库的,由目标拉动的结构化的工作流管理系统,并且由此去设计和实现工作流管理系统的核心工作流引擎。从一般性来说,目前大多数的企事业的业务都是事务申请,公文流转,各项通知
16、等等,这些业务或者需要查看,或者需要审批,而这些业务的资料基本上是以文件的形式保存在计算机上,而其中一些格式化的资料是保存在数据库中,所以面向文件和面向数据库是轻量级工作流引擎的一个重要特征。业务的发起和结束是一项过程化的任务,任务又可以分解成一个一个环节任务,而任务是带有目的性的,由这个目的去拉动这个过程中的一个一个的环节任务,促使环节任务的推进,最终达到任务完成的目的。这些业务的过程化不是随机的,而是已经严格规定好的,只有遵循这些过程化的规则和流程环节才能完成整个业务。轻量级的工作流引擎就组合了以上这些,不追求工作流引擎的功能的完备和复杂,以满足一般性业务为目的,为企事业快速开发出适合他们
17、业务的工作流管理系统。第二章 工作流管理系统参考模型简介在阐述工作流引擎之前,我们来了解一下工作流技术的基本知识。早在几年前,为了建立工作流管理系统的相关标准,国际上成立了一个称为“工作流管理联盟”(简称WFMC)的国际组织。她提出了有关工作流管理系统的一些规范,定义了工作流管理系统的结构及其与应用、管理工具和其它工作流管理系统之间的应用编程接口,也就是工作流系统参考模型。WFMC给出的工作流参考模型如下图: 接口2接口3接口4接口1接口5过程定义工具工作流API与交换格式工作流执行服务工作流机(工作流引擎)工作流管理工具其它工作流执行服务工作流机工作流客户应用工作流机直接调用的应用图2.1
18、工作流参考模型从图中可以看出,参考模型包含了五类接口,分别是: 接口1:过程定义输入输出接口,这是工作流服务与工作流建模之间的接口,该接口提供的功能包括通信建立,工作流模型操作和工作流模型对象操作。 接口2:客户端函数接口,这是工作流服务与客户应用之间的接口,这是最主要的接口规范,它约定所有客户方应用与工作流服务之间的功能操作方式。包括通信建立,工作流定义操作(对过程模型定义操作),过程实例管理功能,过程状态管理功能,任务项列表/任务项处理功能,数据处理过程,过程监控功能,其它的管理功能,应用程序激活。 接口3:激活应用程序接口,这是工作流引擎和直接调用的应用程序之间的接口,包括通信建立,活动
19、管理功能,数据处理功能。 接口4:工作流执行服务之间的互操作接口,这是工作流管理系统之间的互操作接口,包括连接的建立,对工作流模型和其中对象的操作,对过程实例的控制和状态描述,对活动的管理,对资料进行处理。 接口5:系统管理与监控接口,这是工作流服务和工作流管理工具之间的接口,包括资源控制,角色管理,用户管理,过程实例的管理,状态管理,审核管理。五个接口以及对应的API函数囊括了工作流管理系统的全部功能。一个完整的工作流管理系统就是以工作流引擎为中心,向外部部件(应用程序或其它工作流引擎)提供这五个接口,提供其实现的所有功能。第三章 系统分析与设计在所有准备工作完成后,我们就开始进行系统设计和
20、设计,构造一个轻量级的工作流引擎。轻量级的工作流引擎并不完全实现WFMC所提出的工作流模型包含的五个接口,特别是接口4,在分布式工作流管理系统才具有该接口。既然我们从轻量级的概念出发,我们就不再明显区分各个接口的界限以及其所具有的特定的功能,以够用、灵活和低成本的设计原则去设计出我们所理解的工作流引擎。我们运用了面向对象的方法,首先从众多的业务需求中抽取出工作流模型所包含的对象,再分析各个对象之间的逻辑关系,然后提出一个系统结构,再进行模块划分,数据库设计,最终完成类的设计。我们当中所用到的建模工具就是ROSE UML。3.1 工作流模型的设计对工作流模型的设计是工作流引擎设计的重要组成部分。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 轻量级 工作流 引擎 设计 实现
