(计算机应用技术专业论文)支持动态进化的工作流系统的设计.pdf_第1页
(计算机应用技术专业论文)支持动态进化的工作流系统的设计.pdf_第2页
(计算机应用技术专业论文)支持动态进化的工作流系统的设计.pdf_第3页
(计算机应用技术专业论文)支持动态进化的工作流系统的设计.pdf_第4页
(计算机应用技术专业论文)支持动态进化的工作流系统的设计.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

山东大学硕士学位论文 摘要 在当今的讲求合作与效率的社会,工作流技术作为一个能够提高 企业组织的办事效率和合作成果的技术,自诞生之初,就受到各界人 士的关注和科研人员的热力追捧。但是当企业组织越是依赖工作流技 术和管理来参与日常工作和生产,就越来越要面对其缺乏灵活性和适 应性的问题。在动态变化的环境里,企业在调整业务流程的同时,也 需及时调整其工作流系统使其适应新的业务流程。面对多变的处理人 和业务情况,是不可能在设计阶段就考虑到一切可能的。因此如何使 工作流系统在最大限度上具有灵活性和适应性是当前较热门的研究课 题。 本文通过利用已有的微工作流中的前后端定义结构为基础,以满 足工作流动态进化所必需的条件为目标,在不改变现有的工作流类型 的定义的基础上,将其映射到为微工作流结构上,版本变化引起的修 改只作用在后端定义上。为系统支持工作流的动态变化做好理论基础 为使工作流系统支持的动态进化,必需解决工作流类型的不同版 本的管理问题和支持急性传播、惰性传播、选择性传播、本地修改四 种不同的传播策略的工作流实例的迁移。对于前者,扩展原有的版本 定义,引入工作流版本状态概念,通过“l 临时”“己发布”“废弃”状 态对同一工作流类型的版本进行控制。对于后者也同样利用版本状态 的改变,根据不同的实例选择方式,在工作流类型版本改变后,对其 进行操作。本地修改则使用工作流实例与工作流版本和变量的动态绑 定方法来支持 同时还为工作流动态进化后,工作流实例的迁移算法提出新的改 进方法,提高了实例的迁移可能性。 最后根据前面的研究结果,将支持工作流进化的部件设计为三个 功能部件工作流版本管理器、迁移管理器和进化管理器,并定义出它 们各自功能和接口,并使他们之间通过接口完成相互问的信息传递, 真正了对实现动态进化的支持。作为外加模块与原有的工作流系统相 结合,这样不必修改原来有的工作流系统,就使系统具有了支持工作 山东大学硕士学位论文 流动态进化的功能。 最后依据上述研究和工作流进化部件结构,设计了公自动化系统 中的办公环境中的公文处理系统,工作流系统运行正常设计结构采 用工作流逻辑设计和业务流程分开的结构,可以灵活的对工作流类型 版本定义进行修改并通过工作流管理工具执行工作流的进化,监视 工作流实例的迁移情况。该系统的设计具备了支持动态进化的必要特 点,使用效果令人满意,并且实施过程中不需要对原有系统做太多改 动 , 关键词:工作流系统,动态进化,工作流类型版本,迁移,工作 流实例。 i i 山东大学硕士学位论文 a b s t r a c t c o n s i d e r i n gt h ec o l l a b o r a t i o na n de f f i c i e n c ys o c i e t y , w o r k f l o wt e c h n o l o g yc a n i m p r o v et h ee n t e r p r i s e sa n ds t r u c t u r e se f f i c i e n c ya n de n l a r g et h es c a l eo f c o l l a b o r a t i o n a l lt h ep e o p l eh a v ep r a i s e di tw h e ni tf i r s ts h o w e du p b u tw h e n e n t e r p r i s e sd e p e n dm o r ea n dm o r eo nt h i st e c h n o l o g ya n ds y s t e m sa d m i n i s t r a t i o n , t h e yh a v et of a c et h ee m b a r r a s s m e n to fi t sl a c k i n gf l e x i b i l i t ya n da d a p t a b i l i t y b e c a u s eo ft h em u l t i p l i c i t yo fu s e so rs c e n a r i o s ,i tc a n n o tb ep o s s i b l et oc o n s i d e r a l lt h ep o s s i b i l i t y s oh o wt om a k et h ew o r k f i o ws y s t e mh a v em o r ea d a p t a b i l i t y a n df l e x i b i l i t yi st h eh o t t e s ts u b j e c to fr e s e a r c h i nt h i sp a p e r , i tw a sb a s e do nf r o n t b a c ke n dd e f i n i t i o no ft h em i c r o - w o r k f l o w a r c h i t e c t u r e ,t of u l f i l lt h en e e do fw o r k f l o ws y s t e m sd y n a m i ce v o l u t i o n ,t o o ko u t a l lt h ep r o b l e mm a y b ec a u s e db yd y n a m i ce v o l u t i o na n di m p r o v e dt h e s y s t e m s t r u c t u r e t h e nd e s i g n e dt h ew o r k f l o ws y s t e ms u p p o r t i n gd y n a m i ce v o l u t i o n a c c o r d i n gt ot h ea n a l y s i sa n dr e s e a r c ho ft h ed y n a m i ce v o l u t i o n ,t h es y s t e mm u s t p r o p e r l ym a n a g et h ed i f f e r e n tv e r s i o n sa n ds u p p o r ta l lt h ep r o p a g a t i o np o l i c ya n d e n s u r et h ec o r r e c t n e s so fw o r k f l o wt y p ea n di n s t a n c e ss a m eb e f o r et h ee v o l u t i o n a n da f t e r t od e a lw i t ht h ed y n a m i ct h ep r o b l e mo f t h ee v o l u t i o nt h ew o r k f l o wt y p e s h o u l db es o l v e df i r s t t oe n s u r et h ed e f i n i t i o na l lt h es a m e ,t h eg r a n u l a r i t yo f v e r s i o n i n gs h o u l dn o tb ec h a n g e d ,a n ds t i l lk e p ta st h ew h o l ew o r k f l o w t h e d e f i n i t i o no fw o r k f l o w t y p ev e r s i o ni sd e f i n e d w h e naw o r k f l o wt y p ei sm o d i f i e d , t h e r ew i l lb ean e wo n ea n dn o tw a sd i r e c t l yc h a n g e d i no r d e rt ov e r s i o n i n gt h ep r o b l e mo ft h a th o wt h eo l do n ec o u l db ec h a n g e dt o f i tf o rt h en e wv e r s i o nm u s tb es o l v e d ,w h i c hi sa l s oc a l l e dm i g r a t i o n w es o l v e d t h i sp r o b l e mb yt h ed e f i n i t i o n so fw o r k f l o wf r o n t b a c ke n d ,a n dd i dn o tt a k et h e w a yo fa l lo v e rt h eh i s t o r ye v e n to ft h i si n s t a n c e ,b u tt a k et h ew a yo fj u s t i f y i n g w h e t h e rt h e r ei so rn o tac o r r e c tc o n d i t i o na f t e rt h ei n s t a n c ew a sm i g r a t e d a n dt h e r e s u l ti st h a te f f i c i e n c yi si m p r o v e d t om a k et h ew o r k f l o we v o l u t i o n s u p p o r ta l lt h ep r o p a g a t i o np o l i c i e s ,t h e r e b o u n d i n gs h o u l db ei n v o l v e d i tm e a n st h a ts o m ep a r to fi n s t a n c e sc o u l db e 山东大学硕士学位论文 r e b o u n d e dw i t ht h en e ww o r k f l o wv e r s i o n i fal o c a lm o d i f i c a t i o ni sn e c e s s a r y , a v a r i a n ts h o u l db er e b o u n d e dw i t ht h ei n s t a n c e h a v i n gs o l v e dt h em a n a g e m e n to fd i f f e r e n tv e r s i o n s ,p r o p a g a t i o np o l i c i e sa n d t h ec o r r e c t n e s sp r o b l e m ,a c c o r d i n gt h em o d u l ea n dd e f i n i t i o n st h a th a v eb e e n s t a t e d ,as e to fc o m p o n e n t s ,w h i c hs u p p o r te v o l u t i o n ,c o u l db ed e s i g n e d i t c o n t a i n sw o r k f i o wv e r s i o nm a n a g e r , m i g r a t i o nm a n a g e ra n de v o l u t i o nm a n g e r t h e yc a nc o m m u n i c a t ew i t ht h ei n t e r f a c e s n o wt h e yd os u p p o r tt h ed y n a m i c e v o l u t i o n a tl a s tan e ww o r k f i o ws y s t e mo fo f f i c ea u t o m a t i o ns y s t e m ,w h i c hc a nh a n d l e t h ep r o c e d u r eo ff i l e s 。w o r k sr i g h t i th a sa l lt h ep r o p e r t yo fs u p p o r t i n gd y n a m i c e v o l u t i o n a n dt h eu s e sa r es a r i s n e d k e y w o r d :w o r k f l o ws y s t e m ,d y n a m i ce v o l u t i o n ,w o r k f l o wt y p ev e r s i o n ,m i g r a t i o n , w o r k f l o wi n s t a n c e 原创性声明和关于学位论文使用授权的声明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:拉盗 日期:丝量竺! 签 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:起盗导师签名:亟亟堑日 山东大学硕士学位论文 1 1 课题研究背景 1 引言 随着电子、计算机和网络技术的不断发展,以及世界业务分布的 全球化。如何更有效的提高企业效率和员工、部门间活动的合作成功 率越来越多地受的人们的关注工作流技术也越来越得到人们的赏识。 从最初的在办公环境中的简单文件流转和工业场合中的重复工作,到 一商业、服务业、跨组织间的工作协调都竟相采用因此也推动了工作 流技术的发展,吸引更多的人来加入此项研究工作,各种商业成品和 提供定制服务的公司也是实力超群工作流管理联盟为推进工作流管 理的标准化,提出了一个工作流参考模型,约定了工作流系统的体系 结构、应用接口及特性,主要目的是为了实现工作流技术的标准化和 开放性。系统主要部分功能包括:工作流执行服务、工作流机、工作 流建模工具,工作流管理工具。 虽然现今的工作流系统大多符合这个工作流参考模型,并为各个 行业和企业定制各种工作流系统和管理工具但是相对于当今社会的 业务发展速度和人为因素,仍然是不可能应付所有的情况和特殊案例, 仍需要人工来处理。灵活性和适应性是工作流系统设计最迫切和最有 挑战性的需求如何能够在符合国际认可标准的情况下,更完善和全 面的兼容和处理新的要求和实例。这已经不再是简单的如软件工程中 后期维护工作一般,而是要求工作流系统在理论和设计过程尽量考虑 非既定情况,减少人为控制的可能,在系统能容忍的范围内减少为系 统的为特殊处理所做处理的消耗,具有动态改变的功能。 最近几年,工作流管理市场实现稳步增长,各家分析机构也对这 一潜在市场普遍看好,许多公司纷纷推出了自己的主流产品。在世界 范围内,较著名的研究机构和相应的研究方向主要包括以下几个川: i b m 公司:在己有产品f l o 州a r k ,g q s e r i e s 的基础上,着手研究基 于“信息传送”的分布式工作流系统e x o t i c a f m q m ; 瑞士苏黎士大学:将工作流建立在事件和服务的基础上,并提供 了支持分布式工作流的:b r o k e r s e r v i c e s 模型以及它的实现平台e v e , 山东大学硕士学位论文 还定义了相应的语言用于描述工作流,以保证工作流实现的正确性: 美国麻萨诸塞州大学:主要研究c r e w c o r r e c t & e x c e c u t i o n o f w o r k f l o w 项目,努力解决并发事件对共享资源 的影响,提供了错误处理机制,力图使工作流能协调进行; 北美卡罗莱纳州大学:主要研究工作流的管理在分布式工作流 方面主要致力于并发调度,并定义了一套辅助的形式化语言; m a t s u s h i t a 实验室:设计了一个i n c a s 模型,将具体执行步骤中 所牵涉的信息资源保存在一个对象中,即信息载体 1 9 9 3 年工作流管理联盟在欧洲成立,以推进工作流管理的标准化。 w f m c 提出了一个工作流参考模型1 ,约定了工作流系统的体系结构、 应用接口及特性,主要目的是为了实现工作流技术的标准化和开放性 除了以上的公司和组织之外,许多优秀的研究人员都在此领域不 断寻求着新的突破口和提高整体效率的新算法和途径 根据为提高工作流系统的灵活性的研究思路来区分。一类研究思路 为调整或重建工作流原模型,从工作流定义的基础出发,对于可能出 现的情况,寄予在组合、规则和参数中予以支持,在原有实例证明的 基础上,证明新实例的产生、执彳亍和管理符合其正确性和完整性。其 中定义和证明语言的运用特别重要,需要能够较为完全的考虑到工作 流的各种因素,并需证明其完整性和正确性 另一类研究思路则是在调整较为宏观的工作流模型中的模块,尽 可能减少对原模型的修改,通过继承或添加模块,然后在工作流系统 中模块的粒度上做调整和修改,如工作流管理系统,使其能够应对新 情况,能够根据环境需要,将新实例经过处理后与原有实例一起执行 部分研究提案如解决跨组织的工作流管理系统就是采用此种思路。 工作流系统发展至今,已经较为成熟。但实际情况决定其不可能穷 尽一切可能,对于特殊情况和意外实例的考虑和尽可能的灵活性和兼 容性,以及响应的合理执行和管理,将会是现在和今后的一段时间的 研究主体。 另外,虽然已有工作流管理联盟提出的工作流参考模型但是由于 实际运用情况的多样性和全球业务的扩展,如何完成一个具有世界范 围的标准参考模型,并考虑到跨组织的工作流系统的复杂性,也是有 待完成的课题。 山东大学硕士学位论文 我国学者在理论研究,特别是工作流建模方面,在国际上具有先 进水平。但是由于实践环境的缺陷,在设计投入应用的大型项目上的 经验仍然欠缺。 在此我们的研究思路是在尽量保持原有工作流系统定义和结构的 同时,根据工作流系统的进化的必要条件,设计支持工作流进化的部 件结构,作为外加部件的形式,结合原有的系统即可支持工作流进化。 此外对于支持工作流进化中具体问题,如工作流版本管理、迁移策略 的支持,迁移算法等提出自己的解决方法并加以实现。 1 2 课题研究内容 本课题的研究工作包括理论和实践两方面。 理论上主要研究在不改变现有工作流系统的整体结构的目的上, 使其支持工作流进化,更具灵活性: ( 1 ) 分析工作流进化的必要条件,利用微工作流结构的前后端定义特 征,保留原有工作流特征,进化时所有的修改仅在后端进行即可。 ( 2 ) 引入了工作流版本状态这一概念,通过“临时”“已发布”“废弃” 这三个状态,完成了对工作流类型多版本的管理处理。 ( 3 ) 工作流进化后的工作流实例问题,利用工作流的有向图特征,设计 具有较高识别率的迁移算法,使能够进行工作流实例迁移的比率上 升。 ( 4 ) 利用工作流版本状态和动态绑定方法使迁移过程支持四种繁殖策 略。 ( 5 ) 根据工作流进化需进行的操作和结构定义,设计由“工作流版本管 理器”、“进化管理器”、“迁移管理器”三个模型部件,定义其 各自的职能结构,以及相互间的接口,掌控工作流进化的一系列工 作。 实践上结合现有的实际项目,将理论上所设计的支持工作流进化 部件作为外加部件库与现有的系统结合。在设计工作流系统时,将流 程和实际流程实例分开。将工作流进化部件作为外加库与现有的工作 流系统相结合,通过定义一系列接口来完成它们之间的交互。可以通 山东大学硕士学位论文 过原有的工作流管理工具界面来操作工作流进化的进行。 1 3 创新与技巧 在本课题的研究及实现过程中,主要的创新和技巧如下: ( 1 ) 为工作流版本引入状态概念,系统完成对于工作流类型多版本 的控制。并以此为基础支持四种不同的传播策略。 ( 2 ) 根据工作流实例的有向图特点,设计新的迁移算法,提高了工 作流实例迁移的可能性。 ( 3 ) 利用动态绑定的方法,使系统对工作流实例迁移支持本地修改 传播策略。 ( 4 ) 将工作流系统支持工作流进化的功能设计为三个模型部件,并 详细定义它们各自的职能和接口,共同作为一个支持工作流进 化的模块库与现有的工作流系统相结合,完成对工作流进化的 支持。 1 4 文章结构 本文在第二部分首先介绍工作流系统的概念和其参考模型,并根 据当前的应用情况指出现有工作流系统的不足而工作流进化作为当 前工作流系统急需支持的一个重要应用将在第三部分详细说明其概 念,以及分析为支持该应用,当前的工作流系统必须具备哪些功能和 结构方面的调整。而为保证不修改原有的工作流定义,我们引用为微 工作流结构,利用其定义将原有的定义映射到新的结构中,使其支持 修改的动态中,即仅在后端完成修改操作。 第五部分详细说明工作流进化过程中,版本化和修改操作所需进 行的系统设计。在此我们的主要工作是引入工作流版本状态的概念, 使工作流系统支持一个工作流类型可以具有多个版本,并利用其进行 工作流版本的管理工作。然后就版本修改过程中的操作内容对操作进 行分类。第六部分则是就研究过程中的重点一一版本进化后,对原有 的工作流实例的迁移问题,提出较高效的迁移算法。并就支持工作流 山东大学硕士学位论文 进化的工作流系统必须支持的急性传播、惰性传播、选择性传播、本 地修改四种传播策略,说明我们在系统设计中所采用的实现方法。 第七部分总结以上的设计要点,将支持工作流进化的部件设计为 一个模块,由三个功能部件工作流版本管理器,进化管理器和迁移管 理器构成。并明确定义它们的结构和功能,以及相互问的借口定义。 第八部分,则概要介绍了上述理论模块在实际项目中的应用情况,以 及此实际项目在系统设计上的特点。 山东大学硕士学位论文 2 1 工作流系统概念 2 传统工作流系统 工作流技术是为提高工作效率而提出的,工作流管理联盟 ( w o r k f i o wm a n a g e m e n tc o a l i t i o nw f m c ) 将其定义为:业务流程的 全部或部分自动化,在此过程中,文档、信息或者任务按照一定的规 则流转,实现组织成员间的协调工作以期达到业务的整体目标1 既 是说在需要小组、团队、甚至整个组织协同完成的工作环境中,一些 步骤需要一个或几个人完成后才能移交给其他人员,开始下一个步骤, 经过必要或可能的协作和反复后,最终完成原定的目标如何按照一 定的顺序安排和自动将工作移交其它工作,以及协调各人员问的协作 关系是工作流管理技术的主要目的。 顾名思义,工作流系统的主要活动对象就是工作流。其显著的两个 活动就是工作流的产生和执行前者就是如何按照已经存储的业务流 程的定义,产生一个可以被系统和使用者识别的实例过程。后者则是 由系统按照流程的规则,自动执行该流程。这里业务流程的定义通常 也被称为工作流类型( w o r k f l o wt y p e s ) ,而被执行的流程个体则被 称为工作流实例( w o r k f l o wi n s t a n c e ) 或简单的称为工作流一系列的 工作流类型称为工作流模型,可以通过工作流原模型提供的元素来进 行控制。工作流原模型也可以建立工作流类型的产生规则,也就是说 元工作流模型定义如何表现工作流类型。过程【1 9 】是有时间先后的活动 序列。活动是完成一定功能目标的最小单位。 2 2 工作流系统参考模型 1 9 9 3 年工作流管理联盟在欧洲成立,以推进工作流管理的标准化 w f m c 提出了一个工作流参考模型1 ,约定了工作流系统的体系结构、 6 山东大学硕士学位论文 应用接口及特性,主要目的是为了实现工作流技术的标准化和开放性 如图2 1 所示。系统主要部分功能如下: ( 1 ) 工作流执行服务:它由一个或多个工作流机组成( 在分布环 境下,由多个工作流机组成) 提供了过程实例和执行的运行环境。 ( 2 ) 工作流机:是一个为工作流实例提供运行执行环境的软件服 务或“引擎”。 ( 3 ) 工作流建模工具:主要用于分析、建模、描述并记录经营过 程。它输出一个能被工作流机动态解释的过程定义。 ( 4 ) t 作流管理工具:主要负责对工作流实例的运行进行监控 管理员可以通过工作流管理工具获得目前各个活动的运行情况报告, 并干预实例的推进 工作流管理联盟给出了五类接口: 接口l :工作流服务和工作流建模工具间接口,包括工作流模型的 解释和读写访问 接口2 :工作流服务和客户应用之间的接口,这是最主要的接口规 范,它约定所有客户方应用和工作流服务之间的功能访问方式 接口3 :工作流机和应用间的直接接口 接口4 :工作流管理系统之间的互操作接口 接口5 :工作流服务和工作流管理工具之间的接口 如前面所说,现今工作流系统按照w f c w 的标准模型无太大改变。 但是为应变流程的多变性和不确定性,最近的研究热点是在工作流管 理系统中加入更多的协调和自动化处理业务流程的功能。工作量管理 系统无统一的概念定义。但按照w f c w 的工作流模型和开发概念。工 作流管理系统是利用软件来定义、创建和管理工作流执行的计算机系 统,该系统运行在一个或多个能理解流程定义并与流程参与人相互协作 激活相应i t - f 具和应用系统的工作流引擎之上,对工作流实例的运行 进行监控管理员可以通过工作流管理工具获得目前各个活动的运行 情况报告,并干预实例的推进 7 山东大学硕士学位论文 工 作 流 警 理 接口5 过程定义工具 磊再厂 工作流执行任务 接口4 接q l 2上接口3 其他工作流执行任务 工作流客户应用 ii 工作流宵接调用的应用 圈2 iw f m c 提出的工作流参考模型 2 3 现有工作流系统的不足 虽然工作流系统应用时间不短,而且有各种专业化和专门化系统 可供选择。但是由于企业半结构化和非结构化经营过程的存在以及企 业业务流程的变化,要求工作流系统具有更多的灵活性和适应性产生 的原因主要有以下几点: ( 1 ) 企业经营过程的执行逻辑在多数情况下并不是完全可以事先确定。 它经常需要根据流程的执行情况动态地发生变化,其中包括工作任务 的变化、控制逻辑的变化和工作流资源的变化等: ( 2 ) 根据市场的需要以及企业的不断发展,企业的工作流程也要发生 变化,以提高企业的运作效率,这就要求流程在运行过程中具有动态变 换的能力: ( 3 ) 工作流的客户应用、工作流的执行者以及工作流的调用资源也会 随着企业经营环境的不同发生一定的变化: ( 4 ) 工作流程在运行过程中会遇到一些在模型定义时无法预计到的意 外情况: ( 5 ) 传统的工作流路由是事先确定的,但是在工作流的实际运行中需 要根据具体情况动态地确定执行路由 7 从以上的分析可以看出,为了能够更加准确地表达企业的经营过 8 山东大学硕士学位论文 程,满足企业工作流程的实际需要,提高工作流管理系统的灵活性是十 分必要的。 结合上述工作流动态变化产生的原因,通过对现行工作流管理系 统的分析和研究,可以得出制约工作流灵活性的几个方面,主要包括: ( 1 ) 现行集中定义的工作流模型在灵活性表达方面略显不足,并且由 于工作流模型的集中定义,使得建立的工作流模型不能很好地支持工 作流的动态变化; ( 2 ) 工作流模型的工作流路由固定,不能根据实际情况的变化动态变 换路由: ( 3 ) 工作流执行的任务在模型定义之初就已经固定,不能根据企业经 营任务的变化及时更改: ( 4 ) 在传统的工作流模型中,工作流的任务不能动态划分。任务粒度有 待细化: ( 5 ) 工作流的相关资源在模型定义之初就进行绑定,不能适应由工作 任务和工作环境变化引起的工作流资源动态分配。 工作流提供了经营过程逻辑和它支持的信息系统的分离,并实现 了应用逻辑和过程逻辑分离,它可以在不修改具体功能模块实现方式 的情况下,通过修改( 重新定义) 过程模型来改进系统性能。而对于某 些企业应用而言,经常出现工作流程的动态变化,如果在工作流系统模 型的定义过程中,使其具有一定的动态性,从而在工作流引擎的控制下。 不经修改工作流模型,工作流就能够根据流程环境和流程执行情况动 态地改变执行路由和工作任务,这种工作流系统就能够更好地满足企 业流程的需要。 9 山东大学硕士学位论文 3 工作流进化及其影响 前面讨论过现有工作流系统的不足,作为现有系统无法完善处理的 工作流进化,只有搞清其内容和工作流系统为支持其所需要进行的可 能的结构和功能上的调整,才能在设计时较为成功的解决该问题。 3 1 工作流进化相关概念 大多数组织和企业,在急剧变化的业务环境中为了获得更好的效 率和效益,对现有流程的再设计和优化是必不可少的。这时一次性完 成流程的再设计是不够的业务环境的高度动态性,使企业必须反复 的调整他们的业务流程,并且需要尽快随之调整他们的软件工作流系 统以适应业务的变化。这种工作流调整被称为工作流进化【3 ”。 为解决工作流进化问题提出的工作流类型版本的概念,即是把一 个工作流类型设定版本号,一个完整的按照工作流定义生成的工作流 整体即为一个版本。它拥有一个唯一的版本号数字,用以与其他版本 区别。如对此版本进行修改,则生成一个新的版本,并在生成的同时, 获得一个版本号。 另外由于实际情况中存在以下情况; 在某些情况下,需要恢复旧版本的工作流流程定义例如:新的流 程定义比旧的流程定义执行效率低; 在某些情况下,同一个流程存在不同的版本更理想这时,一些实 例使用一个版本创建,另一些实例使用另外一个版本创建。 例如:一个银行想改变它的贷款工作流以增加一些任务来收集用户的 信息然而,对于老用户,银行可能仍希望使用旧的流程定义通过 保留不同的流程定义版本,就可以满足上述要求 所以同一个流程定义必须能够有不同的版本。在系统中,为了处 理版本问题,系统维护一个定义树,该树使管理员能够方便地对流程 定义进行修改。在修改过程中,管理员选择一个版本,在保存时,管 理员既可以将其保存为新版本也可以直接保存。缺省版本是最后一个 山东大学硕士学位论文 版本。在创建新的流程实例时,如果不指定版本号,则使用缺省版本 3 2 工作流进化对工作流系统的需求 工作流进化作为前面所说的企业业务需求导致显现现有工作流系 统缺陷的重要部分。既然业务流程是业务的主要的活跃组成部分,所 以几乎没有可能在设计阶段提供适合所有情况的工作流类型。因此工 作流管理系统应该能够适应进化情况比如它能够通过修改现有的工 作流类型来修改工作流模型,即使当时仍然有按照此工作流类型的工 作流实例。不管工作流模型如何变化,必须保证模型和运行实例的正 确性。实施变化后,某个模型可能会变无效。例如,一个被其他类型 引用的工作流类型被移除了。另一方面,工作流实例也会变无效,比 如它对应的工作流类型发生改变,不再适合在那个时刻运行的实例 如果此时无任何实例运行,则工作流类型的进化问题较少但是,这 种情况较少,因为现在的工作流通常为长期,并且牵扯许多无法忽略 的其他工作。所以必须支持例如修改正在运行的实例之类的工作流类 型的动态进化。 过去对于此类问题,提出过一些方法。比如将工作流类型版本化 取代直接修改工作流类型,而是产生一个新版本的工作流类型。这种 新版本继承旧版本的方法通过一系列清晰定义的操作完成。所有此种 工作流类型的工作流实例都需要进行迁移,以按照新的版本执行尽 管这个方法解决了动态进化问题,但是工作类型的修改操作联系到许 多工作流类型( 即工作流模型) 的具体表现。这就意味着这种描述改 变必然会导致不仅是重建修改操作,迁移算法都要重新考虑 因此工作流进化必然会带来两个问题:第一,不同工作流系统版本 的管理问题和必须支持相异版本的工作流传播策略来运行工作流实 例;第二,保证工作流改变后的正确性。解决这两个问题的一大部分 工作需要工作流管理系统来完成。因为可以确定支持工作流动态进化 的工作流管理系统必须满足以下需求: a 支持系统工作流进化的管理 工作流管理系统必须能够管理不同的系统工作流版本,并提供 不同的传播策略以灵活的完成一个流程在不同版本问的迁移工作 山东大学硕士学位论文 在这里引入四种传播类型瞄j : 惰性传播:这种工作流计划的修改不改变任何正在执行的工 作流实例,只作用于将来以此种修改为基础产生的实例。这 种策略适合于短期业务流程 急性传播:这种工作流计划的修改马上运用于所有的工作流 实例这种策略适用于错误纠正和长期业务流程。 选择性传播:工作流计划的修改立即作用于被选择的部分工 作流实例。工作流实例的选择可能会由手工完成,或是工作 流管理系统根据工作流实例的状态来决定因为这种传播有 可能被延迟至工作流达到所需得状态 本地修改:这种工作流计划的修改可以说是选择性修改的一 种特例。目的在于可以本地定制某个工作流的具体修改也 可以应用于某些无法预知的的流程 b 工作流实例改变的一致性。 一般来说,不受限的改变应该被禁止同时应该运用补偿和调整策 略重建运行实例的正确性。 工作流实例的正确性取决于工作流计划和工作流实例所处的状 态。工作流计划能够保证一切从初始状态开始的实例的正确性,并且 工作流建模器会利用分析和仿真工具去检查这一特性。 工作流实例的一致性取决于工作流计划的动态正确性和当时的运 行状态。工作流计划的动态正确性保证每一个在新的工作流计划中从 起始状态开始执行的是安全的正确性原则中的顺从性也是相当重要 的,它要求一个工作流实例的整个执行轨迹是合法的并且可以查询 因此具备这个属性时,一个新的工作流实例可以被迁移到新的工作流 计划而不需要任何调整。否则一些活动将会被回滚以保证实例符合标 准。或是引进其他符合要求的工作流,以避免活动的回滚。 1 2 山东大学硕士学位论文 4 支持进化的微工作流结构 为保持原有的工作流定义,并符合国际参考和业界模型。在此我们 引入微工作流结构,并以此为基础增加支持进化的部件微工作流提 供了定义和支持工作流的最基本的方法,进化部分可以被看成一个插 件。用来提供额外功能。 微工作流的核心由两部分组成,定义模型和执行模型前者负责管 理工作流定义,后者负责所储存的定义的实例化执行。模型扩展支持 能够连接到其他的高级部分( 例如:进化部分) 。 4 1 定义模型 定义模型负责管理工作流定义。为了能够支持将来的工作流进化, 定义模型被分为两层:前端模型和后端模型。这就降低了耦合度,有 利于支持对于同一工作流定义不同客户的描述,同时保留执行模型中 的数据机构不变。利用此结构,任何一种工作流模型都可以被转化为 前端和后段模型,只要其符合以下条件: 条件l :前端模型可以从概念描述映射到后段模型 条件2 :前端模型提供解释规则以产生后段定义。 4 1 1 前端定义 在本结构中前端定义的关键是过程。由过程结构化组成的树定义出 工作流。不同类型的过程在模型中的显示方式取决于作者的对过程的 控制意愿,类似于结构化编程语言。过程的两个副类型为 简单过程:在过程树中代表叶结点。它提供了专门领域工作的 抽象化表示一个简单过程可以是主要过程,代表了一个软件 服务或是工作列表过程等由一个工人完成的部分工作。 复合过程:复合过程常用来表示控制流的管理结构。 山东大学硕士学位论文 图4 1 展示了基于过程的工作流前端定义 4 1 2 后端定义 圈4 1 幕于过程的工作流前端定义 后端定义模型为直线图。结点表示动作步骤,结点间的交互表示流。 流可以是控制或数据。控制流建立图的顺序,并只能以此顺序遍历结 点。数据流定义了什么数据从一个活动流向另一个活动。每一个图都 应该只有一个开始结点和一个结束。 4 1 3 前端到后端的汇编过程 汇编开始于转换叶结点到它们的图形表示。然后向上遍历整棵树, 同时完成图形表示,直到到达树顶。结果图即为后端工作流定义,执 行引擎可以依此执行。同时转换算方法必须考虑到数据流或控制流的 各种现存规则,以及结点的各种参数。图4 。2 粗略展示了一系列工程( 前 端) 映射到内部后端图形表示。遍历算法这里省略不提。 1 4 山东大学硕士学位论文 过程前端定义 后端定义 图4 - 2 过程前端定义,后端定义 4 2 执行模型 该模型包括工作流实例的生命期控制操作。负责从定义模型那里读 取工作流定义,然后根据执行算法执行它们。 执行模型定义了一些生命期操作。这些操作包括: 执行一一创建一个工作流定义实例并初始化。在完成初始化操作之 后赋予其一个唯一的实例标志符w o r k f l o w i d 挂起一一暂时冻结一个指定的工作流。 恢复一一继续一个之前被挂起的工作流。 查询状态一一通过工作流实例的唯一标志符查询该工作流实例的 状态。 中止一一中止一个工作流的执行。一个被中止的工作流是无法被恢 复的。但是它的信息是将被保留,用户可以查询到。 山东大学硕士学位论文 5 工作流进化过程处理 一个灵活的工作流管理系统应该支持工作流类型的修改,即使仍 有关于此种工作流类型的工作流实例在执行。根据3 1 介绍的工作流类 型版本的概念,任何对工作流类型定义的修改,都会产生一个新的版 本。在这里需要就工作流类型版本化与工作流类型修改相关的一些细 节问题 5 1 工作流类型版本化 这里需要考虑版本的颗粒度问题,有些观点认为将整个工作流作 为颗粒度太大,一旦需要衍生就有可能需要继承所有的工作流结点和 属性,比较浪费资源因此建议另外定义对象,大小介予工作流系统 类型和微工作流之间。包含一些常用的属性和规则这样固然降低了 系统的资源消耗和提高了运行效率。但是我认为此种观点破坏了工作 流定义的完整性,而且一旦采用此种方法,所有的工作流修改操作、 创建和执行活动的定义都需要另外考虑。前面所提到迁移算法还需要 在新定义的对象和原有工作流类型闯的转换闯题上花费时间有可能 造成更大的时间开销而且是否能得到各种描述语言的支持,较为完 善的完成各种用户显示之间的转换仍然是需要考虑的问题因此建议 仍然使用系统版本控制 工作流版本化的主要思想是建立一个新版本的工作流类型,而不 是直接更新一个已有的工作流类型。可以说工作流类型只是工作流版 本的一个继承类工作流版本作为一个私有类,对于前台是不可见的。 指定类型的工作流信息保存在那种类型的版本中。图5 1 展示了原模 型的扩展 一个工作流类型包括一个或多个工作流版本。每一个版本可以有几 个子孙,并只能有一个祖先。 一个版本根据其产生时的分类,被赋予一个唯一的标志符数字。其 1 6 山东大学硕士学位论文 分类包括如修订,还是变异。一个修订版本替换一个已有的版本,例 如一个最新的版本替换一个过时的版本。而变异则是与其他版本共存, 能够对个别特殊情况做出反应。 当一个新的工作流类型被加入模型时,就立即产生这个类型的根版 本任何工作流类型修改包含以下步骤:首先,创建一个产生一个已 有版本的后代,对新生成的版本进行修改操作 这里需引入版本状态这一概念。版本状态可以反映一个版本的不同 发展阶段一个版本会经历三个状态:临时、已发布和废弃。 一个新产生的版本被设定为临时。在此种状态下这个版本是不可能 产生实例或是产生后代版本。另一方面来说,在此种状态下的版本可 以修改或是删除。但完成对一个版本的修改处理后,状态将被改为已 发布这种状态下的版本是不能被删除或是修改的,但可以产生新的 实例和后代版本最后无用的版本就被转换为废弃。图5 2 演示了版 本状态间的转变过程。 图5 1 支持工作流类型版本化的原模型 删除 圈5 - 2 工作流类型版本的状态变化 1 7 山东大学硕士学位论文 5 2 修改操作 为了能够控制工作流类型模型,需要准确定义一系列的操作准确 定义以为两件事:完整性和准确性。完整性指能够产生和移除工作流 类型模型的任何一个部分正确性是指能够保证在实行一系列的操作 后,结果模型和实例不会不正确。 按照p e t r i 网工作流表示,一个正确的工作流应该按照定义满足以 下约束。 p e t r i 网中。位置p 为某个跃迁r 的运行条件,位置p 用圆来表示, 跃迁r 用矩形表示用t 表示跃迁丁的输入位置集,r 表示跃迁r 的 输出位置集,类似的表示也可适用于p 和p 由于任何一个工作流系 统的核心是由它所支持的流程组成的,因此控制流是工作流中最重要 的部分在控制流中将w f m c 提出的顺序、并行、条件、循环分别表 示。 用来模拟工作流中控制流的p e t r i 网称为w f - n e t 定义l一个p e t r i 网p = r p ,t ,刀能看作为一个w f 2 n e t 的 充要条件是- a 只有一个源位置f p 使得f 为空? b 只有一个宿位 置o p ,使得o 为空jc 对于每一个节点工put 处于从f 到。的 路径上 定义2一个用w f 2 n e t ,p = rp ,r ,刁表示的流程是完整的 充要条件沲对于每一个可以从源状态f 达到的状态肘,m 都可以到 达宿状态0 0 用p e t r i 网的语言表示就是p mri 一3 m ) 】r 吖一 3 0 0 ) j b 从源状态f 出发,经过位置0 0 中,状态d 是唯一一个在位置 d o 上有标记的状态亦即p mri 一3 ma m 】rm ;砂;c 在 f p ,0 中不存在死跃迁公式表示就是p t t vm ,m 3 ,f 一3 m t m 3 ) j d r p ,0 是安全的 但是如何保证工作流模型的正确性超出了本文的讨论范围,在这 里我们仅做简单判断,或是将用户设定的新工作流类型版本认为其永 远正确。 为了达到这两个要求。我们为操作制定前提。如果不能够满足这些 前提,操作将不能执行。修

温馨提示

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

评论

0/150

提交评论