(计算机软件与理论专业论文)基于web技术的工作流管理系统设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于web技术的工作流管理系统设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于web技术的工作流管理系统设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于web技术的工作流管理系统设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于web技术的工作流管理系统设计与实现.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机软件与理论专业论文)基于web技术的工作流管理系统设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

四川i 大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 基于w e b 技术的工作流管理系统设计与实现 计算机软件与理论专业 研究生刘福顺指导教师唐宁九 工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规 则,文档、信息或任务能够在不同的执行者之间进行传递与执行。工作流管理系 统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好 的工作流逻辑推进工作流实例的执行。一个完整的工作流管理系统是由工作流执 行部件、工作流功能部件和外部应用系统构成的。工作流执行部件,即工作流引 擎,是工作流管理系统的核心。工作流引擎负责解释过程定义、创建模型实例、 调度模型实例任务、推进流程等功能。一个过程模型就是企业经营过程中业务流 程的一个抽象模型,当使用诸如p e t r i 网这样的形式语言来描述一个企业经营过程 时,就形成了过程定义。过程定义被工作流引擎解释转换为能被工作流引擎执行 的过程模型,创建运行时模型实例并依据特定的调度算法,例如经典p e t r i 网调度 算法,对过程实例中的活动进行调度。 工作流技术在企业中的应用范围主要有两类,一类是在以公文流转为功能主 体的办公自动化系统中的应用,另一类则是为企业业务系统提供运行支撑平台的 工作流管理系统。不同的应用对工作流引擎的功能要求也是不同的,作为一个功 能完善的工作流引擎,核心调度能力要灵活,同时要能够支持常见的流程模型, 例如:固定流程、自由流程以及嵌套流程等。 本文论述的是一个基于w e b 技术的工作流管理系统的设计与实现,提出了 一种将工作流技术应用于企业的工作流管理系统的通用架构,阐述了经典p e t f i 网调度算法在工作流引擎中的应用与实现,分析并实现了工作流引擎对三种常见 的流程模型的支持。 关键词:工作流;工作流管理系统;p e t r i 网;工作流引擎 8 0 8 9 8 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 w e b - b a s e dw o r k f l o wm a n a g e m e n ts y s t e md e s i g na n di m p l e m e n t a t i o n l i u f u s h u n ( c o m p u t e rs o f t w a r e & t h e o r y1 d i r e c t e db yt a n g n i n g j i u w o r k f l o wi st h ea u t o m a t i o no fab u s i n e s sp r o c e s s ,i nw h o l e0 1 p a r t , d u r i n gw h i c h d o c u m e n t s ,i n f o m a a t i o no rt a s k sa l ep a s s e df r o mo n ep a r t i c i p a n tt oa n o t h e rf o ra c t i o n , a c c o r d i n gt oas e to fp r o c e d u r a lr u l e s w o r l ( f l o wm a n a g e m e n ts y s t e mi sas y s t e mt h a t d e f i n e s , c r e a t e sa n dm a n a g e st h ea ( e 删o n o f w o r k f l o w st h r o u l g ht h eu s eo fs o f tw a r g r u n n i n go no n eo rm o r ew o r k _ f l o we n g i n e s ,w h i c hi s a b l et oi n t e r p r e tt h ep r o c e s s d e f i n i f i o n i n t e r a c t w i t h w o r k f l o w p a r t i c i p a n t sa n d , w h e r er e q u i r e d ,i n v o k e t h e u s e o f i t t o o l sa n da p p l i c a t i o n s aw h o l ew o r k f l o wm a n a g e m e n ts y s t e mc o n s i s t so fw o r k f l o w e n a c t m e n tc o m p o n e n t , w o r k f l o wf u n c t i o nc o m p o n e n ta n de x t e r n a la p p l i c a f i o ns y s t e m w 砌o w e n a c t m e n tc o m p o n e n t , s o a j l e dw o r k f l o we n g i ,i st h ek e r n e lo fa w o r k f l o wm a n a g e m e n ts y s t e m a l lf u n c f i o ms u c ha st h ei n t e r p r e t a t i o no fp r o c e s s d e f m i f i o l l t h ei n s t a n t i a t i o no fp r o c e s sm o d e la n dt h es c h e d u l eo fa c t i v i t ya l ea l lu n d e r t h ec h a r g eo f w o r k f l o we n g i n e ap r o c e s sm o d e l i sap u r em o d e lo f b u s i n e s sw o r k f l o w i ne n t e r p r i s er u n n i n gp r o c e s s w h e na ne n t e r p r i s er u n n i n gp r o c e s si sm o d e l e du s i n g f o r m a ll a n g u a g es u c h 鹊p e t r i - n e t , ap r o c e s sm o d e lc o m e si n t ob e i n g t h es c o p eo fw o r k f l o wt e c h n o l o g ya p p l i c a :【i o ni ne n t e r p r i s ei n v o l v e di nt w o c a t e g o r i e s o n ei s0 as y s t e mw i t hd o c u m e n tt r a n s i t i o n a si t sm a i nf o u n d a t i o r t , a n d a n o t h e ri sw o r k f l o wm a n a g e m e n ts y s t e ms e r v e sa st h er u n n i n gp l a t f o r mo fe n t e r p r i s e b u s i n e s ss y s t e m s d i f f e r e n ta p p l i c a t i o n sr e q u i r ed i f f e r e n tf u n c t i o n so f w o r k l z i o we n g i n e b e i n gaw e l l f u n c t i o n a lw o r k f l o we n g i n e 。i t sk e m e is c h e d u l ea r i t h m e t i cs h o u l db e f l e x i b l e a tt h e 鬣m et i m e i ts h o u l db ea b l et os u p p o r tt h r e ek i n d so fp r o c e s sm o d e l s u c ha sf i x e dp r o c e s s ,f i e e d o mp r o c e s sa n dn e s t e dp r o c e s s i nt h i sp a p e r , w ed i s c u s st h ed e s i g na n di m p l e m e n t a t i o no faw e b - b a s e dw o r k f l o w m a n a g e m e n ts y s t e m ;g i v eo u t ac o m m o nw o r k f l o wm a n a g e m e n ts y s t e m8 t l l l c t u r e w h i c hi su s e f u lw h e ny o uw a n tt oa p p l yw o r k f l o wt e c h n o l o g yt oe n m l ) r :i s ea p p l i c a t i o n ; e x p o u n dt h ea p p l i c a t i o na n di m p l e m e n t a t i o no f c l a s s i c a lp e t r i - n e ts c h e d u l ea r i t h m e t i ci n w o r k f l o we n g i n e ;a n a l y z et h es u p p o r to ft h r e ek i n d so fp r o c e s sm o d e li nw o r l d l o w e n g i l l e k e yw o r d s :w o r k f l o w ;w o r k f l o wm a n a g e m e n ts y s t e m ;p e t r i - n e t ;w o r k f l o we n g i n e 四川大学硕七学位论文基于w e b 技术的工作流管理系统设计与实现 l 绪论 1 1 工作流的起源 工作流技术起源于二十世纪七十年代中期办公自动化领域的研究,由于当时 计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未取得 成功。1 9 8 3 年至1 9 8 5 年间,在图像处理领域和电子邮件领域出现了早期的含有 工作流特征的商用系统。 进入九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息化 建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。1 9 9 3 年8 月,第一个工作流技术标准化的工业组织一一工作流管理联盟( w o r k f l o w m a n a g e m e n tc o a l i t i o n ,简称w f m c ,下同) 成立。1 9 9 4 年,工作流管理联盟发 布了用于工作流管理系统之间互操作的工作流参考模型,并相继制定了一系列工 业标准。与此同时,关于工作流技术的学术研究也十分活跃,许多原型系统在实 验室里开发出来。进入二十一世纪以来,工作流技术已被越来越多的人认可,与 之相关的标准规范、工作流引擎及商业产品不胜枚举。人们在开发推广工作流产 品的同时,更加注重工作流的理论研究,以推动该项技术走向成熟。 1 2 本文结构安排 本文后面内容将按如下章节编排:第二部分基础理论部分将对工作流及工作 流管理系统的概念、模型等信息和p e t r i 网相关基础知识进行解释;第三部分相关 工作章节简述了工作流的发展现状以及工作流的研究领域等;第四章是本文所涉 及的工作流管理系统的系统功能描述,意在从系统需求的角度在功能层上介绍本 工作流管理系统;第五部分以本工作流管理系统的系统架构为核心,分别从不同 的角度对本工作流管理系统的系统设计思想作了详细的说明;在第五部分的系统 设计基础之上,第六部分内容对本工作流管理系统的各个主要功能部件进行了关 于实现技术上的详细介绍并对作为工作流管理系统灵魂的工作流引擎的部分核心 代码进行了说明。 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 2 基本理论 2 1 工作流 “工作流”这个概念并不为大多数人所了解,即使是在专业的软件开发人员 中,“工作流”这三个字也是远远比不上d b m s 这样的术语为人熟悉和使用的程 度,这并不是说工作流技术不及d b m s 等技术,只是说明了工作流技术相对于 d b m s 等成熟、稳定的技术来说,还处于发展的初期。工作流的英文单词是 w o r k f l o w ,犹如大多数计算机领域的术语一样,也是个合成词,是英文单词w o r k 和英文单词f l o w 的组合。w o r k 翻译为任务、工作等,f l o w 则翻译为流程、流动 等。f l o w 反映的是一种事物的动态属性或变化过程,例如水的流动被称为水流, 空气的流动被称为气流,还有物料流、资金流等,在抽象领域还有信息流、控制 流等,因此,使用任务、活动以及活动之间的变化过程表示业务流程就被称为工 作流。 在企业实际应用中,虽然工作流的概念相对于物料流、资金流、信息流等概 念要抽象一些,但是工作流从更高的层次上提供了实现物料流、资金流、信息流 及其涉及的相关过程与应用的集成机制,从而使得企业能够实现业务过程继承、 业务过程自动化与业务过程的管理。在工作流概念下实现业务过程集成与业务过 程自动化的继承机制是通过定义不同任务之间相互关系的工作流模型( t g 称为过 程模型) 来实现的。在工作流模型中,无论是具体的物料转移动作、实际物理装 置的操作动作、还是抽象的信息处理动作与决策过程,都可以用工作流的基本组 成元素任务( 也称为活动) 来统一地描述。同样,反映不同任务之间的关系, 无论是具体的车间中零件加工顺序关系、办公自动化中的文件批转、还是抽象的 决策流之间的关系都可以用工作流的基本组成元素连接弧来统一地进行描 述。连接弧反映了对企业业务经营过程的一种控制逻辑,它定义了活动之间的连 接关系和执行顺序。 工作流尚没有一个统一的、明确的定义,不同的组织和研究人员对工作流给 出了各自的定义: 2 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 定义1 :工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过 程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行。 定义2 :工作流是将一组任务组织起来完成某个经营过程。在工作流中定义了任 务的触发顺序和触发条件。每个任务可以由一个或多个软件系统完成,也可以由 一个或一组人完成,还可以是由一个或多个人与软件系统协作完成。任务的触发 顺序和触发条件用来定义并实现任务的触发、任务的同步和信息流( 数据流) 的 传递。 定义3 :工作流是一个用来实施经营过程实践的机制。 定义4 :工作流是经营过程的一种计算机化的表示模型,定义了完成整个过程所 需要的各种参数。这些参数包括对过程中每一个步骤的定义、步骤间的执行顺序、 条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序。 以上这些工作流的定义,虽然在表述方式上有所不同,但是基本上说明了这 样一个问题,即工作流是经营过程的一个计算机实现。使用工作流作为经营过程 的实现技术首先要求工作流系统能够反映经营过程的如下几个方面问题: 1 经营过程是什么。即由哪些活动、任务组成,也就是结构上的定义; 2 怎么做,即活动间的执行条件、规则以及所交互的信息,也就是控制流 与信息流的定义; 3 由谁来做,即人或者计算机应用程序,也就是组织角色的定义; 4 做得怎样,即通过工作流管理系统对执行过程进行监控。 2 2 工作流参考模型 随着对工作流产品需求的不断扩大,许多公司纷纷推出了不同的工作流产品。 这些工作流产品都有自己的特点,也有自己的协议和接口标准,它们在不同的应 用领域进行了应用。但是由于工作流管理技术与产品缺乏统一的标准,这些不同 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 的工作流产品从术语的定义和使用、系统结构的设计到与应用之间的接口规范上 都存在较大的差异,导致这些产品之间、产品与其它应用之间的集成十分困难。 按照对系统开放性的要求,这些工作流系统和产品的规范化程度和开放性不够, 导致它们之间不能够实现互操作。工作流管理系统互操作是指两个或多个工作流 g l 2 _ 间通讯和协作工作的能力,具有通讯和协作的能力就称为可以互操作,否则 就称为不能互操作。不同工作流管理系统之间不能互操作这种情况给开发商和用 户都带来了很大的不方便,也在一定程度上阻碍了工作流管理系统的推广和发展。 为了能够更好的支持企业经营建模、分析和实施,适应世界市场的多元化趋 势,需要建立工作流管理系统的相关标准,从系统结构、术语使用、接口实施方 面提供标准化与规范化的定义,并以此为基础实现不同工作流产品之间的互操作, 方便于其它应用系统的集成。在建立工作流的相关规范和标准方面,w f m c 就是 这样的一个国际组织。它提出了有关工作流管理系统的一些规范,定义了工作流 管理系统的结构及其与应用、管理工具和其它工作流管理系统之间的应用编程接 口,其主要目的是为了实现工作流技术的标准化和开发性,从而支持异构工作流 管理系统与产品之间的互操作,并且使得其它的应用可以使用该结构和定义好的 通用a p i ( 应用编程接口) 访问不同的工作流管理系统提供的服务,实现与其它 应用的快速有效集成。 w f m c 在工作流的相关规范和标准方面做出的主要贡献之一就是提出了一 个工作流参考模型( w 酬k n o wr e f e r e n c em o d e l ) 。工作流参考模型来源于对普通 工作流程序结构的分析,确定结构中的接口,这些接口可以使不同产品在不同的 结构层次上协同工作。所有工作流系统都包含一系列的公共组件,组件间采用一 套被定义好的方法进行协作;不同的产品在这些公共的组件中,会表现出不同的 处理能力。为了实现不同工作流产品间的协同工作,需要在这些组件间制定一套 标准的接口和数据交换格式。通过实现这些标准接口,可以达到产品间的协同工 作。 图l 描述了w f m c 提出的工作流参考模型的主要组件和接口。 4 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 图1 :w f m c 工作流参考模型钼件与接口 趔翟定j 2 :工兵:以计算机能处理的形式进行过程定义,现在的大多数过程定义工 具采用了图形方式,过程设计者通过绘图方式来创建过程模型,最后输出一个 x p d l 文件,有的过程定义工具还有分析、检测功能,帮助设计者设计出良好的 过程模型。 功懒颓覆务:由一个或多个工作流引擎组成,提供过程实例的执行,为活动 进行导航,与外界资源交互完成各项活动,维护控制数据和相关数据等功能。 乃饶科端朔;提供用户操作工作流管理系统分配来的任务,由工作流任务 表管理器和任务操作共同完成。工作流任务表管理器是一个软件模块,负责管理 工作流的任务表,并完成与工作流参与者的交互操作。 动饩游影擎壹密调历勉鼹在工作流任务执行过程中,一些不需要人员参与的活 动会直接调用一些应用。在简单的情况下,工作流引擎使用过程模型中定义的活 动信息、应用程序所需要的数据来激活外部应用程序;在复杂的情况下采用工具 代理的方式。工具代理与工作流引擎之间通过专用集成接口来完成数据交换和消 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 息传递。 暴9 手謦壅瘛篮挖z 典:对工作流在整个组织内的流程情况进行监控,并提供一系 列管理功能,实现安全性、过程控制、授权等操作。典型的功能范围包括用户管 理、角色管理、监控管理、资源管理、过程监控管理。具体如:过程模型的实例 化,启动、挂起、恢复、终止过程实例;管理正在执行的过程实例等。 r j 肇统定之劈揆偿亭口j a 在建模或定义工具与运行时期工作流管理软件间的接 口。 r 7 翰客户端疙够密乒罄臼伽2 a 客户端工作流应用程序与工作流机之间的 通信a p i 。 应涝摇乎堀毋撰口伽,a 工作流机直接调用应用程序或应用程序代理的a p i , 是工作流系统同应用系统通信的主要接口之一 彤t 附彭绍功磁萤日渚口,a 工作流机同工作流机之间的通信接口,是构成分 布式工作流管理系统的主要功能接口之一。 嫠髫瘛箍醛接口偿亨臼5 a 提供对工作流机状态以及工作流运行实例的监控和管 理的接口。 2 3 工作流管理系统 工作流管理是在迅速发展的技术,它在不同的行业已经得到了应用。工作流 管理技术与工作流管理系统得到广泛重视的一个重要原因是它能够在信息技术的 支持下实现基于人工和计算机活动组成的业务过程的自动化,它可以实现不同自 动化程度( 人工操作、半自动化、自动化过程) 的规范化业务管理功能,具有良 好的适应性。因此,虽然工作流管理最早是在办公自动化领域开始进行应用的, 它在工业领域的应用同样取得了显著的成果,尤其是在制造领域得到了广泛的应 用。 工作流管理系统w j r k 日o wm 锄a g 锄e n ts y s t e m ( 简称w f m s ) ,在工作流 定义基础上,具有如下定义。 6 四川大学硕士学位论文蕞于w e b 技术的工作流管理系统设计与实现 定义j :工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照 在计算机中预先定义好的工作流逻辑推进工作流实例的执行。 定义2 = 工作流管理系统是支持企业经营过程高效执行并监控其执行过程的计算 机软件系统 根据工作流管理系统的定义,一个工作流管理系统应该提供如下的功能: 1 定义、实现和管理工作流的运行; 2 与工作流执行者,即人或应用系统,进行交互; 3 推进工作流实例的执行; 4 监控工作流的运行状态。 需要指出的是,工作流管理系统不是企业的业务系统。在很大程度上,工作 流管理系统为企业的业务系统运行提供了一个软件支撑环境,非常类似于在单个 计算机上的操作系统。只不过工作流管理系统支撑的范围比较大,环境比较复杂 而以,所以也有人称工作流管理系统是业务操作系统。 在工作流管理系统的支撑下,通过集成具体的业务应用软件和操作人员的界 面操作,才能够良好地完成对企业经营过程运行的支持。所以,工作流管理系统 在一个企业或部门的经营过程中的应用过程是一个业务应用软件系统的集成与实 施过程。 工作流管理系统可以用来定义与执行不同覆盖范围( 单个工作者、部门、全 企业、企业问) 、不同时间跨度( 分钟、小时、天、月) 的经营过程。这完全取决 于实际应用背景的需求。按照经营过程以及组成活动的复杂程度的不同,工作流 管理系统可以采取许多种实施方式,在不同的实施方式中,所应用的信息技术、 通信技术和支撑系统结构会有很大的差别。工作流管理系统的实际运行环境可以 是在一个工作组内部或者在全企业的所有业务部门。 7 四川大学硕十学位论文基于w e b 技术的工作流管理系统设计与实现 2 4 工作流管理系统架构 图2 :w f m c 提出的通用工作流管理系统产品架构 2 4 1 工作流管理系统组成部分 图2 为删c 提出的工作流管理系统产品架构。这个架构给出了抽象的工 作流管理系统的功能组成部件和接口,它能够满足工作流管理系统和产品应该具 有的主要功能,可为实现工作流产品之间的互操作提供公共的基础。从图中可以 看出,工作流管理系统主要由三部分组成: 8 四门f 大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 嚣绎为鹬完成工作流管理系统不同组成部分功能的实现,包括过程建模工具, 工作流引擎,任务表管理器和用户界面; 采绕搓确缵力辱工作流管理系统中的一个或多个软件构件使用的数据,包括过程 定义,组织俑色模型数据,工作流控制数据,工作流相关数据,任务表; 应留与痘够教勇鳋对于工作流管理系统来说,它们不是工作流管理系统的组成部 分,而是属于外部系统和数据,它们被工作流管理系统调用来完成整个或部分工 作流管理的功能,如被工作流管理系统调用的外部应用以及这些应用操作的数据。 2 4 2 工作流管理系统组件说明 也程罄自邕工兵:过程建模工具被用来创建计算机可处理的业务过程描述。它可以 是形式化的过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输 的一组路由命令。 纽匆馋彦攒! 型包含了组织结构和组织中角色的信息。这些信息往往与流程定义 信息紧密相关。 乙懒移莠笏瘛乙饶耪z 荔工作流执行系统也称为过程执行环境,包括一个 或多个工作流引擎。工作流引擎是w f i v i s 的核心软件。它的功能包括;解释过程 定义;创建过程实例并控制其执行;调度各项活动;为用户工作表添加工作项; 通过应用程序接口( a p i ) 调用应用程序;提供监督和管理功能等。工作流执行 子系统可以包括多个工作流引擎,不同工作流引擎通过协作共同执行工作流。 乙饩沆接制髭操被工作流执行系统和工作流引擎管理的系统数据,如工作流实 例的状态信息、每一活动的状态信息等。 功毵谳毖缘指与业务过程流程相关的数据。w f m s 使用这些数据确定工作 流实例的状态转移,例如过程调度决策数据、活动间的传输数据等。工作流相关 数据既可以被工作流引擎使用,也可以被应用程序调用。是一段工作流引擎和应 用系统共享的数据区。 r j 饶砀撼流程执行中,当需要用户的交互时,工作流引擎便将工作项放置到由 9 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 任务表管理器管理的工作列表中,通过任务表管理器实现与用户的交互。 应溺墟待瓣r 应滔| 赞:操应用程序可以直接被w f m s 调用或通过应用程序代理被 间接调用。通过应用程序调用,w f m s 部分或完全自动地完成一个活动,或者对 业务参与者的工作提供支持。与工作流控制数据和相关数据不同,应用数据对应 用程序来讲是局部数据,对w f m s 的其它部件来说是不可见的。 2 5p e t r i 网 p e t r i 网是一个图形化的数学建模工具。一方面可以利用图形化的方式来描述 工作流过程,另一方面可以通过形式化的分析技术检查工作流模型的正确与否, 甚至对其进行性能分析。 p e t r i 网定义成三元组,n p ( p ,t ,f ) ,其中: p = - p l , p 2 ,p 3 p l l l ) 是库所的有限非空集; t = t l ,t 2 ,t 3 k 是变迁的有限非空集; f = p x t u t x p 是有向弧的集合,p 和t 还满足p n t = e 且p u t 7 e o : 图3 :一个p e t r i 网模型实例 2 5 1p e t r i 网的基本元素 p e t r i 网作为一个图形化的建模工具,具有四种基本的图元,任何一个p e l r i 1 0 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 网模型都是由如下四种基本图元组合形成的。这四种基本圉元是: o ( 1 ) 库所 - + ( 3 ) 弧 2 5 1 1 库所 图4 :p e t r i 网基本图元标示 ( 2 ) 变迁 ( 4 ) 标记 库所使用圆圈表示。库所是英文p 1 撇的中文译文,在英文中p l a c e 意为空间、 地点、位置,大多数中文文献中都将p l a c e 翻译为库所是比较形象、合理的,本 文后继部分将使用库所一词来代表p l a c e ,为了文章说明的方便,也会交替使用 # a c e 和库所,它们代表同样的图元。在后继的文章中,也会使用p 来表示库所, 使用p i ( i - l ,2 ,3 ) 表示在一个p e t r i 网模型中的某个具体的库所。 在p e t r i 网中,库所因其所处的位置的不同被划分为三类,分别是:起始库所、 终止库所、中间库所。 危赠辱筛即s t a r tp l a c e ,在标准p e t r i 网模型中有且仅有一个,它表示p e t r i 网模型的唯一入口,模型实例将从该点开始并进行流程推迸。起始库所的特征是, 没有指向该库所的外向弧,但可以有一个或多个从该库所指向变迁的内向弧。 终止莆氟即e n dp l a c e ,在标准p e t r i 网模型中有且仅有一个,它表示p e t d 网模型的唯一出口,模型实例将在该点结束流程。终止库所的特征是,没有从该 库所指向变迁的内向弧,但可以有一个或多个从变迁指向该库所得外向弧。 乒觑雾甄即i n t e r m e d i a t ep l a c e ,在标准p e t r i 网模型中可以有0 个或多个, 四川大学硕士学位论文摹于w e b 技术的工作流管理系统设计与实现 它是除去起始库所和终止库所外的第三类库所,通常,中间库所起到的作用是连 接变迁与变迁,中间库所根据其相对于变迁的位置的不同又可以分为输入库所和 输出库所两种。当存在一条内向弧p - t 时,我们称p 是t 的输入库所。当存在 一条外向弧t - p 时,我们称p 是t 的输出库所。 2 5 1 2 变迁 变迁使用矩形表示。变迁是英文t r a n s i t i o n 的中文译文,在英文中位a n s i t i o n 意 为转换、转变,大多数中文文献中都将t r a n s i t i o n 翻译为变迁是比较形象、合理的, 本文后继部分将使用变迁一词来代表t r a n s i t i o n ,为了文章说明的方便,也会交替 使用t r a n s i t i o n 和变迁,它们代表同样的图元。在后继的文章中,也会使用t 来表 示变迁,使用雨( i _ 1 ,2 ,3 ) 表示在一个p e l r i 网模型中的某个具体变迁。 为了后文讨论工作流引擎调度策略的方便,这里简单介绍一下变迁在模型实 例中可能存在的状态。一个变迁在模型实例中可能存在三种状态,分别是:常态、 就绪态和激发态。 膨赢或者说是未就绪态,处于该状态的变迁是指那些尚不满足被调度的条 件的变迁。 崩鸳享衣就绪态的变迁是指那些已具备了被调度的条件的变迁,这里的被调 度的条件是指该变迁的所有输入库所中都至少获得了一个t o k e n ,这将在工作流引 擎调度策略章节详细分析。 拨发蠢甄激发态的变迁是指那些成为就绪态的变迁所对应的任务实体被实际 执行后的变迁的状态。严格来说,激发态并不是变迁的一种静态状态,而是指处 于就绪态的变迁所对应的任务被实际执行时刻的动态状态,这样来说,一个就绪 态的变迁所对应的任务实体被实际执行后变迁将处于激发态,激发态只是个瞬间 状态,进入激发态的变迁即刻处于常态,即进入新的等待调度条件的状态。图5 说明了变迁状态的变更。 1 2 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 2 。5 1 3 弧 图5 :变迁的运行时状态迁移图 笠缝邀蕉 弧使用一条有向线段表示。弧是英文a r c 的中文译文,弧在p c t r i 网模型中起 到的作用是连接库所和变迁,因为有弧的存在,一个p e l r i 网的模型最终形成了一 个有向图。根据弧的方向是从库所指向变迁还是从变迁指向库所,弧可以分为两 类:内向弧和外向弧。 内向弧是指从库所指向变迁的弧,如图。内向弧是英文i n w a r da r c 的中文译 文内向弧通常使用p - t 来表示,即从p l a c e 指向t r a n s i t i o n 的弧。 外向弧是指从变迁指向弧所得弧,如图。外向弧是英文o u t w a r da r c 的中文译 文。外向弧通常使用t - p 来表示,即从t r a n s i t i o n 指向p l a c e 的弧。 这里需要说明的是,当我们说外向和内向时,我们是站在变迁即t r a n s i t i o n 的 角度来说明弧的方向的,因为t r a n s i t i o n 在p e t r i 网模型中是主要的元素,t r a n s i t i o n 也将是工作流调度引擎进行调度的主体。这将在后继的文章中说明。 2 5 1 4 标记 标记在p e t r i 网模型中使用小黑点来表示,标记一词是本文对t o k e n 的翻译, 在大多数中文文献中都没有给出比较合适的翻译,通常选择了直接使用t o k e n 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 词,应该说在p e t r i 网中t o k e n 所起到的作用很难选择一个合适的中文来描述。标 记不是p e t r i 网静态模型的元素,而是p e t r i 网模型实例运行时的存在的元素。具 体来说,在p e a i 网模型建模期间是不存在标记的,只有当该模型被工作流执行引 擎实例化并开始调度时存在的。标记始终是存在于库所中的,如果把库所理解为 种容器,那么,库所的作用就是用来装标记的。p e t r i 网模型实例中标记在所有 库所中的分布状态就反映了一个p e t r i 网模型实例的运行状态。因此,t o k e n 在p e t r i 网中是一种运行时模型实例状态信息的载体和标记,这也是本文将t o k e n 翻译为 标记的直接原因。从这个角度来说,有些参考文献引用网络中的术语将p e t r i 网中 的t o k e n 翻译为令牌是不恰当的,至少是不够准确的,p e l r i 网中的t o k e n 从功能 上来说是一种反映模型实例运行状态的静态实体,网络中的令牌是一种处于移动 中的动态实体。p e t r i 网中的t o k e n 的生存期只是在某个特定的p l a c e 中从创建到消 耗的过程,并不会出现t o k e n 在不同的p l a c e 中移动的情况。这一点在后文将由具 体的解释。 2 5 2p e t r i 网的触发器 从上文所阐述的变迁运行期状态迁移中可以看出,变迁处于就绪态的时刻和 变迁处于激发态的时刻是不同的。能够引起一个处于就绪态的变迁向激发态迁移 的事件被称为一个“触发器”。存在四种不同类型的触发器。 图6 - p e t d 网中变迁的四种触发类型表示图 1 4 口b圜口d 口。o口。 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 a )自动触发:任务一旦从常态迁移到了就绪态就马上可以被激发。这种类型的 触发应用于那些不需要人来交互的而是被应用程序来执行的任务。 b ) 用户触发:任务由人来触发,例如,用户选择一个处于就绪态的任务来执行。 在一个工作流管理系统中每个用户都有一个任务输入箱,这个输入箱所包含 的就是那些已经就绪的可以被用户执行的任务实例,任务实例也称为工作项 ( w o d d t e m ) 。用户选择并完成一个工作项的操作就是相关的任务实例的触 发,同时工作流实例也将进入流程的下一阶段。 曲时间触发:处于就绪态的任务由一个时钟来触发。例如,任务项在一个预定 的时刻被执行。 d ) 消息触发:一个外部事件触发个处于就绪态的任务实例。消息可能是电子 邮件、传真、电话或e d i 消息。每个这样的外部事件都对应应用任务的某个 活动,这样工作流系统才能知道事件的发生 2 5 3p e t r i 网的路由 从工作流程的起始库所到中止库所的路由形式有多种,如下: 顺序路由 旷卜旷旷 图7 :顺序路由示意图 并行路由 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 条件路由 图8 :并行路由示意图 迭代路由 一曰一 c l 图9 :条件路由示意图 图1 0 :迭代路由示意图 2 5 4p e t r i 网的发散和汇聚 为了能够实现p e t r i 网的路由方法,需要使用发散和汇聚,p e t f i 网具有如下基 本的发散和汇聚单元: 1 6 p j l l 大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 与发散 显式或发散 隐式或发散 与发敬 与汇聚 国1 1 :p c 啊网的发散和汇聚标示 或汇聚 与发散标示的是一种并行路由,即多个任务可以并行地或以某种不确定的次 序进行。用图表示为具有一个输入库所、两个或多个输出库所的变迁。这样,当 该变迁被激发后将为所有的输出库所产生t o k e n 。 与汇聚用图表示为一个具有两个或多个输入库所和个输出库所的变迁。这 样,变迁只有当其所有的输入库所中都拥有了可用的姚后才能够从常态迁移 到就绪态,既是说,输入库所前并行的流程必须全部执行完,才汇聚到当前变迁, 任何一个输入库所没有可用的t o k e n ,变迁都处于同步等待状态。 显示或发散是条件路由的一种具体实例,它在流程的推进中表现出来的特征 是尽可能早的确定( a se a r l ya sp o s s i b l e ) 。用图表示为在变迁的输出弧上附加了条 件判断,即是说,当变迁被激发后,并不是为其所有输出库所产生t o k ,而是要 1 7 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 根据输出弧上的条件,通常条件是一种b o o l 型的表达式,以决定是否为弧所连接 的输出库所产生t o k e n 。 隐式或发散 隐式或发散也是条件路由的一种具体实例,它在流程的推进中表现出来的特 征是尽可能晚的确定( a sl a t e 鹤p o s s i b l e ) 。用图表示为存在两条弧从同一库所出 发指向不同的变迁,这样,当输入库所获得t o k e n 后,哪个变迁先激发就会获得 这个t o k e n 。一旦某个变迁消耗了该t o k e n ,那么,另外的变迁将不再具备就绪的 条件了,也就无法被激发了。 或汇聚 或汇聚用图表示为两个不同的变迁拥有同一个输出库所,这样,这两个不同 的变迁中任何一个的激发都会使得其输出库所后继的变迁的状态的迁移。 3 相关工作 3 1 工作流发展现状 工作流的概念起源于生产组织和办公自动化领域,提出的目的是通过将工作 分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们 进行监控,达到提高工作效率、降低生产成本、提高企业生产经营管理水平和企 业竞争力的目标。 自2 0 世纪9 0 年代中期至今,互联网技术在我国迅速发展和普及,引出了 i n t r a n e t 、e x t r a n e t 、i n t e m e t 、政府上网工程、企业上网工程、电子政府、电子商 务、电子管理、政府内部网、企业网、数字神经系统和数字化办公等一系列新概 念,这些新概念的提出背后都或多或少的存在着工作流的思想,只不过有些概念 体现的工作流思想少些,而有些概念的核心思想就是工作流的思想,如办公自动 化等。随着企业信息化步伐的加快,工作流的思想已经越来越多地进入了企业应 用系统领域。现代化企业为了增强工作效率、缩短信息传播周期、固化业务模式、 增加核心竞争力,已经将企业经营过程的各个领域各个环节均纳入了企业信息化 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 的部分。众多的企业应用系统按照功能从大的范围来划分,无非两种,一种是以 公文流转、日常办公为主体的办公自动化系统,另一种则是以企业经营过程的业 务流程为主要辅助对象的具体业务系统。无论是办公自动化系统还是具体业务系 统,都是为企业提供软件服务的,都是本着服务于企业需求为目标的,然而,现 实世界中的各个企业的经营过程是无时无刻不在变化和调整中的,以便适应瞬息 万变的市场。这种变更带给信息化系统软件的最大的问题在于企业经营过程的调 整往往使得原有的信息化系统软件要推倒重新设计开发,使开发成本非常的高, 寻找到一种能够相对灵活的架构和管理方式以使得信息化系统能够快速的适应企 业经营过程的变更成为了为企业构造信息化系统的软件设计人员的头等课题。工 作流及工作流管理系统之所以能为企业信息化系统所使用究其原因也在于此。虽 然工作流技术已经开始在企业应用中拥有了一片天空,然而,同已经应用于企业 的其他技术相比,工作流技术仍然处于其技术发展的初期。 套 兰 鲁 塑 t e c h n d o g y p e a k0 ri n 慨e d t r o u g ha rs i d o r p 妇t e a uo r t r 哟节钓墩协似 o l s 撕事啪腿呲 酬t 峥n 嬲呲嗍啪嘶 m a t u r i 图1 2 :工作流技术同关系数据库管理系统技术发展曲线图 图1 2 是在s t c 、,c s m i 也提出的用来反映一种技术从其提出到最终产品化的发展 四川大学硕士学位论文基于w e b 技术的工作流管理系统设计与实现 趋势的曲线图上标示了工作流技术同r d b m s 技术当前发展阶段的对比。从图中 不难看出,工作流技术才刚刚处于技术的提出和初期的发展阶段,距离其发展的 高峰期还有很长的一段路。特别是当把工作流技术同已经处于稳定阶段的产品化 了的r d b m s 相比时,工作流技术发展的落后是非常明显的,然而,任何一种技 术的发展客观上都是遵循这一技术发展曲线的,都是要有个过程的,r d b m s 技 术能够达到今天的程度也是从其提出之初一点点地发展起来的,因此,工作流技 术尽管仍然处于其技术提出阶段,但市场对技术的需求必将加快工作流技术的发 展,加快其产品化的步伐。 从国内目前工作流技术应用来看,工作流进入企业应用的还非常有限,并且, 已有的工作流产品大部分属于办公自动化系统,例如协同、通达、浪潮等产品。 然后,能够作为企业业务系统支撑平台的工作流产品几乎没有,企业业务系统仍 是大量的专业系统各自独立的构成的,相互集成协作的能力基本上靠传统的手工 方式人为的来操作,失去了信息化的高效性和自动性。工作流为企业业务系统提 供支撑平台的需求同当前工作流技术的发展形成了鲜明的对比,当然,需求拉动 市场,市场促进科研,随着工作流技术的成熟,最终将会进入到企业业务系统并 为其服务的。本文所设计实现的工作流

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论