基于web技术的工作流管理系统的方案设计书与实现.doc
《基于web技术的工作流管理系统的方案设计书与实现.doc》由会员分享,可在线阅读,更多相关《基于web技术的工作流管理系统的方案设计书与实现.doc(76页珍藏版)》请在三一办公上搜索。
1、硕 士 学 位 论 文题 目 基于WEB技术的工作流管理系统设计与实现作 者 刘福顺 完成日期 2006年 4 月 培 养 单 位 四 川 大 学 指 导 教 师 唐宁九 教 授 专 业 计算机软件与理论 研 究 方 向 软件工程 授于学位日期 年 月 日基于WEB技术的工作流管理系统设计与实现计算机软件与理论 专业研究生 刘福顺 指导教师 唐宁九工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行。工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。一个完整的
2、工作流管理系统是由工作流执行部件、工作流功能部件和外部应用系统构成的。工作流执行部件,即工作流引擎,是工作流管理系统的核心。工作流引擎负责解释过程定义、创建模型实例、调度模型实例任务、推进流程等功能。一个过程模型就是企业经营过程中业务流程的一个抽象模型,当使用诸如Petri网这样的形式语言来描述一个企业经营过程时,就形成了过程定义。过程定义被工作流引擎解释转换为能被工作流引擎执行的过程模型,创建运行时模型实例并依据特定的调度算法,例如经典Petri网调度算法,对过程实例中的活动进行调度。工作流技术在企业中的应用范围主要有两类,一类是在以公文流转为功能主体的办公自动化系统中的应用,另一类则是为企
3、业业务系统提供运行支撑平台的工作流管理系统。不同的应用对工作流引擎的功能要求也是不同的,作为一个功能完善的工作流引擎,核心调度能力要灵活,同时要能够支持常见的流程模型,例如:固定流程、自由流程以及嵌套流程等。本文论述的是一个基于WEB技术的工作流管理系统的设计与实现,提出了一种将工作流技术应用于企业的工作流管理系统的通用架构,阐述了经典petri网调度算法在工作流引擎中的应用与实现,分析并实现了工作流引擎对三种常见的流程模型的支持。关键词:工作流;工作流管理系统;Petri网;工作流引擎Web-based Workflow Management System Design and Implem
4、entationLiuFushun( Computer Software & Theory )Directed by TangNingjiuWorkflow is the automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules. Workflow management sy
5、stem is a system that defines, creates and manages the execution of workflows through the use of soft ware, running on one or more workflow engines, which is able to interpret the process definition, interact with workflow participants and, where required, invoke the use of IT tools and applications
6、. A whole workflow management system consists of workflow enactment component, workflow function component and external application system. Workflow enactment component, so-called workflow engine, is the kernel of a workflow management system. All functions such as the interpretation of process defi
7、nition, the instantiation of process model and the schedule of activity are all under the charge of workflow engine. A process model is a pure model of business workflow in enterprise running process. When an enterprise running process is modeled using formal language such as Petri-net, a process mo
8、del comes into being. The scope of workflow technology application in enterprise involved in two categories, one is OA system with document transition as its main foundation, and another is workflow management system serves as the running platform of enterprise business systems. Different applicatio
9、ns require different functions of workflow engine. Being a well-functional workflow engine, its kernel schedule arithmetic should be flexible. At the same time, it should be able to support three kinds of process model such as fixed process, freedom process and nested process.In this paper, we discu
10、ss the design and implementation of a web-based workflow management system。 give out a common workflow management system structure which is useful when you want to apply workflow technology to enterprise application。 expound the application and implementation of classical Petri-net schedule arithmet
11、ic in workflow engine。 analyze the support of three kinds of process model in workflow engine.Key Words: Workflow。 Workflow Management System。 Petri-net。 Workflow Engine目 录1绪论11.1工作流的起源11.2本文结构安排12基本理论22.1工作流22.2工作流参考模型32.3工作流管理系统62.4工作流管理系统架构82.4.1工作流管理系统组成部分82.4.2工作流管理系统组件说明92.5 Petri网102.5.1 Petr
12、i网的基本元素102.5.1.1库所112.5.1.2变迁122.5.1.3弧132.5.1.4标记132.5.2 Petri网的触发器142.5.3 Petri网的路由152.5.4 Petri网的发散和汇聚163相关工作183.1工作流发展现状183.2工作流研究领域204系统描述214.1系统功能描述214.2系统对外服务225系统设计245.1 工作流管理系统架构255.1.1业务系统注册服务255.1.2过程模型定义服务275.1.3工作流程监控服务295.1.4通用功能接口服务295.1.5统一工作平台服务305.2部件功能解读305.2.1工作流执行服务部件305.2.2工作流功
13、能服务部件305.2.3业务系统应用部件315.3工作流引擎详解315.3.1任务调度策略315.3.1.1 Petri网调度算法325.3.1.2调度实例说明335.3.2对流程模型的支持365.3.2.1固定流程支持365.3.2.2自由流程支持375.3.2.3嵌套流程支持415.3.3任务表管理器436系统实现446.1数据库设计446.1.1模型定义数据456.1.2模型引用数据466.1.3实例静态数据466.1.4实例动态数据476.2图形建模工具486.2.1 VML和SVG的比较486.2.2输出文件格式说明506.3过程模型转换器516.3.1 DM转换器526.3.2 M
14、D转换器536.4工作流引擎核心代码分析546.4.1 FindTransitionsCanBeEnabled546.4.2 EnableATransition556.4.3 FireAnEnabledTransition576.4.4 PushAnEnabledTransitionToWorkitem586.4.5 InstantiateAWorkflow586.4.6 CommitATransition606.4.7 GetWorkitemFromEngine616.4.8 CommitAWorkitem617结束语63参考文献65作者在读期间参与科研及论文发表情况67独创性声明68致谢6
15、91绪论1.1工作流的起源工作流技术起源于二十世纪七十年代中期办公自动化领域的研究,由于当时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未取得成功。1983年至1985年间,在图像处理领域和电子邮件领域出现了早期的含有工作流特征的商用系统。 进入九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。1993年8月,第一个工作流技术标准化的工业组织工作流管理联盟(Workflow Management Coalition,简称WFMC,下同)成立。1994年,工作流管理联盟发布了用于工作流管理系统之间互操作
16、的工作流参考模型,并相继制定了一系列工业标准。与此同时,关于工作流技术的学术研究也十分活跃,许多原型系统在实验室里开发出来。进入二十一世纪以来,工作流技术已被越来越多的人认可,与之相关的标准规范、工作流引擎及商业产品不胜枚举。人们在开发推广工作流产品的同时,更加注重工作流的理论研究,以推动该项技术走向成熟。1.2本文结构安排本文后面内容将按如下章节编排:第二部分基础理论部分将对工作流及工作流管理系统的概念、模型等信息和Petri网相关基础知识进行解释;第三部分相关工作章节简述了工作流的发展现状以及工作流的研究领域等;第四章是本文所涉及的工作流管理系统的系统功能描述,意在从系统需求的角度在功能层
17、上介绍本工作流管理系统;第五部分以本工作流管理系统的系统架构为核心,分别从不同的角度对本工作流管理系统的系统设计思想作了详细的说明;在第五部分的系统设计基础之上,第六部分内容对本工作流管理系统的各个主要功能部件进行了关于实现技术上的详细介绍并对作为工作流管理系统灵魂的工作流引擎的部分核心代码进行了说明。2基本理论2.1工作流“工作流”这个概念并不为大多数人所了解,即使是在专业的软件开发人员中,“工作流”这三个字也是远远比不上DBMS这样的术语为人熟悉和使用的程度,这并不是说工作流技术不及DBMS等技术,只是说明了工作流技术相对于DBMS等成熟、稳定的技术来说,还处于发展的初期。工作流的英文单词
18、是workflow,犹如大多数计算机领域的术语一样,也是个合成词,是英文单词work和英文单词flow的组合。Work翻译为任务、工作等,flow则翻译为流程、流动等。Flow反映的是一种事物的动态属性或变化过程,例如水的流动被称为水流,空气的流动被称为气流,还有物料流、资金流等,在抽象领域还有信息流、控制流等,因此,使用任务、活动以及活动之间的变化过程表示业务流程就被称为工作流。在企业实际应用中,虽然工作流的概念相对于物料流、资金流、信息流等概念要抽象一些,但是工作流从更高的层次上提供了实现物料流、资金流、信息流及其涉及的相关过程与应用的集成机制,从而使得企业能够实现业务过程继承、业务过程自
19、动化与业务过程的管理。在工作流概念下实现业务过程集成与业务过程自动化的继承机制是通过定义不同任务之间相互关系的工作流模型(也称为过程模型)来实现的。在工作流模型中,无论是具体的物料转移动作、实际物理装置的操作动作、还是抽象的信息处理动作与决策过程,都可以用工作流的基本组成元素任务(也称为活动)来统一地描述。同样,反映不同任务之间的关系,无论是具体的车间中零件加工顺序关系、办公自动化中的文件批转、还是抽象的决策流之间的关系都可以用工作流的基本组成元素连接弧来统一地进行描述。连接弧反映了对企业业务经营过程的一种控制逻辑,它定义了活动之间的连接关系和执行顺序。工作流尚没有一个统一的、明确的定义,不同
20、的组织和研究人员对工作流给出了各自的定义:定义1:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行。定义2:工作流是将一组任务组织起来完成某个经营过程。在工作流中定义了任务的触发顺序和触发条件。每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以是由一个或多个人与软件系统协作完成。任务的触发顺序和触发条件用来定义并实现任务的触发、任务的同步和信息流(数据流)的传递。定义3:工作流是一个用来实施经营过程实践的机制。定义4:工作流是经营过程的一种计算机化的表示模型,定义了完成整个过程所需要的各种参数。这些参
21、数包括对过程中每一个步骤的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序。以上这些工作流的定义,虽然在表述方式上有所不同,但是基本上说明了这样一个问题,即工作流是经营过程的一个计算机实现。使用工作流作为经营过程的实现技术首先要求工作流系统能够反映经营过程的如下几个方面问题:1. 经营过程是什么,即由哪些活动、任务组成,也就是结构上的定义;2. 怎么做,即活动间的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义;3. 由谁来做,即人或者计算机应用程序,也就是组织角色的定义;4. 做得怎样,即通过工作流管理系统对执行过程进行监控。2.2工作流参
22、考模型随着对工作流产品需求的不断扩大,许多公司纷纷推出了不同的工作流产品。这些工作流产品都有自己的特点,也有自己的协议和接口标准,它们在不同的应用领域进行了应用。但是由于工作流管理技术与产品缺乏统一的标准,这些不同的工作流产品从术语的定义和使用、系统结构的设计到与应用之间的接口规范上都存在较大的差异,导致这些产品之间、产品与其它应用之间的集成十分困难。按照对系统开放性的要求,这些工作流系统和产品的规范化程度和开放性不够,导致它们之间不能够实现互操作。工作流管理系统互操作是指两个或多个工作流机之间通讯和协作工作的能力,具有通讯和协作的能力就称为可以互操作,否则就称为不能互操作。不同工作流管理系统
23、之间不能互操作这种情况给开发商和用户都带来了很大的不方便,也在一定程度上阻碍了工作流管理系统的推广和发展。为了能够更好的支持企业经营建模、分析和实施,适应世界市场的多元化趋势,需要建立工作流管理系统的相关标准,从系统结构、术语使用、接口实施方面提供标准化与规范化的定义,并以此为基础实现不同工作流产品之间的互操作,方便于其它应用系统的集成。在建立工作流的相关规范和标准方面,WFMC就是这样的一个国际组织。它提出了有关工作流管理系统的一些规范,定义了工作流管理系统的结构及其与应用、管理工具和其它工作流管理系统之间的应用编程接口,其主要目的是为了实现工作流技术的标准化和开发性,从而支持异构工作流管理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 web 技术 工作流 管理 系统 方案设计 实现
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4957932.html