1 / 68
文档名称:

轻量级工作流引擎的设计与实现.doc

格式:doc   大小:210KB   页数:68页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

轻量级工作流引擎的设计与实现.doc

上传人:glfsnxh 2021/1/17 文件大小:210 KB

下载得到文件列表

轻量级工作流引擎的设计与实现.doc

相关文档

文档介绍

文档介绍:窗体顶端
第一章 引 言
轻量级工作流引擎的概念
轻量级的工作流引擎指的是从够用、灵活和低成本的设计原则出发,不追求工作流引擎的功能的完备和复杂,只是实现其中必不可少的功能和特征。在设计工作流引擎时主要考虑对其数据模型的定义和解释、活动之间的协调以及任务的分配和控制等功能提供支持,而不支持诸如提供内建(built-in)的应用开发工具、对应用资料的定义和完整性维护、完善的异常处理以及长事务控制等功能。轻量级工作流引擎的概念的提出,给开发工作流管理系统的开发人员开辟了一条新的道路。工作流管理技术本身就是一项抽象复杂的技术,它致力追求从企事业各种各样的业务中抽取出一个通用的模型,由这个模型去描述所有业务的一致性,以达到“放之四海皆可用”的程度。不过,要把众多的而又错综复杂的业务都集中在这个模型中,这是一件非常困难的工作,要经过一段漫长的摸索历程。而轻量级的概念让我们认识到可以从一般性的而又简单的业务入手,为企事业快速的开发出一个适应他们本身业务需求的而又带有可扩展性可移植性的信息管理系统,为他们提高工作效率,并保证在一段很长的时间内满足不断增加的业务需求。
工作流管理系统的分类及本文的侧重点
根据工作流过程本身的特点、系统建模的方式、所使用的底层支撑技术、以及工作流过程的执行方式等的不同而对工作流管理系统进行相应的分类。
面向文档的与面向过程的
前者的侧着点在于将电子形式的文件、图像等在有关的人员之间进行分发,以便能够得到不同人的处理与审阅。现有的文件管理与映像管理系统均属此类。在面向过程的WFMS中,工作流被描述成一序列执行环节。与各环节相应都有待处理的资料对象。各环节的资料对象可以按不同的方式分发到其它环节中去,如可以将资料对象的值作为控制条件、或者依此资料对象组装成其它的资料对象等。高端的WFMS一般都属此类系统。
结构化的与即席的
结构化工作流指的是在实际工作过程中会反复重复、严格按照某个固定的步骤进行的业务过程。定义此种工作流所需要的各种类型的信息可以通过对业务过程进行详细的分析而得到,从而得到完整的过程定义并在以后的应用过程中反复使用。大量的办公程序,如公文处理、审批等都属此类。即席工作流则是针对那些重复性不是很强或没有重复性的工作流程的,关于这类流程执行所需的有关参数(如参加者等)事先无法确定,而必须推迟到过程实例运行时才能确定,同时在执行过程中间还可能会发生一些意外的情况。这种动态多变的特点在提供更高灵活性的同时,也为过程的建模与执行带来更多的复杂性。
基于邮件和基于数据库
前者使用电子邮件来完成过程实例执行过程中消息的传递、资料的分发与事件的通知。低端的系统所使用的经常就是此种方法,它可以充分发挥电子邮件系统在广域环境下的资料分发功能,但整个系统将运行于一种松散耦合的模式下。在基于数据库的WFMS中,所有的资料都保存在某种类型的DBMS中,过程的执行实际上就是对这些资料的查询与处理。高端的大规模系统所使用的一般都是此种方法。
任务推动的与目标拉动的
前者指的是从过程的开始逐步地一个环节一个环节的执行,当某个活动实例被处理完之后,后续的有关活动将被创建并被激活,由此直至整个工作流程的完成。这是目前大多数面向过程的WFMS所使用的执行方式。而在目标拉动的WFMS中,一个业务流程被看成是一个目标。过程实例执行时,该目标将被分解得到多个相互之间按一定约束条件的关联起来的可执行的多个环节,其中各环节还可以当成是子目标而进一步进行分解。在各环节均执行完毕之后,整个过程也就完成了。目标拉动是一种全新的执行方式,下一代的WFMS将具有此种特征。应该说明的是:上述分类只是从不同的角度入手的。一般来说,后面那些特点将给WFMS带来更好的灵活性,同时也将成为那些能够支持跨机构的大规模复杂工作流管理、面向关键任务的WFMS不可缺少的特征。
本文的侧重点
本文的侧重点不在于完全实现其中一种工作流管理系统的所有功能,更不在于实现所有种类的工作流管理系统的全部功能,前文已经说过,这是一件非常困难的事情。那么我们的侧重点在哪里呢?就在于综合以上四种工作流管理系统的主要特点,是一个面向文件的,基于数据库的,由目标拉动的结构化的工作流管理系统,并且由此去设计和实现工作流管理系统的核心――工作流引擎。从一般性来说,目前大多数的企事业的业务都是事务申请,公文流转,各项通知等等,这些业务或者需要查看,或者需要审批,而这些业务的资料基本上是以文件的形式保存在计算机上,而其中一些格式化的资料是保存在数据库中,所以面向文件和面向数据库是轻量级工作流引擎的一个重要特征。业务的发起和结束是一项过程化的任务,任务又可以分解成一个一个