




已阅读5页,还剩48页未读, 继续免费阅读
(计算机应用技术专业论文)可扩展工作流框架的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 工作流技术是进入9 0 年代后计算机应用领域的一个新的研究热点,对工作 流进行深入的研究对于提高企业信息化程度、业务运行效率,降低业务成本,从 而整体提升企业的竞争力有着重要的意义。 本论文首先介绍了工作流技术的起源、发展以及研究现状。尔后从一个简单 工作流实例的分析开始,逐步展开对工作流定义、工作流模型、工作流的实现设 计这三方面的介绍。同时提出了对于这三方面新的观点或设计的改进。在工作流 定义方面本文在一些现行定义的基础上提出了新的关于工作流的定义,并在该定 义的基础上选择了p e t r i 网作为该定义下的工作流建模基础。选定了该建模基础 后本文对p e t r i 网作了定义上的扩展以使其适应工作流灵活多变这一特性需求, 并在扩展定义后的p e t r i 网基础上提出了基于p e t r i 网可扩展定义的工作流模型。 随后根据该模型完成了工作流的可扩展框架设计,并对该框架进行了详细的介 绍,同时完成了基于该框架设计的一个实现,并对该实现做了具体实现的说明。 最后从工作流的市场、应用领域、相关技术的发展角度对整个工作流的研究 与发展以及本文提出的关于工作流可扩展框架设计作了前景展望。 关键词:工作流工作流模型p e t r i 网框架 a b s t r a c t w o r k f l o wt e c h n o l o g yh a sb e e nan e wh o t s p o ti nt h ea r e ao fc o m p u t e ra p p l i c a t i o n s i n c e19 9 0 i ti sv e r yi m p o r t a n tt os t u d yt h et e c h n o l o g yi nd e p t h ,s i n c ei tc a n s i g n i f i c a n t l yi m p r o v et h ei n f o r m a t i o ns t a n d a r da n d t r a n s a c t i o no p e r a t i o ne f f i c i e n c yo f e n t e r p r i s e s ,a n dr e d u c et h et r a n s a c t i o nc o s t ,h e n c em a k et h e m m o r ec o m p e t i t i v e i n t h i sp a p e r ,t h eo r i g i na n de v o l u t i o no fw o r k f l o wt e c h n o l o g yi si n t r o d u c e da t f i r s t a f t e rt h a t , w o r k f l o wd e f i n i t i o n , w o r k _ f l o wm o d e l ,w o r k f l o wi m p l e m e n t a t i o n d e s i g nt h e s et h r e ea s p e c t sa r eg r a d u a l l yi n t r o d u c e db e g i n n i n gw i t ha na n a l y s i so na s i m p l ew o r k f l o we x a m p l e ,a n dm e a n w h i l eo u ro p i n i o n sa n db e a e r m e n t so nt h e s e t h r e ea s p e c t sa r ep r o p o s e d f r o mw o r k f l o wd e f i n i t i o no n ,w ep r o p o s eo u rd e f i n i t i o no f w o r k f l o wb a s e do ns o m ec u r r e n tw o r k f l o wd e f i n i t i o n a t i e rt h a tw es e l e c tp e t r i - n e ta s t h ef o u n d a t i o no fw o r k f l o wm o d e lb a s e do nt h ed e f i n i t i o nw ep r o p o s e db e f o r e a f t e r w es e l e c t e dt h ef o u n d a t i o no fw o r k f l o wm o d e l ,w ee x t e n dt h ed e f i n i t i o no fp e t r i - n e t i no r d e rt om a k ei ta d a p tf o rt h ea g i l i t yo fw o r k f l o w , a sar e s u l t ,aw o r k f l o wm o d e l b a s e do np e t r i - n e tt h ed e f i n i t i o no fw h i c hc a nb ee x t e n d e di sp r o p o s e d a f t e rt h a ta s c a l a b l ew o r k f l o wf r a m e w o r kb a s e do nt h i sm o d e li sa l s op r o p o s e d ,a n dm e a n w h i l ei t i si n t r o d u c e di nd e t a i l si nt h i sp a p e ra n da ni m p l e m e n t a t i o nb a s e do nt h i sf r a m e w o r k i si m p l e m e n t e dt h o u g hi ti sn o ts op e r f e c t i nt h ee n d ,t h ec o n c l u s i o na n dt h ef u t u r eo fw o r k f l o wr e s e a r c ha n dt h ef r a m e w o r k d e s i g np r o p o s e di nt h i sp a p e ra r eg i v e n k e y w o r d s :w o r k f l o w , w o r k f l o wm o d e l ,p e t r i - n e t ,f r a m e w o r k 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤鲞盘鲎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者躲孑钦卟 签字日期:移7 年f 月彳日 学位论文版权使用授权书 本学位论文作者完全了解丕洼盘堂有关保留、使用学位论文的规定。 特授权丕鲞盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者繇琴饫咿 签字日期:矽1 年m 少7 日 2 导师签名:砌予孑摹 l 签字日期:沙7 年1 月2 了日 第一章绪论 1 1 工作流管理系统的起源 第一章绪论 在p c 机未能作为信息处理的主要工具出现前,以纸张为载体的包括表单、 文件、信函、技术资料等在内的各类与企业活动密切相关的文档在各类行业的日 常业务活动中是不可替代,而且这些文档在各个部门之间的传递也是以纸张的形 式出现的。这种传统的载体在信息的处理、组织、存储以及查询检索等方面都是 低效的,有鉴于此,一种无纸化的、计算机化的工作环境应用而生,一些公司、 企业也建立了自己特有的或者商业提供的文档及公文传递应用系统,通常运行在 本企业内部的服务器上,用于完成日常文档及公文处理的电子化、电子化积累以 及自动化。这种系统可以看成是现代工作流管理系统的一个早期系统,但其在功 能上是相当有限的,仅限于文档以及公文的相关处理。在此之后,一些公司提出 并开始开拓工作流产品市场,它们把图像扫描、复合文档、结构化路由、实例跟 踪、关键字索引以及数据存储等功能结合在一起,形成了一种全过程支持某些业 务流程的集成化的软件,形成了早期的比较完备的工作流管理系统。很显然,这 种增值性质的集成化软件系统为企业简化与重组自己的关键业务流程提供了一 种非常合适的方案,且由此还可以看出,工作流从其一开始就是作为一种面向过 程的系统集成技术而出现的,只是限于当时的计算机发展水平,所集成的功能较 为简单而已,但其框架已经可以说初见完备。 1 2 工作流管理系统的发展 进入9 0 年代,随着计算机的普及、网络的延伸以及性能还有应用范围的扩 展,现代企业的信息资源越来越表现出一种异构、分布、松散耦合的特点,企业 组织结构分散性、决策制定的分散性以及业务流程的多样性对日常业务活动详尽 信息的需求以及c l i e n t s e r v e r 体系结构、分布式计算技术的日益成熟,可以得出 一个事实:集中式信息处理的时代已经过去,实现大规模的异构分布式执行环境, 使得相互关联的任务能够高效运转并接受密切监控已成为一种趋势。就是在这种 技术背景下,工作流管理系统也由最初的创建无纸办公环境转而成为同化企业复 杂信息环境、实现业务流程自动执行的必要软件系统。这样的一个转变,把工作 第一章绪论 流技术引入了到一个全新的发展阶段,这也要求人们从更深的层次、更广的领域 以及更高的需求上对工作流管理相关技术展开研究。工作流技术的标准化组织工 作流管理联盟( w o r k f l o wm a n a g e m e n tc o a l i t i o n 简称w f m c ) 于1 9 9 3 年成立。它的 成立标志着工作流技术已经从计算机应用研究领域的大范围中被明确地剥离出 来,有了自己独立的一块天地,联盟提出的相应的概念与术语也得到了业界的广 泛承认,此后,在全球范围内,对工作流的技术研究以及相关的产品开发也进入 了更高一层的繁荣的阶段,更先进、更新的技术被集成进来,文件管理系统、数 据库、电子邮件、移动计算、w e b 服务等都已被容纳到工作流管理系统之中。 市场上工作流产品也随之极大丰富,据统计,市场上约有7 0 多种工作流产品在 相互竞争,供应商纷纷看好这块已趋热点的i t 市场,工作流产品的市场增长率也 逐年提高。根据不同工作流管理系统所采用的任务项传递机制的不同,市场上的 多种产品基本上可以划分为以下几类【l 】: 一、基于文件共享的工作流管理系统:这种类型的产品是产生最早、发展最 成熟、最具多样性的,通常包含有c l i e n t s e r v e r 模式的图像、文档与数据库管理 系统。 二、基于消息传递的工作流管理系统:这种类型的产品都己实现了与一种或 多种电子邮件系统的集成。 三、基于w e b 服务的工作流管理系统:这一类产品起步较晚,但是发展迅速, 解决方案也较前两种更自动化和更灵活,业已成为新的市场流行趋势。 四、群件与套件系统:这一类产品与前面三种有很大程度的重叠,但这类产 品在应用了前三种的某些特性时需要依赖自己系统的应用基础结构,包括消息传 递、目录服务、安全管理、数据库与文档管理服务等,而其本身就构成了一个完 整的应用开发环境,是自成一体的。 从工作流软件产品由萌芽到繁荣,可以将它大致划分一下几个阶段【2 j : 第一阶段,主要应用于某些已定领域的、相对分散那独立的应用系统,比如 图像、文档管理系统,涉及到的业务流程也相当简单; 第二阶段,主要表现为已经具有通信模块功能、能够实现任务协作以及准自 动化处理的应用系统,例如有消息传递功能的工作流管理系统; 第三阶段,有可视化的过程定义功能、用户自定义过程与任务执行完全分离 的工作流管理系统,其框架结构基本上已经符合工作流管理联盟给出的标准结 构。 经历了这三个阶段的发展,工作流产品基本上已经确定了它在计算机软件市 场上的位置,在工作流这一体系下,比较基本的、主要的研究内容有以下几个方面 2 1 :工作流管理系统体系结构的研究;工作流模型与工作流定义语言;工作流的 2 第一章绪论 事务特性:研究目的在于将高级事务处理技术与工作流管理技术相结合,用良好 定义的模型语义与恢复机制来更好地支持企业的经营过程,提高工作流系统的可 靠性与实用性;工作流的实现技术:包括面向对象思想、s o a 、敏捷软件开发、 e r p 、分布式计算、图形用户界面、消息传递、数据库、w w w 等在内的与工作 流管理系统的设计实现相关的各项技术、方法;工作流的仿真以及分析方法;工 作流的集成以及互操作技术:异构应用系统的集成以及不同工作流管理系统之间 的互操作问题:工作流与经营过程重组:研究如何通过工作流管理系统的实施来 有效地实现企业的经营过程重组,这一项的研究将会影响到现有企业的组织以及 管理模式,所以得有一个长期的沟通与协商以及试验的过程。 第二章工作流的定义 第二章工作流的定义 在社会分工非常细化的今天,我们在完成一项任务或者为他人提供服务的过 程中一个团队的合作已经变得相当重要,常常团队中一个人或几个人负责完成的 只是任务或服务中的一项或一部分,而整个任务或服务是由很多个这样的项或部 分构成的,各个项或部分之间相互联系、密不可分,共同协作来完成整个任务或 服务,而各个项或部分之间的相互联系和协作构成一个流程,具体的说该流程是 由若干个相互联系的工作构成的,这就引出了一个工作流的概念,而且已经成为 一个被广泛研究的课题,在后面的小节中将会具体介绍工作流的定义。 2 1 一个简单工作流的实例分析 既然工作流的研究是从具体的实际任务和服务中引申出来的一个概念,而要 想清楚明白的了解工作流的概念,那么让我们从一个具体的任务来开始。该任务 是关于某网络中心报修处理的,其形式化流程图如图2 1 所示,该图体现了从报 修开始到最后的处理的整个流程以及各项任务的参与人员、各项任务的使能条件 以及所需要的资源条件、需要和产出资源、业务辅助元素、信息传递控制机制、 流程的流向控制、容错及失败处理过程。是一个典型的流程类任务。下面就上述 各项结合该流程图进行分析。 4 第二章工作流的定义 图2 - 1 某网络中心报修处理流程图 2 1 1 各个元素的概念描述 首先,对流程图进行整体分析,它由七种元素构成,各元素的相关概念以及 内含定义可以总结如下: 第二章工作流的定义 元素1 用来形式化代表构成报修任务的各项工作,它内含的定义有前驱元 素、后继元素、完成该项工作的人员、具体的工作实现、使能条件、资源条件、 需要和产出资源、业务辅助元素以及信息传递控制,是构成整个流程的核心。 元素2 用来形式化代表需要和产出资源,该资源的涵盖比较广泛,可能是 数据资源也可能是物理设备等,可能是元素l 代表的工作所需要的资源或者是在 完成后的产出资源,也可能是元素3 代表的判断所需要的资源或者是在完成后的 产出资源;它内含的定义有资源流向、资源本身以及资源处理的一些实现( 比如 文档的存入、读取、存储空间的分配等) 。 元素3 用来形式化代表判断,它内含的定义有前驱工作、需要资源、使能 条件、自己的判断逻辑算法或者业务辅助元素、产出资源以及后续分支处理控制; 是完成整个流程流向控制的关键环节之一。 元素4 用来形式化代表元素之间的执行顺序,顺着箭头的方向为元素间执 行的顺序,它内含的定义有前驱元素、后继元素以及使能条件,前驱和后继元素 可能是元素1 代表的工作或者元素3 代表的判断,是完成整个流程流向控制的关 键环节之一。 元素5 用来形式化代表元素l 或元素3 需要的业务辅助元素,该辅助元素 是用来为完成元素1 代表的工作或元素3 代表的判断提供业务辅助,可以是一些 自动化处理程序或者是逻辑判断算法程序等,它内含的定义有自身处理程序或逻 辑判断算法程序、调用它的元素。 元素6 用来形式化代表元素l 或元素3 需要或者产出资源、需要的业务辅 助元素的关系,元素6 起始端的元素为元素2 或元素5 时,它表示起始端的元素 为箭头所指元素的需要资源或者所需要的业务辅助元素,而起始端为元素l 或元 素3 时,它代表箭头所指元素是起始端元素的产出资源或者业务辅助元素;它内 含的定义有起始端元素、箭头所指元素以及实现起始端元素和箭头所指元素关系 的功能实现。 元素7 用来形式化代表容错及失败处理元素,它的内含定义有前驱元素、 所需资源、产出资源、业务辅助元素以及容错及失败处理的具体实现。 2 1 2 各元素在整个流程流向控制中的具体功能实现分析 在上面的小节中我们分析了这个具体工作流实例的构成元素及其相关概念 以及内含定义,但这些元素在整个流程流向控制中具体怎么实现自身的功能还得 进一步来说明,下面的内容将针对流程的各要素在流程控制中的具体功能实现做 详细的分析。分析的方法是以每个要说明的元素为核心将其在整个流程中所涉及 到自身功能实现部分局部化,针对局部化的内容对其具体实现功能进行分析。以 6 第二章工作流的定义 下是对个元素的具体实现功能的分析。 元素1 的具体功能实现分析,如图2 2 所示: 图2 2 元素l 的功能实现框图 以图中元素1 本项工作为核心,针对其在整个流程流向控制中的具体功能实 现做分析:本项工作的前驱元素为元素4 前驱元素,在该前驱元素使能条件满足 后,通知它的后继元素也就是元素1 本项工作,表明整个流程已经运行到本项工 作,本项工作接收整个流程的运行权,开始自身的执行,首先它要做的工作是检 查完成自身工作所需要的资源条件是否满足,如果已经满足则开始本身工作的运 行,来完成本项工作的具体任务( 在完成的过程中可能要用到自身定义中的业务 辅助元素如图中所示元素5 业务辅助元素) ,在完成本项任务后,有本项任务的 产出资源的处理过程,该资源将会用于整个流程其他元素的需要资源或整个流程 的状态记录,至此本项工作接近尾声,最后要做的工作是改变其后继元素的使能 条件,从而将整个流程的运行权交给其后继元素即本图中的元素4 - 后继元素,至 此本项工作业已完成。 元素2 的具体功能实现,如图2 3 所示: 7 第二章工作流的定义 图2 - 3 元素2 的功能实现框图 以图中元素2 本项资源为核心,针对其在整个流程流向控制中的具体功能实 现做分析:根据本项资源的流向可将资源分为两类需要资源和产出资源,比 如对于图中元素1 工作1 和元素3 判断- 1 来讲它是输出资源,对于元素1 工作 - 2 和元素3 - 判断2 来说它是需要资源;资源的本身以及资源处理的一些实现是 自己内含定义的,在涉及用到该资源时,通过连接元素1 或元素3 和该项资源的 元素6 即可实现资源的运用,后面将会讲到元素6 的相关内容。 元素3 的具体功能实现,如图2 4 所示: 图2 - 4 元素3 的功能实现框图 以图中元素3 本项判断为核心,针对其在整个流程流向控制中的具体功能实 第二章工作流的定义 现做分析:在本项判断的元素4 。前驱元素的使能条件满足后,通知其后继元素也 就是本项判断,将整个流程的运行权交给本项判断,本项判断在获得其整个流程 的运行权后检查完成本项判断的需要资源是否满足,如果满足则开始本项判断, 其间可能会用到元素5 业务辅助元素,它可能是一些自动化处理程序或者是逻辑 判断算法程序,比如决策程序等,与需要资源结合用来判断下一步工作的流向, 使整个流程运行下去,至此判断工作基本完成,接下来要做的工作就是对其在判 断过程中可能产生出来的产出资源进行处理,这将通过连接本项判断与产出资源 的元素6 来完成,具体实现在后面介绍元素6 时说明,最后根据本次判断的结果 修改本项判断后继元素的使能条件,将整个流程的运行权交出,至此本项判断结 束。 元素4 的具体功能实现,如图2 5 所示: l 前驱元素主雾素l 或者元 爿i 撕 讲 海 彗 咎 :! i 后继鬻;元素3 图2 - 5 元素4 的功能实现框图 以图中元素4 本次执行为核心,针对其在整个流程流向控制中的具体功能实 现做分析:在本次执行的前驱元素将元素4 本次执行的使能条件修改为可运行 时,本次执行获得整个流程的运行权,获得运行权后他将负责修改其后继元素的 使能条件,将整个流程的运行权交给其后继元素,至此本次执行业已完成,它的 功能较为简单,但在整个流程的执行中至关重要,是衔接整个流程各项任务、判 断的桥梁。 元素5 的具体功能实现,如图2 6 所示: 9 第二章工作流的定义 图2 - 6 元素5 的功能实现框图 以图中元素5 本业务辅助元素为核心,针对其在整个流程流向控制中的具体 功能实现做分析:首先业务辅助元素是为流程中的元素1 或元素3 在完成自身工 作时提供系统支持,是辅助它们完成工作的一些自动化处理程序或者是逻辑判断 算法程序或文档,总之是对完成该项工作提供帮助的元素,对它调用是通过如图 元素6 来实现的,在接下来将会讲到。 元素6 的具体功能实现,如图2 7 所示: 图2 - 7 元素6 的功能实现框图 以图中元素6 为核心,针对其在整个流程流向控制中的具体功能实现做分析: 从形式上来看,该元素表现为箭头形状。它内含的定义有起始端元素、箭头所指 元素以及实现起始端元素和箭头所指元素关系的功能实现,如图所示有元素6 的 三种使用方式:第一种是从元素2 需要资源到元素l 或元素3 ,它表示元素2 需要元素是元素1 或元素3 在完成自身工作时需要的资源,而且提供元素l 或元 素3 读取或使用该资源的途径和方法;第二种是从元素l 或元素3 到元素2 产出 资源,它表示元素2 产出资源是元素l 或元素3 的产出资源,而且提供元素l 或元素3 产生该资源的途径和方法;第三种是从元素5 业务逻辑元素到元素l 1 0 第二章工作流的定义 或元素3 ,它表示元素5 业务辅助元素是所指向元素l 或元素3 在完成自身工作 时要用到的辅助元素,而且提供元素l 或元素3 运用该业务辅助元素的途径和方 法。 元素7 的具体功能实现,如图2 8 所示: 图2 - 8 元素7 的功能实现框图 以图中元素7 本容错及失败处理元素为核心,针对其在整个流程流向控制中 的具体功能实现做分析:元素4 前驱元素为本元素的前驱元素,在其使能条件满 足后通知它的后继也就是元素7 一本容错及失败处理元素,将整个流程的运行权交 给元素7 本容错及失败处理元素,在元素7 本容错及失败处理元素获得整个流 程的运行权后,开始其自身的工作,综合利用元素2 需要资源和元素5 业务辅 助元素和自身的容错及失败处理的具体实现来完成这个容错及失败处理任务。其 中需要重点说明的是它的失败处理的具体实现,该实现主要用于处理流程中如果 出现了错误或异常的情况。对于一些我们可以预见的错误或者异常,可以提前定 义出处理的实现,该实现可能是开启一个新的流程任务来代替原有流程任务来实 现既定的任务或服务( 同时原有任务退出运行) ,也可能是对原有流程任务的适当 调整等,而对于不可预见的错误或异常可以设置缺省的处理实现,以免流程任务 在系统中崩溃。 2 1 3 分析总结 在上面的分析中我们针对一个简单的工作流实例对其进行了分析,从整个工 作流的构成元素以及每个元素在整个流程流向控制中的具体功能实现做出了全 面而具体的分析,使大家对工作流有一个基本的直观印象,在后面的小节中将会 给出具体的关于工作流的定义以及相关讨论。 第二章工作流的定义 2 2 现行关于工作流的几个定义 十几年来,不同的研究者对工作流分别提出了不同的定义。到目前为止,对 于工作流仍然没有完全统一的定义。我f w j y u 举如下一些有代表性的定义,它们分 别从不同的角度对工作流概念进行了描述,可以使我们对工作流的一些基本特征 有一定的理解。 2 2 1 工作流管理联盟的定义 工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则, 文档、信息或任务能够在不同的执行者之间传递、执行【3 】o 2 2 2g i g ag r o u p 的定义 工作流是经营过程中可运转的部分,包括任务的顺序以及由谁来执行、支持 任务的信息流、评价与控制任务的跟踪、报告机制【4 】o 2 2 3a m i t s h e t h 的定义 工作流是涉及到多任务协调执行的活动,这些任务分别由不同的处理实体来 完成。一项任务定义了需要做的某些工作,它可用各种形式来进行定义,包括在 文件或电子邮件中的文本描述、一张表格、一条消息以及一个计算机程序。用来 执行任务的处理实体可以是人,也可以是计算机系统( 比如一个应用程序、一个 数据库管理系统) 【5 1 。 2 2 4i b ma l m a d e nr e s e a r c hc e n t e r 的定义 工作流是经营过程中的一种计算机化的表示模型,定义了完成整个过程所需 用的各种参数。这些参数包括对过程中每一个单独步骤的定义、步骤间的执行顺 序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序 【6 】 o 2 2 5w m p v a nd e ra a l s t 的定义 工作流是一系列工作的偏序集。工作的序列可以有多种方式,l t 女n q - 作x 与 y 满足x 0 或者x 0 来决定将t o k e n 转移信息 发送给库所,2 还是给库所3 从而实现具体的分支路由。 瘁所。变迁专 痒薪。 图3 - 1 3 分支路由结构示例 循环路由结构 如图3 1 4 所示:变迁1 是一个可能被反复执行的任务,变迁一2 是一个向上 面分支路翻结构中奔绍的特殊的变迁( 与图3 1 3 中变迁一l 属一类) ,它用来通过某 一或某些判断条件控制循环任务或一系列循环任务是否被执行还是转移到其它 任务中去,在这里涉及到了一个特殊鲶库新,在本示铡中为疼新一1 ,该库所作为 一个循环任务的输入库所不同于其它库所,为了满足循环路由结构的要求,需要 对其进行定义扩展。在前面我们分绍库所获得其t o k e n 的枫制中讲到是通t o k e n 转移信息积累过程获得的,即通过( + x ( c ) ) 来获得的,只有当积累过程中x = c 时 才获得其t o k e n ,其中c 是将该库所作为输出库所的变迁的个数,而在循环路由 结构中该霹所作为循环任务或一系列循环任务的一个起始库所,它第一次获得其 t o k e n 的机制应该与我们前面所介绍的机制有所不同,即在其第一次获得t o k e n 时匿然用来控制循环酌是否被执行的变迁( 像示例中的变迁一2 ) 是将该疼所作为输 出库所的,但在该库所第一次获得t o k e n 时用来控制循环的变迁个数是不算在其 t o k e n 转移信息积累过程中的c 里的,否则会造成死锁,导致该循环任务或一系 列任务永远不会执行,严重时导致整个p e t r i 网代表的工作流的失败,而在其第 第三章工作流建模 一次获得t o k e n 之后的t o k e n 转移信息积累过程中用来控制循环的特殊变迁个数 就得算在其t o k e n 积累过程中的c 里,这样就完成了作为循环任务起始库所这一 特殊库所的扩展定义,其实葳上只是修改了它的t o k e n 转移信息积累过程,其它 定义及机制没有改变,我们将这种扩展定义后的库所称为循环库所。 痒雳孓2 图3 - 1 4 循环路由结构示例 原有p e t r i 网构成元素在定义上的扩展: 在满足一些基本路由结构过程中,如上面的叙述涉及到了对原p e t r i 构成元 素变迁和摩所终了定义上的扩展,其其体的扩展在上面的介绍中已经有详细的描 述,这里需要再次指出的是这些定义上的扩展只涉及到其定义上的一些运行机制 或某些积累过程的扩展,对于变迁只涉及到其在发送t o k e n 转移信息的机制,而 对于库所则只涉及到t o k e n 转移信息积累过程。 3 2 3 总结出的工作流模型 在前面的小结中我们对p e t r i 网的构成以及原理作了介绍,而且对其作了适 当的扩展定义以使箕更加适合于对工作流进行建模,圊时在一定扩展定义后的 p e t r i 网原理上提出了公认的完备建模工作流所需的基本路由结构,在以上研究 的基础上我们总结出一种基于p e t r i 网可扩展定义的工作流模型。该模型具体描 述如下:模型由基本路由结构组成,基本路由结构由p e t f i 网的基本构成元素( 变 迁、库所、t o k e n 、有向弧) 以及经扩展定义后的元素( 分支变迁和循环库所等) 组成,p e t r i 网的元素和扩展定义后的元素由萁自身的定义组成( 显然这些元素是 模型构成的基本单元) ,这里构成模型的基本路由结构和构成基本路由结构的元 素都是可以根据建模的需要进李亍扩展定义的。这样就得崽一个明显层次化的模 型,如下图3 1 5 所示: 第三章正作流建模 图3 - 1 5 基于p e t r i 网扩展定义的工作流模型 下面我们就模型中最低层的元素对其定义作相关的总结: 变迁: 如图3 1 6 所示:变迁在工作流中代表一项镊务,有其基本的定义,比如它的 输入库所、输出库所、具体任务、使能信息数据、使能信息积累过程、发送t o k e n 剥夺信息机制、发送t o k e n 转移信息机制以及需要用到的数据等的定义,在这些 定义上加以不同的扩展就有了像图示中的扩展定义变迁分支变迁和其他扩 展变迁,丽在本模型中需要的分支变迁就是对原来变迁定义中发送t o k e n 转移信 息机制的加以扩展后得到的。 图3 - 1 6 变迁的定义 第三章工作流建模 库所: 如图3 1 7 所示:库所在工作流中代表某一变迁或某些变迁的发生条件而且为 变迁的发生提供资源,有其自身的基本定义,比如将其作为输入库所的变迁、将 其作为输獭库所的变迁、资源、资源管理方法、t o k e n 剥夺过程、t o k e n 转移信息 积累过程、变迁使能信息发送机制以及用到的数据的定义等,在这些定义的基础 上加以不同的扩展就有了像图示中的循环痒所和其他扩展库所,而在本模型 中用到的循环库所就是对原来库所定义中的t o k e n 转移信息积累过程加以扩展后 得到的。 图3 - 1 7 疼骈的定义 有向弧: 用来表示库所与变迁之间的相互关系的形式化代号。由库所指向变迁的有 向弧表示库所为变迁的输入库所,反之库所为变迁的输出库所。 t o k e n : 是一个抽象信息,用来标识某变迁的前置条件是否满足,当一个库所获得 其t o k e n 时表明将该瘩所作为输入库所盼变迁的与该库所相对应的前置条髂已经 满足。 其他扩展定义元素: 在我们建模灵活多交的工作流过程当中,不可避免的要对原有元素进行定 义上的扩充,以满足建模的需要,它是构成该基于p e t r i 网可扩展定义的工作流 模型的重要部分,如前瑟震到的分支变迁班及循环痒所都是在原有元素上经扩展 定义后得到的,其目的是为了满足不同工作流建模的需要。 综合3 2 1 和3 2 。2 小节和本小节我们将构成本模型的概念、构成它的基本路 由结构、基本单元以及其他可扩展元素作了详细的描述。 3 1 第三章工作流建模 3 3 一个工作流实例建模 在前面的小节中我们提出了一个基予p e t r i 网可扩展定义的工作流模型,在 本小节中将对一个具体的工作流实例用其来建模,以检验该工作流模型。我们选 择是在本文开篇中提融的网络中心报修处理业务实例来建模,其流程图如图2 一l 所示,建模后的结果如图3 1 8 所示。图2 1 所表示的业务流程的详细介绍我们 已经在前面作了详细的介绍。在用我们提出的模型建模的时候,我们对原有的元 素进行了扩展以适应该业务流程的建模,如图中3 - 1 8 中的特殊分支变迁,它对 原来的分支变迁在定义上作了扩展以适应建模该业务流程。 特殊分支变迁在分支变迁的基础上对其使麓信息积累过程机测和发送t o k e n 转移信息机制进行了扩展,它处于两路可能分支的结合点处,流程对于与该变迁 相连的属予蘸路分支的库所( 图中的疼所a 和库所协只可 l 蓑有一个获得t o k e n ,悉 在原来的使能信息积累过程中来自这两个库所的使能信息需要都是算在其使能 信息积累过程( 椭( u ) ) 中的u 中的,经重新定义后的该特殊变迁的使能信息 积累过程中的u 只选库所a - 或者库所b 其中一个,即只要库所a 发送来使能信息, 则积累过程就不管库所b 是否发送来使能信息,反之亦然,这是其对分支变迁在 使驻信息积累过程机铡上的定义扩展;圈时该特殊分支变迁也对原来的分支变迁 发送t o k e n 转移信息机制进行了扩展,具体为在原来的机制上加了对不在分支判 断之列的如图中库所e 酶t o k e n 转移信息的发送。 我们可以利用3 2 1 中对简单的p e t r i 网实例进行状态转移机制分析的方法结 合我们对p e t r i 网的扩展定义对本建模结果加以检验,这里就不再作具体的分析。 3 2 第三章工作流建模 图3 - 1 8 报修业务建模结果图 第四章可扩展工作流框架设计 第四章可扩展工作流框架设计 在前谣的章节中我们着重阐述了工作流的定义、工作流模型的相关内容,提 出了自己对工作流的定义,同时也结合我们对工作流的定义以及对p e t r i 网的扩 展定义提出了基于p e t r i 隧可扩展定义的工作流模型,该模型可以适应灵活多变 的工作流建模过程。而要使得工作流能够在分布式的网络环境下得到实际的运行 实现,即纳入到计算机系统的管理和实现中,经建模后的工作流还需要一个软件 平台即我们前面所提到的工作流管理系统。下面的内容我们就将对工作流管理系 统的构成作介绍以及设计自己的工作流管理系统即基于p e t r i 网可扩展定义工作 流模型上的可扩展框架设计。 4 1w f m c 的参考模型 w f m c ( i 石g g 流技术的标准纯组织) 提出的工作流参考模型汪5 j 鐾在力工作流管 理系统的设计推荐一个参考的模型以及相应的规范( 如x p d f | 2 6 ) 和协议 ( w f - x m l1 2 7 ) ,该模型将工作流管理系统划分为几个功熊相对独立的组件,并在 组织内针对不同组件的研究组成了不同的研究小组,进行对各个组件的研究。下 面我们就将该参考模型介绍给大家,如图4 1 所示,该图为w f m c 提出的工作流 参考模型,它包括6 个组件和5 个接躁,下面分别对其进行简单解释: 第四章可扩展工作流框架设计 图4 - 1w f m c 工作流管理系统参考模型 1 w o r k f l o we n a c t m e n ts e r v i c e 组件: 该组件是工作流引擎,它是工作流参考模型的核心组建,其主要功能是读取 工作流的定义、根据工作流的定义驱动工作流的运行。 2 p r o c e s sd e f i n i t i o n 组件: 该组件是流程定义工具,它可以图形化的方式来定义工作流,它与w o r k f l o w e n a c t m e n ts e r v i c e 之间的接口就是i n t e r f a c el ,它遵循x p d f 标准。 3 w o r k f l o wc l i e n ta p p l i c a t i o n 组件: 工作流引擎的客户端程序,该程序由用户结合业务需要而开发,用它来驱动 工作流。客户端程序通过i n t e r f a c e2 与工作流引擎交互,一般的工作流引擎用户 不需要了解工作流引擎的知识,只要知道怎么实现客户端程序就可以了。 4 i n v o k e da p p l i c a t i o n s 组件: 在工作流的推演过程中,有时需要调用工作流引擎之外的功能,这时可通过 i n t e r f a c e3 来完成。 5 o t h e rw o r k f l o we n a c t m e n ts e r v i c e 组件: 通过i n t e r f a c e4 可实现工作流引擎与其他工作流引擎间的相互协作。 6 a d m i n i s t r a t i o n & m o n i t o r i n gt o o l s 组件: 该组件通过i n t e r f a c e5 管理和监视工作流引擎。 现在一些成熟的工作流管理系统大都以该参考模型为基础,但各个工作流管 理系统的引擎在接口实现上有所不同,而且对各个接口的实现可以体现各自工作 流引擎的优点,比如s h a r k 的i n t e r f a c e5 实现的非常好,而o b e 对i n t e r f a c e2 的 实现相对于其他引擎的来说比较好,但却没有实现i n t e r f a c e4 。总之,各成熟工 第四章可扩展工作流框架设计 作流管理系统都基于此参考模型,但在各接口或组件上的有各自不同的实现。 4 2 可扩展框架设计 在前面的小节我们介绍了w f m c 推荐的工作流管理系统,现在我们结合前 面章节中提出的对工作流的定义以及提出的基于p e t r i 可扩展定义上的工作流模 型来对工作流的实现构建一个可扩展框架。 4 2 1 框架介绍 该框架如图4 - 2 所示,下面我们对这一框架设计做详细的介绍。 1 该框架设计将人员的参与加入到其中,把参与该工作流管理系统的人 员分为四种角色如图中圆形图形代表的工作制定者、工作流实侧化 者、工作流管理者以及工作者; 2 。该框架设计将工作流管理系统的功缝划分为两个穗黠独立麓主要功 能块即图中所示的可视化建模功能块和工作流引擎。 3 。该框架设计按工作流所处的不同地位划分为如图所示:工作流模板 ( 库) 、实例化的工作流( 库) 、运行中的工作流( 库) 、中止工作流( 库) 以及结束工作流( 库) 。 4 该框架设计定义了前面三顼所讲内容相互协作以达到工作流在系统 内正常运行这一目标需要实现的接阴,如图示有6 类主要的接口。 5 。 该框架设计体现了一个流程从其被建模开始到进入工作流弓| 擎的控 制下运行的过程如图中沿可视化建模功能块一工作流制定者一工作流 模板( 库) 一工作流实例化者一实例化的工作流( 库) 一工作流管理学一运 行中的工作流( 库) 这一过程。 6 该框架设计定义了在前一项对框架的介绍中提到的流程从其被建模 开始到进入系统运行所经过程各部分闻的接朗,因为这些接霞不涉及 工作流在系统中的运行所以将这些接口称为普通接口以区别于第4 项 介绍中提到的那6 类接口。 第四章可扩展工作流框架设计 图4 - 2 可扩展框架设计图 至此我们对框架的各个构成部分依了介绍,下露我们透过工作流在整个系统 所处的不同阶段进行分析,分析主要包括不同阶段所涉及到的框架构成部分和所 涉及的构成部分如何相互协作来实现工作流在系统中的运行。工作流在系统中的 阶段可以划分为两个阶段,第一个阶段是指从工作流被建模至其进入工作流弓| 擎 的控制下运行;第二个阶段是指工作流从进入工作流引擎的控制下运行到其完成 或中止( 分刹进入结束工作流硝i ) 或中壹工作流( 痒) ) 。 第一个阶段:该阶段涉及到框架的构成部分有主要接口1 、主要接口一2 、普 通接口以及在框架构成部分中第5 项所提及的工作流所经过程中的那些构成部 分。以下我们就对所涉及的构成部分如何相互协作来完成工作流在这一阶段在系 统中的运行作详细分析。首先一个工作流经工作流制定者通过普通接口一l 在可视 化建模功能模块的辅助下制定出该工佟流的模板,并通过普通接h - 2 将其放入工 作流模板( 库) 中,工作流实例化者通过普通接口一3 从工作流模板( 库) 中将该工作 流模板提出劳实例亿,实例化的工作包括设定工作流中各项任务的具体工佟者等 相关设置,将工作流模板实例化,实例化后工作流实例化者通过普通接口- 4 将工 第四章可扩展工作流框架设计 作流放入到实例化的工作流( 库) 中,工作流管理者通过普通接口一5 将实例化的 工作流提出并通过普通接口。6 将其放入运行中的工作流( 库) 中,并通过接口一2 与 王作流弓| 擎取得联系,告知工作流引擎有新斡王作流进入到工作流琴| 擎的控铡下 进行运行,同时将工作流的些基本信息( 如工作流在系统中如何识别等相关信 息) 通过接翻2 通知工作流罢| 擎,以便使该新加入到运行中的工作流( 库) 中盼工作 流得以在工作流引擎的控制下进行下一阶段的运行。至此我们将工作流在第一阶 段的流向过程介绍给了大家,但我们没有提到可视化建模功能块与工作流弓l 擎闻 的接口即接口1 ,该接口的功能等同于w f m c 推荐参考模型中i n t e r f a c e1 ,即它 定义了经可视化建模功能块所建模出来的工作流在进入工作流引擎的控制下如 何进行流程的状态转变和推进的相关机制,w f m c 瞧提出了推荐规范一一 x p d f ,而本框架设计所采用的工作流模型是基于p e t r i 网可扩展定义的工作流模 型,接口1 实现的主要有变迁的使能信息积累过程、变迂发送t o k e n 剥夺信息的 过程、变迁发送t o k e n 转移信息的过程、库所发送使能信息的过程、库所t o k e n 转移信息积累过程、库所t o k e n 剥夺过程、工作流的定义与终结条件的定义、工 作流状态及其转变过程、任务项( 变迁) 状态及其转变过程等有关流程实际推进和 运行所需要的过程和机制,接口1 是整个框架的关键一环。 第二个阶段:该阶段是从工作流进入至l 工作流爱擎控制下开始躲。工作流弓| 擎通过接口1 、接口2 、接口3 、接口4 、接口5 、接口一6 来实现工作流状态的 转变、工作流的推进。下面就工作流引擎实现工作流状态的转变和工作流的推进 做具体介绍。 工作流状态转变: 工作流弓| 擎应提供控制工作流状态转交功能,w f m c 也推荐了工作流的状态 分类以及其状态转变过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保安员考试题库及答案2025年
- 2025年汽轮机测试题及答案
- 2025年十八项医疗核心制度考试试题及答案
- 河北考公2025真题
- 2025年山西省公务员考试真题
- 2024年江西省省直机关选调公务员真题
- 2024年成都市规划和自然资源局所属事业单位选调工作人员真题
- 2025年65普法知识竞赛试题库及答案
- 2025夫妻感情修复-暂时分居协议
- 2025年学生宪法知识竞赛答题试题库(附答案)
- 怎样合理减肥健康教育
- 美容师(皮肤管理师)技能测试题库及答案
- 人才储备机制管理办法
- 音乐核心素养培训课件
- 重庆机电职业技术大学《高等数学Ⅱ》2025-2026学年期末试卷(A卷)
- 中小学生心理健康测评表
- 沔城高中生研学活动方案
- 手术室工人的工作职责
- 拥军活动策划方案
- 2025年广东省中考语文试卷真题(含答案解析)
- 社区治理志愿服务课件
评论
0/150
提交评论