




已阅读5页,还剩56页未读, 继续免费阅读
(计算机软件与理论专业论文)一个支持多群体的工作流管理系统——swfms.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人完 全意识到本声明的法律责任由本人承担。 论文作者签名: 史i 二氐 日期:迎2 :上一应 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:望。曼恿导师签名: 日期: ! 螋z :! : 摘要 工作流管理系统在当前的研究领域中,是一个热点。工作流管理系统对提高 工作效率有重要的意义。目前已经出现了不少工作流产品和工作流原型系统,但 是仍有诸多的局限性,如监控功能上的不足,很少考虑协同工作,以及工作流管 理过程中的动态修改不便等等,从而影响了整个工作流管理系统的效率。 本文以山大地纬公司为背景,将工作流的技术用于软件开发的过程当中。在 充分考虑了软件开发过程的特点多群体协同工作的基础上,提出了新的监控策 略及方法,论述了s w f m s 中若干关键技术的实现方法,并给出了s w f m s 的一 种设计方案,所做的主要工作和取得的成果如下: 1 监控方法。 管理监控功能是工作流管理系统中一个非常重要的部分。在s w f m s 中,我 们提出了新的监控策略及方法,使监控者能实时的看到工作流的运行情况,并能 对多条工作流做监测,从而根据需要,及时做出调熬,提高了软件开发的效率。 2 s w f m s 中若干关键技术的实现。 本文详细论述了s w f m s 的一些关键技术的实现方法,这些关键技术包括支 持多群体的工作流模型、同步协同工作流中的冲突检测、组织模型的动态修改等 等。通过这些关键技术的实现,使s w f m s 不仅能支持多群体协同工作,而且运 行效率也较高。 3 s w f m s 的一种设计方案。 在s w f m s 中,我们将整个系统分为工作流定义、工作流引擎、客户端管理、 客户管理、公用服务五大模块,来定义、管理软件开发过程中的各种业务流程, 协调群体各成员间的工作。 4 在实践工作中的应用。 对于s w f m s ,我们在实际应用中将其部分设计思想已经运用到了地纬公司 的软件开发中,取得了一定的成果。 关键词:工作流工作流管理系统监控群体协同工作 t h ew o r k f l o wm a n a g e m e n t s y s t e mo f s u p p o r t i n gm u l t i - g r o u p 一s w f m s p o s t g r a n d u a t e :s i - i y u l i a n g t u t o r :p r o f w a n g h a i y a n g a b s t r a c t i nt h ec u r r e mr e s e a r c hf i l e d ,t h ew o r k f l o wm a n a g e m e n ts y s t e m ( w f m s ) h a sc a u g h t m o r ea n dm o r ea t t e n t i o n e s p e c i a l l yi ti sv e r yi m p o r t a n tt oi m p r o v et h ew o 越n g e f f i c i e n c y a l t h o u g hm a n yw o r k f l o ws y s t e m sa n dp r o t o t y p e sh a v eb e e nd e v e l o p i n g c u e n t l y t h e y h a v et h e i ro w nl i m i t a t i o n s f o r e x a m p l e ,t h e y a r ed e f i c i e n ti n m o n i t o r i n gf u n c t i o na n ds u p p o r t i n gc o o p e r a t i v ew o r k ,m o r e o v e r , i ti su n e a s yf o rt h e m t om a k ed y n a m i cm o d i f i c a t i o n si nt h e p r o c e s s o fw o r k f o l wm a n a g e m e n t s ot h e e f f i c i e n c yo f w f m s h a sb e e na f f e c t e d t h et h e s i sj u s tt a k e st h ee n t e r p r i s e d i w e ia sa n a p p l i c a t i o nb a c k g r o u n d ,a p p l i e st h e t e c h n i q u eo f w o r k f l o wt ot h ep r o c e s so fs o f t w a r ed e v e l e l o p m e n t , a n do nt h eb a s eo f t h j n k i n ga b o u to f t h ec h a r a c t e ro ft h ep r o c e s so fs o f t w a r ed e v e l o p m e n t - m u f f g r o u p c o o p e r a t i v ew o r k ,p r o v i d e sak i n do f n e w m o n i t o r i n gs t r a t e g ea n dm e t h o d d i s c u s s e s t h ei m p l e m e n t i n gm e t h o do fs o m ek e yt e c h n o l o g i e so fs w f m s ,g i v e sak i n do f d e s i g n i n gp r o j e c to f s w f m s t h e m a i nr e s e a r c hw o r ka n da c h i e v e m e n t si n c l u d e s : 1t h em e t h o d o f m o n i t o r i n g t h ef i m e t i o no fm a n a g e m e n ta n d m o n i t o r i n gi s o n ei m p o r t a n tp a r to fw f m s i n s w f m s ,w ep r o v i d es o m en e w m o n i t o r i n gs t r t e g i e sa n dm e t h o d s t h r o u g ht h e s en e w m e t h o d s ,t h em o n i t o r e rc a l lm o n i t o rs e v e r a lw o r k f l o w sa n d s i m u l t a n e o u s l y l e a r na b o u t t h ep e r f o r m a n c es i t u a t i o n so fw o r k - f l o w s ow ec a na d a p tt o t h en e wn e e d sa n d i m p r o v et h ee f f i c i e n c yo fs o f t w a r ed e v e l o p m e n t 2t h e i m p l e m e n t i n gm e t h o do f s o m ek e y t e c h n o l o g i e so f s w f m s t h i st h e s i s e x h a u s t i v e l y d i s c u s s e st h e i m p l e m e n t i n gm e t h o do fs o m ek e v 4 t e c h n o l o g i e s o fs w f m s t h e s et e c h n o l o g i e si n c l u d e s t h ew o r k f l o wm o d e lo f s u p p o r t i n gm u l t i g r o u p 、c o n f l i c tc h e c k i n go fs y n c h r o n o u sc o o p e r a t i v ew o r k _ f l o w 、 d y n a m i cm o d i f i c a t i o ni nt h eb a c k g r o u n d o f o r g a n i z a t i o nm o d e la n ds oo i l ,t h r o u g h t h ei m p l e m e n t i n go ft h e s ek e yt e c h n o l o g i e s ,s w f m sc a nn o to n l ys u p p o r tt h e m u l t i - g r o u pc o o p e r a t i v ew o r k ,b u t a l s oh a sa h i 曲e f f i c i e n c y 3t h e d e s i g n i n gp r o j e c to f s w f m s i ns w f m s ,w ed i v i d et h es y s t e mi n t of i v em o d e l s :aw o r k f o l wd e f i n em o d e l ,a w o r k f l o we n g i n em o d e l ,ac i l e n tm a n a g e m e n tm o d e l ,au s e rm a n a g e m e n tm o d e l ,a p u b l i c s e r v i c em o d e l o nt h i s b a s i c ,w e c a nd e f i n ea n dm a n a g e e v e r y k i n do f b u s i n e s sw o r k f l o wo fs o f t w a r ed e v e l o p m e n t ,a n dw ec a na c c o r de v e r yu s e r sw o r ko f e a c hg r o u p 4t h e p r a c t i c a la p p l i c a t i o n w eh a v e a p p l i e ds o m et h o u g h t s o fs w f m st os o f c w a r e d e v e l o p m e n to ft h e e n t e r p r i s e d i w e i ,a n dh a v eg o ts o m eg o o d e f f e c t s k e y w 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 ,m o n i t o r i n g , g r o u pc o o p e r a t i v ew o r k 第一章绪论 1 1 工作流管理系统的基本概念 工作流技术的出现可以追朔到7 0 年代。那时h a m m e r 和c o l l e a g u e s i ”、 z i s m a l l 2 】,以及其他的一些人便开始将工作流技术应用于办公信息系统的开发。 同时,e l l i s 和n u t t p l ! ex e r o xp a r c 平台上开发的办公信愚系统中也开始引入办 公流程模型的概念。这些系统在一定程度上实现了办公自动化,可以将其看成是 现代工作流管理系统的一个雏型。但随着企业规模在不断扩大,信息资源正以惊 人的速度在不断增长,形成了一个异构、分布、松散藕合型的计算环境,这就要求 企业建立一个能以有效的集中管理方式执行各相关任务的异构分布执行环境,这 也正是工作流管理系统的目标所在。 根据工作流联盟( w f m c ) 的相关文件f 4 7 j 工作流的定义如下。 工作流:是业务过程的部分或全部自动化,在工作流中,文档、信息或任务按 照一定的程序规则在参与者之间传递,以完成相应工作。 事实上,一个工作流包括一组活动及其相互顺序关系,还包括过程及活动的 启动和终止条件,以及对每个活动的描述,如活动的执行者、相关应用程序、需要 和产生的数据等。 工作流根据其底层实现技术的不同,可分为以下几种: ( 1 ) 邮件型工作流:依赖于电子邮件,适用于合作和特别工作流。 ( 2 ) 文档型工作流:基于文档流转的思想,限于与外部应用的交互,适用于行 政管理工作流。 ( 3 ) 过程型工作流:对应于生产工作流,它实现自己的通讯机制,在底层数据 库基础上,提供大量与传统和新的应用的接口。 工作流管理:工作流管理则包括对业务过程执行的协调。业务过程由一些活 动和任务构成,这些活动和任务可以由人工或信息系统自动或半自动地完成。而 完成工作流管理功能的软件系统则称为工作流管理系统( w f m s ) ,w f m c 给出 的有关w f m s 的定义如下。 工作流管理系统( w f m s ) :是一种能定义、创建和管理工作流执行的系统。 它可通过一个或多个工作流机来运行,并能解释过程定义、与工作流参与者交互。 一:! = = ! 些垒望些篓垄垒= ! = ! = = 一 ,_ _ - _ _ - _ _ _ _ - _ _ _ 一一一 在需要时还可以引用i t 工具和应用。 为了实现工作流技术的标准和开放性,w f m c 提出了一个参考模型,其中约定 y i 作流系统的体系结构、应用接口及特性等方面的内容,为工作流管理系统的 开发给出了统一的框架。 1 2 工作流管理系统的参考模型 为了便于工作流管理系统的研究与开发,w f m c 提出了一个工作流系统参 考模型。1 ,其体系结构、主要组成部分和接口如图i - i 所示。 从图卜1 中可以看出,一个工作流管理系统主要包括过程定义工具、管理与 监控工具、工作流执行服务、工作流客户端应用以及五大接口组成,而核心部分 是工作流执行服务。 工作流执行服务( w o r k f l o we n a c t m e n ts e r v i c e ) 是参考模型的核心部分, 围绕它的外部接口包括工作流应用程序接口( w a p i ) 和交换格式等,通过这些接 口可以访闽工作漆系统鼹务,并控制工作流控制软件与其它的系统组件之问的交 互。w a p i 是一个统一的服务接口,根据不同的功能范围分为五个接口,如图卜1 所示。 该参考模型在逻辑上把过程、活动控制逻辑与应用工具和最终参与者端的任 务分开。这样使得制订广泛的工业标准,或者将参与者专用的应用工具集成到特 殊的工作流应用程序中变得可能。 1 ,3 现有的工作渡管理系统的发展情况 随着i t 的日新月异,工作流管理的产品也是层出不穷”,但从其实现的主 体技术来看,主要可以分为以下几种:基于文档的、基于一般数据库嘲、基于主动 数据库的”m 1 、基于a g e n t 技术的1 。 7 像利用电子邮件实现的无纸化办公等是典型的基于文档的工作流管理系统, 其特点简便、易实现、易使用,但其适用面较窄,主要用于办公自动化方面。 基于数据库的工作流管理主要利用现代数据库具有的一些强大功能,来解决 工作流管理中的问题。例如,用数据库存放工作流相关的所有数据( 包括过程数据 和应用数据) 可以很容易保证数据一致性、完整性甚至版本管理等;利用数据库 的事务处理功能来保证工作流的并发性使用和各项任务的完整执行;利用数据库 系统提供的编程接口( a p i ) 可以很容易实现与其它应用的接口。这类工作流管理 系统往往侧重于工作流中的数据集成,其流程的实现也还是缺乏有效手段。 目前,在工作流理论和实施技术方面研究的主要内容可以归结为三个方面 “:一是工作流的理论基础研究,包括系统体系结构、工作流模型与定义语言等, 例如不少人开始利用p e t r i 网来对工作流模型进行研究;二是工作流的实现技术 研究,包括工作流的事务特性、各种先进软件技术的应用和工作流仿真,在数据 库事务模型的基础上结合工作流的应用需要提出了若干高级事务模型;三是工作 流技术的应用研究,包括工作流实施技术在不同应用领域的应用方法和应用软件 的集成等。 下面便以两个典型的工作流系统为例对工作流目前的研究状况进行简单介 绍。 1 3 1n e t e o r 工作流原型系统 m e t e o r ( t h em a n a g i n ge n d - t o e n do d e r a t i o n s ) “”“”“”是由美国g e o r g i a 大学大规模分布信息系统( l s d i s ) 实验室研制的工作流系统。它是一个支持多 范型的工作流管理系统,即该系统能够支持分布异构环境下的企业内和企业问的 各种工作流。这些工作流可以是数据库管理系统和分布式事务处理系统中的事 务,也可以是e d i 等特殊应用。该系统采用了完全分布的体系结构,在系统中设 计并实现了分布调度模块来完成工作流任务的最优调度。 m e t e o r 系统主要包括四种组件:工作流设计组件、编译器和代码生成器、 基于w e b 的工作流引擎和c o r b a + w e b 的工作流引擎。其中工作流设计组件提供了 一个图形化的工作流模型定义环境。在该环境中包含三种定义工具:工作流程定 义工具、数据对象定义工具和任务定义工具,通过这三种工具用户可以方便地进 = = = ! 竺兰堕垒望婆望型奎! ! ! 竺= = 竺! = 一 行工作流模型的定义。 m e t e o r 系统主要具有如下特点: 支持多种任务类型,包括数据库事务型和脚本语言型等。 具有描述任务间复杂控制流程和数据流程的能力。 图形化的工作流模型定义环境,便于非专业人员进行工作流程的定义。 实现了多种调度策略,支持中心调度和分布式调度。 具有事务特征,支持两段提交等协调模式。 具有错误处理和错误恢复。 可以在w e b 或c o r b a 环境下运行。 1 ,3 2w i d e 工作流系统 w i d e ( w o r k f l o wo ni n t e l l i g e n ta n dd i s t r i b u t e dd a t a b a s ee n v i r o n m e n t ) “”7 ”是来自西班牙、意大利和荷兰的五个合作伙伴联合开发的工作流系统。 其主要目的是将分布式数据库和主动数据库技术应用于工作流系统中,为工作流 的实现方法提供先进的、面向应用的技术支持。也就是说,w i d e 的主要目标包 含下面两个: ( 1 ) 为描述活动的流动和活动运行的环境提供一个先进的概念模型。 ( 2 ) 通过采用主动数据库技术和事务管理技术为分布环境下的工作流管理提 供先进的技术支持。 在w i d e 系统中,工作流模型包括三个部分:组织模型、信息模型和过程模 型。其中组织模型用于记录企业内的人员组织结构和资源的信息:信息模型用于 定义并维护个工作流实例运行过程中所需的全部数据,并管理这些数据的使用 范围和表示方式;过程模型用于描述活动以及活动之间的关系,包括前条件、活 动所要进行的操作、后条件、角色限制和对于系统定义和用户自己定义的异常情 况的处理方法。 w i d e 系统的体系结构分为三层,其中最底层是数据库层,在w i d e 系统中采 9 =:= = ! 当型娑鳖譬垒婆= ! 竺! ! ! = ! ! 竺 _ _ - _ - - - _ 一一 用了o r a c l e 关系数据库;b a l 痞中间层,它为上层用户提供了一个面向对象数 掘库的操作接口,并将其映射为底层的关系型数据库操作接口;而服务器层位于 最顶层,该层提供了事务管理服务和规则支持,同时还为系统用户提供了访问接 口。 另外,在w i d e 系统中,对异常处理做了充分的研究,它使用主动规则技术 来描述异常情况及其处理方法。 综上所述,虽然目前工作流管理系统的产品已经很多,但是还存在着一些缺 路,主要表现在以下方面: ( 1 ) 监控功能不足,从而影响了工作流管理系统运行的效率。 ( 2 ) 群体协同工作考虑不多,特别是对于多群体协同工作,目前还不多见。 ( 3 ) 动态修改不便,从而使工作流在运行过程中难以根据实际情况做出调整。 1 ,4 本文所作的主要工作 本文以山大地纬公司为背景,将工作流的技术用于软件开发的过程当中,并 充分考虑了软件开发过程的特点多群体协同工作,给出了一个支持多群体工 作的工作流管理系统s w f m s 的方案设计,所作的主要工作和取得的成果如下: 1 监控方法。 管理监控功能是工作流管理系统中个非常重要的部分。在s w f m s 中,我 们提出了新的监控策略及方法,使监控者能实时的看到工作流的运行情况,芳麓 对多条工作流做监测,从而根据需要,及时做出调整,提高了软件开发的效率。 2 s w f m s 中若干关键技术的实现。 在s w p m s 中我们对一些关键技术洋细论述了其实现方法。这些关键技术包 括支持多群体的工作流模型、同步协同工作流中的冲突检测、组织模型的动态修 改等等。 3 ,s w f m s 的一种设计方案。 在s w f m s 中,我们将憝个系统分为工作流定义、工作流引擎、客户端管理、 客户管理、公用服务五大模块,来定义、管理软件开发过程中的各种业务流程, 协调群体各成员间的工终。 1 0 山东大学硕士学位论文 4 在实践工作中的应用。 对于s w f m s ,我们在实际应用中将其部分设计思想已经运用到了地纬公司 的软件开发中,取得了一定的成果。 1 5 本文的组织结构 结合本文所做的研究工作,整个论文的章节是这样组织的。第一章为绪论部 分,介绍了工作流管理系统的起源、发展以及本文所作的主要工作:第二章主要 是对于监控方法的介绍;第三章是详细论述了s w f m s 中一些关键技术的实现方 法;第四章给出了s w f m s 的一种设计方案和s w f m s 在实践中的应用情况,最 后一章为结束语。 第二章监控方法 2 ,1 引言 管理监控功能是工作流管理系统中一个非常重要的部分。在实际应用中,系 统在运行过程中不可避免的会出现许多意外情况,正确及时的处理这些意外情况 对于保证系统良好运行具有十分重要的意义。除了在系统设计实旆中充分考虑各 种情况,提高应用系统的可靠性和鲁棒性之外,提供良好的管理监控功能对于提 高系统的应变能力是一个非常有效的方法“”。 在软件开发过程中,由于管理上的不足,经常会出现项目不能按时提交,分 工协作不一致的问题,从而使的软件的质量很难保证,同时还增加了开发的费用。 为了提高软件过程的成熟度,按照软件能力成熟度模型( c m m ) 描述,必须要加 强软件开发过程中项目的跟踪和监督功能啪。 本章以软件开发工作流管理系统( s w f m s ) 为背景,提出了新的监控策略和 功能,并具体说明了其实现方法。通过这种监控方法,使监控者能实时的看到工 作流的运行情况,并能对多条工作流傲监测,从而根据需要,及时做出调整,提 高了软件开发的效率。 2 ,2 监控的目的 我们在s w f m s 中运行监控的目的主要是以下三方面: ( 1 ) 了解软件的开发进展情况。 ( 2 ) 帮助调整修改软件开发的工作流程。 ( 3 ) 提供必要的信息,以保证工作流管理系统的正常运行。如运行的并发控制等 等。 2 3 监控的策略及功麓 23 ,1 监控策略 我们在s w f m s 中采用如下的监控策略: ( 1 ) 层次( 上下级) 的监控策略:所有监控者按照权限的不同应划分为不同的层 山东大学硕士学位论文 次,他们监控的范围按照层次的高低逐渐递减,每一层监控者都应能监测至q 此层 以下所有层的活 b 开 c 为 圈z l ( 2 ) 同级监控的策略:处在同一层次的监控者应该能看到和他有关联的同一层的 活动。如下图2 - 2 所示: b 为对应项目的 开发组组 d 、e 为b 的 组员 2 3 ,2 监控功能 c 为对应项目的另 开发组组长 f 、g 为c 的组员 在s w f m s 中要实现以下三方面的监控功能: ( 1 ) 对s w f m s 中状态的监控。 这个功能应包括三个方面,可分别对单个节点,一条工作流,多条工作流进 行监控,并显示相应的结果。 对单个活动状态的监测及表示。 活动的状态应分为:开始,运行,挂起,终止等等。对于这4 种状态我们 可以分别用以下方式表示: o 在实际显示的时候,应该用不同的颜色来表示不同的状态,这样,监控者可以很 清楚的看到各个活动的状态情况。此外,在软件开发过程中,除了工作流定义的 几种状态之外,对另外两种情况;节点的机器是否联网? 节点任务是否超时? 我 们也应该定义几种状态,以便于监控者可以更清楚的了解括动的情况,这几种状 态分别是:联网,不联网,超时。对应图示为: o 0 对一条工作流状态的监测及表示。一条工作流是由许多活动组成的,所以, 我们可以用个活动有商蜜来表示工作漉中各个活动炊态奇搴情况。 0 对多条工作流状态的监测及表示。一个工作流管理系统是由很多子工作流 组成的,所以,我们可以将这些活动有向图组织起来组成一个大的网络有向图 来表示多个工作流的情况。 ( 2 ) 对s w f m s 中处在运行状态的活动情况的监视。 要提高系统的效率,应该检测到每个运行中的活动的实时情况,根据实时监 测到的情况及时做出调整从而提高系统的效率。对于正在运行中的活动,要 监测的信息应分为三类: 日志要了解活动的进展情况,可以用日志的形式,每个人把每天所做的 工作以文档的形式记录下来,这样,对开发组的组长:来说,他就能了解工作每天 的进展情况,从而做出相应的调整。 、o 监控着随对艟看到商关静资糕。对一个监控者来说,只缝看到g 意是不够 的,他还应该能看到被监控者与这个项目有关的所有资料。比如个开发人员在 半天所做的程序等等。 0 实对看到的信息。虽然一个开发组的组长能通过文档看到每个成员每天的 进展情况,但这种信息并不是及时的,为了进一步提高效率,他应该能及时了解 每个组员的工作情况,也就是说开发组的组长应该能随时看到每个组员现在所傲 的工作,这时候就需要实时监测。 另外,对同一个工作组来说,吾个组员之问 山东大学硕士学位论文 应该能及时了解对方的进展情况,从而调整自己的进度,这时候,也需要实时 监测。 ( 3 ) 报警任务。 报警任务并不经常发生,只有在工作流中活动出现异常的时候才发生。通常 有以下两种情况; 当一个活动运行超对的时候,需要报警。对于每个活动,都应该有一个生 命期,即活动在什么时间完成,如果超过了这个时间,活动仍没有完成,就需要 报警了。 当一个活动在运行的时候,出现异常,需要报警。如执行者没有参加工作, 环境资源出现问题等等。 2 4 监控功能的实现及实例分析 2 4 1 s w f m s 中状态的监测和嶷示 为了实现s w f m s 中状态的监测和显示,我们从以下三方面来考虑: ( 1 ) 信息的存贮管理。 为了能方便的显示工作流中的活动的状态情况,需要设计如下的数据库,来 存储工作流中的信息。按照层次监控的策略,我们按照层次来存储来存贮工作流 中的信息。假设一个工作流系统按照层次来划分,有n 层的话,应该有n 个存储 工作流的表,如下图所示: s t r e a m _ m ( 1 m n ) 对于第一个工作流表,应有如图所示的两个字段分 别是工作流的名字,工作流的监控监控者列表。 对于第m 个表,除了有表i 所有的两个 字段外- 它还应有另外一个字段,即 a t t r i b u t e 列,这列的值决定这个工作流属 i n a m e a t t r i b u t e s t a t e s t a r t t i m e l i f e t i m e w o r k s t y l ee x e c u t e r s f 在这个活动表中,有七个字段,分别是:活动的名字、活动的属性、活动的状态、 活动的起始时间、活动的生命期、活动的工作方式( 同步还是异步) 、活动的执 行者。其中,活动的属性决定这个活动属于那一层工作流中的那一个工作流。另 外,还需要有全局模型库,其中保存各个工作流的活动图组成。这些表中的初始 数据在工作流管理系统模型建立的时候应该添上。 ( 2 ) 信息的修改。 在工作流管理系统运行以后,这些表中的信息需要修改,修改有两种情况: 修改工作流,运行时状态发生变化。对信息的修改是通过一些定义的接口函数来 实现的。 ( 3 ) 信息的提取。 当一个监控者想看某个活动的状态,程序首先判断这个监控者是否有权限, 判断的过程如下:根据这个活动的属性,看这个活动属于那个工作流,然后从其 他的活动项中看那些活动和这个活动的属性一样,判断那些符合的活动的执行者 是否有着个人,如果有即可。如果没有,则看这个所属的工作流的监控列表中是 否有这个人,如果有即可。没有的话,则没有权限。 当一个监控者想看某个工作流的活动图时,程序首先判断这个人是否在这个 工作流的监控者列表中,在的话,从模型库中,取出这个工作流的活动图即可, 否则没有权限。 2 4 2 运行中活动的监测 对运行中活动的监测包括以下三个方面: ( 1 ) 超时监测。 当一个活动开始处于运行的状态时,它的开始时间和生命周期都应该赋上, 每过一天或者一个固定的时间,监控程序可以自动的检查现在的时间跟活动的初 始时间的差值是否超过活动的生命周期,如果超过,就需要报警,我们这里采用 传递e _ m a i l 的方式来实现,并且,这个邮件要传递给所有有权限看这个活动状 态的监控者,同时,也要触发异常处理程序来处理这个异常。 ( 2 ) 随时查看。 为了能随时看到被监控者机器上有关的资料,应当在被监控的机器上把这些 1 6 资料对应的目录对监控者共享,为了增加安全性,应该对这些共享的目录加上密 码来限制。 ( 3 ) 实时监测。 对运行中活动情况的实时监测时通过应用共享的技术来实现的。 在这里,由于要监视多个工作流的情况,所以,对一个工作流来说,要建 相应的目录,对监控者来说,当他想看某个活动的实时信息,首先看这个活动节 点的机器状态是不是在线,在线的话,被监控者机器上的应用共享软件将启动, 捕获消息,同时将消息发往服务器对应的目录中,由于这个信息是及时的,所以, 在服务器上的这个信息并不存储,而是立刻发往所有的监控者的机器上。这样, 要想看那条工作流的情况,只需要把相应目录的信息传到本机上即可 监测情况如下图2 3 所示: 圈2 - 3 为了在监控的时候不影响客户端的效率,监控程序要采用基于a g e n t 的方式 来实现。 2 4 3 实例分析 在s w f m s 中,当某个项目启动时,这个项目对应活动的一些信息就要被修 改,如开始时间,执行者,生命期,工作方式等。当某个监控者要看这个项目的 运行情况,监控程序首先判断他的权限,有权限的话,进入监控界面,这个项目 的监控界面是以图形化的方式显示它的结构和执行进度:拓扑结构是从模型库中 取出,每个活动的情况使用前面定义的图形来表示。如果是多个项目同时启动, 每个项目要对应一个目录,要看某个项目的情况,查看对应的目录即可。 当监控者要看某个活动的情况时,在监控界面中,输入活动的名字,查询即 可。如果有权限的话,监控者将会看到这个活动的详细情况,如状态,执行者等 等。如果要对这个活动进行实时监测,点击实时监测按钮即可,将会看到活动执 行者正在做的工作。要看活动的日志,到服务器上对应目录下查看即可。 2 5 本章小结 本章所提出的监控策略及方法,可以对工作流进行实时监测,并且可以对多 条工作流监控,从而可以很好的达到监控的目的,提高了工作流管理系统的效率。 但是,在实际应用中,还面i 临一些问题,例如如何优化监控系统,使之对客户端 效率的影响降至最低,这些都有待于研究,我们将在以后的工作中作进一步的研 究。 18 = = 竺竺! 些垄丝望望垒= = = = = = = _ - - _ _ _ - _ _ _ _ _ _ - - - _ - _ _ - _ _ _ _ _ - _ - _ - _ 一 第三章s w f m s 中若干关键技术的实现 3 1 引言 在s w f m s 中,为了实现一个或多个群体协同工作,并且s w f m s 能正确运 行,同时效率也较高,所采用的关键技术主要包括如下两方面: 支持多群体的工作流模型。相比于传统的工作流模型,它主要有两处改 进,是根据群体协同工作的群组性和动态性特点,在工作流模型中引 入了两种类型的群体协同型活动节点和一种动态节点,用以描述群体协 同工作的活动;二是提出一种新型的企业组织子模型,该模型适用于定 义具有层次结构的组织,它可减少信息的冗余量,保证其一致性,通用 性也较好,而且能够为同步协同工作流的冲突检测提供良好的支持,从 口 而提高了多群体工作流的运行效率。 动态修改技术。动态是工作流管理系统的特征之一,包括人员的动态变 化、所需资源的动态变化和工作流程的动态变化,因此动态修改必不可 少。我们提出的一种基于组织模型的动态修改方法,和传统的工作方法 相比,这种动态修改方法是通过修改组织模型来修改群体协同工作节点 的成员,过程模板保持不变性,具有修改方便、能保证一致性、效率也 较高等优点。 本章主要讨论了这些关键的技术的实现方法。 3 2 多群体协同工作的工作流模型的实现方法 3 2 1 多群体协同工作的工作流模型的需求及简介 工作流模型是对业务流程的抽象,是整个工作流系统的核心之,也是实现 工作流应用的基础,它直接影响到工作流应用产品能否成功推广应用。当前的工 作流系统中的节点一般都是针对个体工作设立的,即使有群体协同工作,也仅考 虑单个群体协同工作。但是在s w f m s 中,因为软件开发本身固有的特点,必须 要引入多群体协同工作,这可以从以下两个方面来考虑: ( 1 ) 在软件公司中,在开发一个大型软件项目的时候,需要对这个项目进行 1 9 功能分解,分解出来的每一个功能模块交由一个人或一个项目开发小组来完成, 因此对于整个软件来说,是由一个或多个群体来共同完成的。 ( 2 1 虽然对一个软件项目来说,是需要一个群体或多个群体分工完成。但是 这一个群体的成员之间或多个群体之间并不是独立的工作,因为模块之间存在接 口问题,而每个接口必然要涉及到一群人,这又形成了一个新的群体。当修改接 口时,必须由新的群体协商,讨论解决。如果同时要修改多个接口,就需要多个 群体协商,并解决接口问题,因而需要考虑多群个体协同工作的问题。 为了实现s w f m s 中对于多群体协同工作的要求,在这里我们采用一个支持 多群体的工作流模型s d m 。”,我们在这里对s d m 做一个简要的介绍。 工作流模型s d m 由三部分组成,分别是过程子模型s d p m 、组织子模型s d o m 以及工作流相关信息。 过程予模型s d p m 定义工作流的过程逻辑,包括所有活动以及活动之间的依 赖关系。s d p m 包括工作流管理系统c i m f l o w “”的过程模型的所有组成元素, 在此基础上,为了支持群体协同工作,在s d p m 中引入了二种群体协同型活动节 点,分别是同步协同型活动、异步协同型活动,此外,还引入了一个动态节点, 从而能够更全面的描述群体活动。 维织子模型s d o m 是一种定义企业中人员的组织形式的模型。为了支持群体 协同工作,s d o m 由企业部门组织结构和企业业务组织结构两个部分组成,从而 具有较强的组织结构定义功能和良好的通用性,并且能够方便的支持人员的动 态修改和工作流中同步协同工作节点成员间的冲突检测,保证多群体工作流 运行效率。 工作流相关信息包括工作流相关数据和软件工具名称集合。工作流相关数据 是工作流管理系统在进行工作流实例的状态转换时所需要访问的数据,这些数据 可以被工作流机、工作流参与人员和应用程序访问,并能够被修改,它包括整个 过程或某个活动的各项属性、所需变量、常量等。软件工具名称集合指执行一项 活动所需要用到的软件开发工具以及文档编辑等工具,如编码时使用y i s u 8 l c + + ,编程文档使用m i c r o s o f tw o r d 编辑。 以上三个部分的关系如图3 - 1 所示。从图示中可以看出,组织子模型和相关 信息被过程子模型所引用,相关信息为组织子模型提供信息支持。 2 0 山东大学硕士学位论文 过程子模型( s d p m ) 3 2 2 工作流模型的描述方法及其存储方法 3 2 2 1 工作流模型的描述方法 由上面介绍的工作流模型,我们知道在s w f m s 中,我们需要定义两种模型 自自描述方法:过程子模型s d p m 和组织子模型s d o m 。下面我们分别介绍这两种模 型的描述方法。 ( 1 ) 组织模型的描述方法 按照s d o m 的定义,整个组织模型是分为两部分的:一是企业部门组织结 构,另一个是企业业务组织结构。其结构图如下: 围3 - 2 组织模型的组成结构 圈3 - 3 企业部门组织结构示意圈 2 1 山东大学硕士学位论文 圈3 - 4 企业业务组织结构示意圈 为了提高软件的重用率,从而提高开发的效率,我们采用面向对象的方法 来描述这个组织模型,其描述如下: c l a s s e m p l o y e e 戎员描述 i d 个人编号 r l a m e 姓名 r o l e 角色,指系统分析负,维护人员,工程师等等 w o r k _ a t ,这是个集合,集合中的每个元素是一个结构,由两部分 组成,一部分是部门,另一部分为在此部门的职务 a _ a c t i v i t y s 们 匕人参加的个体活动集合 g r o u p s此人参加的群体集合 c l a s sd e p a r t m e n t l i a r 描述 i d 部门编号 n a n l e 部门名称 u p _ d e p a t ,此部门的上级部门 d o w n _ d e p a ti l i t 部门的下级部门 e m p l o y e e s ,j 比部门的人员集合 ) c l a s s g r o u p 群体描述 i d l l 羊体编号 n a m ei l l ¥体名称 e m p l o y e e s 肌啦群体的组成人员 ga c t i v i t y s 此群体参加的群体活动集合 ) c l a s saa c t i v i t y ,个体活动描述 f i d 个体括动编号 n a m e i l + 体活动名称 m a n a g e r i 此活动的执行者 s t a r t t i m e此活动的开始时间 e n d t i m e 肌电活动的结束时阉 ) c l a s sga c t i v i t y 群体活动描述 i d ,群体活动编号 n a i v e 群体活动名称 c h a r a 群体活动性质,园步或者异步 g r o u p此活动的执行群体 s t a r t l i m e此活动的开始时问 e n d t i m e此活动的结束时阀 ) ( 2 ) 过程模型的描述方法 按照s d p m 的定义,整个过程模型由二部分组成:节点和连接弧。其中节点 包括活动节点、逻辑节点和标志节点。连接弧分为无条件和有条件连接弧。活动 节点包括个体活动节点、群体协同活动节点稃动态节点;逻辑节点是指与节点、 空节点等,它不代表真正需要执行的活动,只是为了表示括动节点之阀的逻辑关 系而设立的;标志节点是指个过程的开始节点和活动节点。连接弧是位于节点 之间的有向线段,有条件连接弧是指必须满足定义的条件,这个连接弧才能超作 用。 由s d p b l 的定义可以看出,s d p m 是一种基于条件有向图的参数化工作流模型, 所以我们可以采用矩阵这静数据结构,其中矩阵的行号帮列号表示节点,衙矩阵 中的节点则代表了它们之间的关系。例如如图3 - 5 所示的一个过程实例,其相应 的数据结构图如3 - 5 所示,其中n 表示无条件连接弧,y 表示有条件连接弧。这 里假设l 为修改活动,2 为动态节点,3 为结束节点,4 为讨论接口l ,5 为讨论 i 有接口问题厂:二l 黯圈也叫 “ :兰垒望些耋鳖垒= = = = = = ! 一 n 锄e节点名称 n o d c t y p e ,节点类型 n o d e a c t i v i t y ,此节点所对应的活动 s t a r t t i m e 饥比节点的开始时间 e n d t i m e此节点的结束时间 f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年虚拟现实技术在职业教育课程中的教学设计研究报告001
- 2025年医院电子病历系统在医疗大数据中的应用与优化报告
- 2025年医院电子病历系统优化构建医疗大数据分析平台报告
- 终身学习视角下2025年成人教育体系构建与平台运营的师资培训策略报告
- 2025年医药流通行业供应链优化与成本控制政策研究实践报告
- 2025年医药流通行业供应链优化与成本控制案例分析报告
- 保安证考试题及答案
- 安全员c证试题及答案
- 安全试题及答案和解析
- 零售私域流量运营的线上线下促销活动策划报告
- 中年危机人生规划
- 《风电功率预测功能规范》
- 关于读后续写的可行操作课件-高三英语一轮复习
- 港口企业财务风险分析报告
- 2023年贵州黔西南州专项招聘国企业工作人员21人考前自测高频难、易考点模拟试题(共500题)含答案详解
- 中医护理实训报告总结
- 动画制作与电影特效课件
- 监理抽检表 - 08桥梁工程
- 鼻息肉护理教学查房
- 小区交通安全应急预案
- 2023年第四届全国邮政行业职业技能竞赛-全国总决赛理论知识试题及答案
评论
0/150
提交评论