已阅读5页,还剩68页未读, 继续免费阅读
(基础数学专业论文)laflow工作流引擎的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 多5 0 , t 5 d 5 捅要 f 随着计算机在日常工作中的广泛应用,人们越来越多的工作需要依靠计算机 完成:与此同时,各种类型的信息系统也被广泛地使用。但这些系统基本上是独 立运行的,相互之间缺乏必要的交互、协作与感知,从而使得它们在协调多个人 的活动、以协同完成某个共同的任务方面有着比较严重的不足。因此,自上世纪 9 0 年代以来,工作流管理系统( w 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 ) 吸引了来自 研究机构与产业界广泛关注。 作为计算机支持的协同工作( c s c w ) 研究的一个重要方向,工作流管理系统的 主要目标是通过调用有关的信息资源与人力资源来协调业务过程中的各个环节, 使之按照定的顺序依次进行,从而实现业务过程的自动化。有关工作流管理的 一些基本思想源自于早期的“办公自动化”、“文档管理”、“表单处理”等领域。 从c s c w 研究的角度来说,w t m s 是一种支持人们之间异地、异步协作的一种群 件系统,它是群件系统从支持同步的、非结构化协作( 如各种桌面会议系统、协同 设计支持系统、协同编辑系统等) 向着支持形式化、结构化协作的进一步发展。y 本文针对目前正在兴起的电子政务办公平台,根据我国工作流技术的研究发 展现状,在研究国外的主流工作流产品的前提下,结合目前流行的j 2 e e 体系结 构和x m l 技术,提出了种灵活的工作流引擎模型( l a f i o w ) ,该模型采用分层 设计方法,从轻量级和灵活性方面对引擎的结构做了研究,简化了w f m c 提出的 x p d l 。l a f l o w 能够处理常用的工作流模式,并且实现了图形化的流程定义工具 和客户端管理工具,提高二次开发的效率,减少办公自动化系统的开发时间,降 低开发成本。在实现时,把每个核心模块以组件的形式进行封装,使得该原型系 统具有较好的重用性。最后我们参照该模型实现了一个工作流的原型系统,并与 现有较流行的工作流引系统了比较,指出了该模型的优势以及不足,在此系统的 基础上可以开发工作流信息系统。 关键字:工作流管理系统,引擎,瓷程,x m l , x m l j 2 e e:陟易邑象。易 关键字:工作流管理系统,引擎,流程,陟多巴,夏汤 黔扔游 a b s 仃a c t r e s e a r c ho n d e s i g na n di m p l e m e n t a t i o no f l a f i o ww o r k f l o w e n g i n e z h e n g z h a n g ( c o m p u t e r s o f t w a r ea n dt h e o r y ) d i r e c t e db yp r o c e s s o rz h i g u oc h e n d o c t o rh o n g x i n gt a n w i t ht h ec o m p u t e r sw i d e l ya p p l i a n c ei nt h ed a i l y , m o r ea n dm o r ew o r kn e e dt o c o m p u t e r t oc o m p l e t e a tt h es a m et i m e a l lk i n d so fi n f o r m a t i o ns y s t e m sw e r eb r o a d l v u s e d b u ta l w a y st h e s es y s t e m sr u n si n d e p e n d e n t l y , a m o n gt h e ml a c k so fn e c e s s a r y c o m m u n i c a t i o n ,c o l l a b o r a t i o na n ds e n s u o u s n e s s ,s ot h e yh a v em a n ys e r i o u ss h o r t i n gi n c o l l a b o r a t i n gw i t hm a n y a c t i v i t i e sa n df i n i s h i n gt h es a m et a s k t h e r e f o r es i n c e1 9 9 0 s w o r k f l o wm a n a g e m e n ts y s t e m s ( w f m s s ) w e r ed r a w no ne x t e n s i v ea t t e n t i o nb y r e s e a r c hi n s t i t u t i o n sa n di n d u s t r yf i e l d s a sa n i m p o r t a n t d i r e c t i o na b o u t c o m p u t e rs u p p o s e d c o l l a b o r a t i o nw o r k ( c s c w ) sr e s e a r c h t h em a i ng o a lo fw b r l ( f l o wm a n a g e m e n ts y s t e m si sm a k i n g b u s i n e s s p r o c e s s e x e c u t e b y c e r t a i n s e q u e n c e a n d r e a l i z i n g b u s i n e s s p r o c e s s s a u t o m a t i z a t i o n w h i c hc o l l a b o r a t ea l i a s p e c t si nt h e b u s i n e s sp r o c e s sa c c o r d i n gt o u t i l i z er e l a t i v ei n f o r m a t i o nr e s o u r c ea n dh u m a nr e s o u r c e s o m eb a s i ct h o u g h ta b o u t w o r k f l o w m a n a g e m e n to r i g i n s t h e s ef i e l d si n e a r l yp e r i o d w h i c h i s “o 衔c e a u t o m a t i o n ( o a ) ”,“d o c u m e n tm a n a g e m e n t ”,“s h e e tm a n a g e m e n t ”e t c i nt h ev i e w o fr e s e a r c ho fc s c w :w f m si sa g r o u p w a r es y s t e m ,w h i c hs u p p o r t sp e o p l e c o m p l e t i n gt h ew o r ka s y n c h r o n o u s l y , a n di t i st h a tg r o u p w a r es y s t e md e v e l o p sf r o m s u p p o r t i n gs y n c h r o n o u s a n dn o n s t m c t u r a l c o o p e r a t i o n ( s u c h a s d e s k t o pm e e t i n g s y s t e m ,c o o p e r a t ed e s i g ns u p p o r t i n gs y s t e m ,c o o p e r a t e e d i t o rs y s t e me t c ) t os u p p o r t i n g f o r m a l i z e da n ds t m c t u r a lc o o p e r a t i o n t h i sa r t i c l es u p p o s e daf l e x i b l ew o r k f l o we n g i n em o d e i ( l a f i o w ) a i m e dt ot h e r i s eo fe l e c t r i c a lp l a t f o r l na tp r e s e n t w h i c hi sb a s e do nt h ea c t u a l i t yo fr e s e a r c ha n d d e v e l o pi no u rc o u n t r y , a n d t h e nc o m p a r e sw i t h p o p u l a r w o r k f l o we n g i n ee x i s t i n ga n d p o i n t st h em o d e l sm e r i ta n ds h o r t a tt h ee n do f t h i sa r t i c l ew er e a l i z eaw o r k f l o w s y s t e mr e f e r r i n g t ot h el a f i o wm o d e l ,w h i c hc a nb eu s e dt od e v e l o pw o r k f l o w m a n a g e m e n t i n f o r m a t i o ns y s t e m s k e y w o r d s :w o r k f l o w , w f m s ,e n g i n e ,x m l ,j 2 e e i l 第一章绪论 第一章绪论 1 1 课题的背景及意义 政府的信息化建设是国民经济信息化建设的重要组成部分。以电子政务为核 心的政府信息化成为推动我国国民经济信息化的关键。电子政务是各有关部门和 地方各级政府利用信息和网络通信技术,加强政府的管理,实现政务公开、提高 效率、科学决策、改进和完善服务职能的重要手段,是一项系统工程。政府行政 管理信息网络化是一场深刻革命。政府信息化建设要与政府职能转变相结合,提 高办事效率和管理水平,促进政务公开和廉政建设,特别要针对群众最关心的问 题应用信息技术,增强为民办事的透明度和公正性。在整个电子政务系统中,办 公平台是其最基本的部分,是现阶段电子政务系统的重点。研究和开发拥有自主 产权的办公平台将对政府信息化起着重要的推动作用。 目前我国电子政务中办公平台采用的支撑平台不统一,单位与单位之间的互 操作性不强,不能进行有效的沟通。现有的办公系统大部分都是建立在l o t u s d o m i n o 平台之上,核心系统没有我国自主的知识产权,使得系统的安全性和稳 定性不能得到保证。遵照中国政府信息系统建设的相关规定,采用先进的网络及 软件技术,研究和开发基于l i n u x 的、具有自主知识产权的、符合各种业界已有 的标准和规范、面向政务应用的办公平台是当务之急。办公平台的研究和开发可 以为我国电子政务系统的开发和推广奠定基础。 1 2 研究内容 在由北京市科委、共创软件联盟、北京市软件产业促进中心提出的基于l i n u x 的办公平台的研究和开发计划中,本人参与了“启航工程”办公平台这一子 课题的相关研究工作。“启航工程”办公平台是一个层次清晰的扩展性强的办公平 台,它以工作流管理系统为基础,提供流程定义及管理、业务定义及管理、用户 权限管理、数据管理、消息通信等多种服务,用户在此基础上可以方便的搭建和 定制各种办公自动化应用。 办公平台通常由工作流管理系统( w f m s ,w o r k f l o wm a n a g e m e n ts y s t e m ) l a f l o w 工作流引擎的设计与实现 作为依托,因此对w f m s 的研究是办公平台研究和开发的重要组成部分。近年来, 人们在研究工作流管理系统的过程中,对其批评最多的莫过于其“僵硬”的过程 模型,这使得用户在某些情况下不得不越过w m s 而用其它方法( 如手工方式) 来 完成有关的工作【1 8 】。这一点主要是由于目前已有系统中建立时的过程定义与运 行时的过程执行脱节,致使预定义的过程模型不能很好地反应实际的业务流程。 由于对过程定义及过程实例动态修改将会带来一系列的困难,因此需要寻找更为 灵活的工作流过程形式化表示方法及过程的执行策略。由于工作流引擎的优劣直 接影响到整个工作流管理系统的整体性能,本文综合国内外已有的工作流引擎的 研究基础,提出了一种灵活的工作流引擎体系结构模型。本着灵活性和轻量级的 原则,在l i n u x 环境下实现了一个工作流管理系统。本文着重介绍该系统中工作 流引擎的体系结构以及实现,并与其他的引擎进行对比,指出它的优点及不足, 同时指出该系统需要完善的之处,作为我下一步工作的目标。 1 3 论文的组织 本文的第二章介绍工作流的相关的基本概念,第三章提出了l a f i o w ( l i g h t a g i l ef l o w ) 工作流引擎模型,对模型的组成,从逻辑上和物理上对模型进行分析, 接着在第四章对于实现该模型的关键技术进行介绍。最后在第五章对主要研究内 容及取得的成果进行概括的总结,对需要进一步研究的问题进行讨论。 第二章工作流系统概述 第二章工作流系统概述 工作流管理是一个被业界广泛应用并迅速发展的技术,它的主要特点是使处 理过程自动化,使人以及各种应用工具相互之间协调工作,以完成某项工作。工 作流管理可以在办公环境( 如保险、学校、银行、法律、行政管理等) 以及工业和 制造业等领域得到广泛应用。工作流管理的目的是为了让适当的人或软件在恰当 的时间执行正确的工作。 2 1 工作流的定义 工作流( w o r k f l o w ) 工作流管理联盟( w f m c ,w o r k f l o wm a n a g e m e n t c o a l i t i o n ) 给出的定义【1 】是:工作流是一类能够完全或者部分自动执行的业务过 程,它根据一系列过程规则,文档、信息或者任务能够在不同的执行者之间进行 传递与执行。 g e o r a k o p o u l o s 给出的工作流定义【4 】是:工作流是将一组任务( t a s k ) 组织 起来完成某个经营过程。在工作流中定义了任务的触发顺序和触发条件。每个任 务由一个或者多个软件系统完成,也可以有一个或者一组人完成,还可以是由一 个或者多个人与软件系统协作完成。任务的触发顺序和触发条件用来定义并实现 任务的触发、任务的同步和信息流( 数据流) 的传递。 工作流常与过程重组( b u s s i n e s sp r o c e s sr e e n g i n e e r i n g ) 联系在一起。b p r 是关于企业( 组织) 核心业务过程的分析、评估、模拟、定义以及操作实现。尽 管不是所有的b p r 都是采用工作流实现,但是工作流技术是最佳方法。这是因 为,工作流技术提供了业务过程逻辑和操作的分离,从而以后可以修改过程规则 来重新定义过程。相反,工作流并不一定只有在b p r 中使用,在现有的业务中 也可以使用工作流技术。 工作流通常由许多逻辑步骤组成,每一个逻辑步骤被称为活动( a c t i v i t y ) 。一 个活动中既可以有和人的交互,又可阻有和工作流的其他参与者的交互。参与工 作流执行的人称为工作流参与者;一个活动也能直接由机器执行,人们把事先定 义好的代码部署在计算机上,当满足一定条件时由计算机自动执行。早些时候的 流水线生产方式中,工作仅在一个工序结束后方可移交到下一个工序。同样在工 ! 竺! ! ! 三堡堕! ! 兰塑堡生兰壅翌 作流系统不允许传递未完成的活动,所以传递过程可以自动化的完成。将工作项 目转移给用户可以提高灵活性,自动处理具体的工作项可以获得极高的效率。工 作流的主要作用: a 提高效率通过多数业务流程的自动化处理,提高工作效率。 b 更好的过程控制通过标准化的工作方式和审核,改进业务流程管理。 c 增强客户服务处理过程的连贯性提高对客户响应的可预见性。 d 适应性基于过程的控制使得通过再设计就可以满足业务需求。 e 有效的业务流程管理简化和线性化业务流程。 工作流管理系统( w o r i ( f i o wm a n a g e m e n ts y s t e m ,w f m s ) 是:一个软件系 统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推 进工作流实例的执行。简单的说它就是定义、创建、执行工作流的系统。 4 第= 章工作流系统概述 _ 软件构件 i - - i 系统控制数据 口外部产赫矧 图表2 - 1 工作流管理系统示意图 工作流管理系统中主要部件和数据的作用如下: 1 过程建模( 定义) 工具 过程建模工具( p r o c e s sd e f i n i t i o nt 0 0 1 ) 被用来创建计算机可处理的业务过 程描述。它可以是形式化的过程定义语言或对象关系模型,也可以是简单地规定 用户间信息传输的一组路由命令。 2 组织,角色模型( o r g a n i z a t i o n r o l e ) 该模型包含了组织结构和组织中角色的信息。这些信息往往与流程定义信息 s l a f i o w 工作流引擎的设计与实现 紧密相关。 3 工作流执行系统和工作流引擎 工作流执行系统( w o r k f l o we x e c u t es y s t e m ) 也称为( 业务) 过程执行环境, 包括一个或多个工作流引擎。工作流引擎( w o r k f l o we n g i n e ) 是w f m s 的核心 软件。它的功能包括:解释过程定义;创建过程实例并控制其执行;调度各项活 动;为用户工作表添加工作项;通过应用程序接口( a p i ) 调用应用程序;提供 监督和管理功能等。工作流执行子系统可以包括多个工作流引擎,不同工作流引 擎通过协作共同执行工作流。 4 工作流控制数据 指被工作流执行系统和工作流引擎管理的系统数据,例如工作流实例的状态 信息、每一活动的状态信息等。 5 工作流相关数据 指与业务过程流相关的数据。w f m s 使用这些数据确定工作流实例的状态转 移,例如过程调度决策数据、活动间的传输数据等。工作流相关数据既可以被工 作流引擎使用,也可以被应用程序调用。 6 工作列表0 n o r k l i s t s ) 工作项( w o r ki t e m s ) 习j 表。流程执行中,当需要用户的交互时,工作流引擎便 将工作项放置到由w o r k l i s th a n d i e r 管理的工作列表中,通过w o r k l i s th a n d i e r 实 现与用户的交互。 7 应用程序和应用数据 应用程序可以直接被w f m s 调用或通过应用程序代理被间接调用。通过应用 程序调用,w f m s 部分或完全自动地完成一个活动,或者对业务参与者的工作提 供支持。与工作流控制数据和相关数据不同,应用数据对应用程序来讲是局部数 据,对w f m s 的其他部件来说是不可见的。 工作流管理系统提供了三个方面的支持: ( 1 ) 构造功能。定义、建模工作流和组成活动 6 第= 章工作流系统概述 ( 2 ) 运行控制功能。运作环境中管理工作流程,顺序处理流程的活动; ( 3 ) 运行时与用户、其他应用的交互,处理各种实际的活动步骤。 一个工作流管理系统是过程逻辑,而人和应用软件执行的是工作流任务,实 现的是任务逻辑。这种过程逻辑和任务逻辑的分离使得用户修改其中一个而不会 影响到另一个。同时它也提出了软件重用和软件的层次结构。 工作流模型( v v o r k f l o wm o d e l ) 就是业务过程所包含的任务体及其执行规则有 序集的形式化。常见工作流模型的表示描述方法有p e t r in e t ( p e t r i 网,或有色p e t d 网) ,以及图( 有向图) 等。 让我们看一个具体的例子说明工作流描述的发文流程。发文流程由秘书起草 文件开始。办公室文秘起草完文件后交给办公室主任或者处室进行审核,在办公 室主任或者处室填写完成以后交给领导进行签发,如果领导同意签发,那么这个 文件送给相应的分发人员进行分发:否则返回给前面的环节,最后由分发人员分 发完成后完成相应的流程。 一 开始。 2 2 工作流的发展 图表2 - 2 发文流程 工作流的出现已有近3 0 年的历史。在1 9 7 0 年,h a m m e r 和他的同事z i s m a n 就开始关注办公信息系统4 1 。与此同时,e l l i s 和n u t t 也认识到了开发办公信息模 型的重要性,他们在x e r o xp a r c ( 帕洛阿尔托研究中心) 开始了一个具有实验 性质的办公信息系统o f f i c e t a i k 的研究【4 】。 2 0 世纪8 0 年代的研究重点是过程模型。w i n o g a r d 和f l o r e s 提出了s p e e c h 7 l a f i o w 工作流引擎的设计与实现 a c tm o d e l m ,e l l i s 和n u t t s 则致力于p e t r i 网模型的研究( p e t r in e tm o d e l s ) 。 工作流很快扩展到了办公自动化和电子文档影像( d o c u m e n ti m a g i n g ) 等领域。但 是工作流技术的发展的单一性并不满足商业发展的需要。研究界也逐渐认识到他 们狭隘的观点阻碍了工作流技术的成功。因此,他们重新审视工作流技术,把它 作为一种涉及多学科的科学,把它定位在计算机、管理学和社会学的交叉点上【1 5 】。 正是由于人们对工作流看法的改变,到了2 0 世纪9 0 年代,工作流技术得到了重 大的发展。特别是在i n t e r n e t 日益普及的情况下,现代企业系统的分布性、异构 性和自治性的特征越来越显著,相应的企业资源也分布在异构的计算机环境中, 信息源之间的连接表现为松散耦合的特点,这样的信息系统简称为h a d 环境 ( h e t e r o g e n e o u s a u t o n o m i cd i s t r i b u t e 异构、自治、分布) 。企业物理位置的分 散性和决策制定过程的分散性特征日益明显、对日常业务活动详细信息的需求逐 渐提高、c l i e n u s e r v e r 体系结构和分布式处理技术( c o r b a ,j a v a ,o l e ,w w w ) 的广泛应用,以上的情况都说明这样一个事实:集中式信息处理的时代即将过去, 取而代之的将是大规模的异构分布式信息处理和应用执行环境。在这种大规模分 布式环境下高效的运转相互关联的任务,并且对执行的任务密切监控己成为一种 发展趋势。在这种技术背景下,工作流管理系统也由最初的创建无纸办公环境, 转而成为同化企业复杂信息环境、实现业务流程自动执行的必要工具。这样的一 个转变把工作流技术带入了一个崭新的发展阶段,使得人们从更深的层次、更广 泛的领域对工作流展开研究。在近1 0 年当中,众多的工作流产品、一系列的工 作流标准和研究工作应运而生。工作流作为一种技术的演变,现今涵盖了多个不 同的产品领域。 图像处理 文档管理 电子邮件和目录 群件应用 基于事务的应用 项目支持软件 业务流程重组和结构化系统设计工具 r 一一 苎三兰三堡堕墨竺塑堕 目前,在全球范围内,对工作流技术的研究以及相关产品的开发进入了更为 繁荣的阶段,更多更新的技术被集成进来,文件管理系统、数据库、电子邮件、 移动式计算、i n t e r n e t 服务等都已被容纳到工作流系统之中。 工作流技术逐渐走向成熟,主要体现在两个方面: a ) 处理本身的自动化:为了满足业务目的,工作项或者数据集可以依据一 系列的处理点( p r o c e s s i n gp o i n t ) 来创建、处理和变更。 b ) 处理能力的提高:大部分工作流引擎( w o r k f l o we n g i n e s ) 司- 以处理非常复 杂的处理序列,任何可以算术描述的条件都可以由工作流系统管理。 2 3 工作流的类型 从技术角度来说,工作流管理系统综合了计算机科学和管理科学多个领域的 原理、方法和技术,集成这些领域不同的概念带来许多挑战。像扩展性、可用性、 可管理性、灵活行和安全性,同样提出了各种w f m s 的设计要求。根据不同的应 用场合,可以分为以下几种类型【6 】: a ) 生产式工作流( p r o d u c t i o nw o r k f l o w ) 。工作流产品的主要目的就是管理 大量相似的任务,优化生产效率。在生产式工作流中采用尽可能多的自动化和线 性化处理任务,对于异常的处理由人工干预完成。因为异常处理是预定义的处理 过程所不能容忍的,正如持续性和复杂性一样,异常处理尽量将人的影响最小化。 b ) 管理式工作流( a d m i n i s t r a t i v ew o r k f l o w ) 。管理式工作流系统的最重要的 特征就是很容易定义流程。流程定义通常是用表单形式创建的。在这种系统中, 灵活性比高产出要更重要,而且这种系统与生产式系统相比,每小时处理的任务 数目要低一两个数量级。 c ) 协同式工作流( c o l l a b o r a t i v ew o r k f l o w ) 。协同工作流主要面向具有共同 目标的团队工作,团队可以是从面向项目的小团队到广为分散的具有共同兴趣的 人们。有效的使用协同工作流支持团队工作被认为是各种企业成功的关键。吞吐 率( t h r o u g h p u t ) :不是重要因素,流程定义不是固定不变的,能随时修改。有时协 同工作流被称为群件( g r o u p w a r e ) 。但有些群件,如公告板系统和视频会议系统 不是工作流系统。 d ) 专门式工作流( a d h o cw o r k f l o w ) 。a d h o c 工作流系统中,用户能够快 9 l a f i o w 工作流引擎的设计与实现 速容易地创建和修改流程定义,以适应应用环境;也许这样每一种流程定义只有 一个实例。在对吞吐率和安全要求不高的领域中,a d h o c 工作流系统提供了最 大的灵活性。因此可以说,在一般的工作流产品,单位、组织拥有自己的流程定 义,雨在a d h o c 工作流中用户拥有自己的流程定义。 2 4 工作流标准 尽管人们已经使用工作流技术有2 0 多年,但是一直没有制定出相应的标准。 随着工作流由图像处理到文档路由到商业过程计算到主流中间件的发展,工作流 的协调工作能力变得越发重要。工作流管理委员会( w f m c ) 由工作流产品供 应商、研究机构和工作流产品的使用者组成,成立于1 9 9 3 年,成立的目的就是 为了制定工作流参考模型( w o r kr e f e r e n c em o d e l ) 。到了1 9 9 4 年,工作流管理 委员会开始制定第一个工作流标准。为了描述工作流管理系统,工作流管理委员 会提出了一个标准的框架。如图所示:工作流引擎处于系统的核心位置,它包含: 图表2 3 工作流引擎在工作流系统中的位置 1 0 苎三皇三堡堕墨堑堕堕 a 在一定出发条件下激活一个新的商业流程实例; b 执行路由逻辑; c 定义执行每一个过程活动的参与者和软件代理程序: d 生成并维护一个任务序列( w o r k l i s t ,任务序列记录着参与流程的每一环 节的参与者、执行状态等信息) ; e 维护系统的安全性; f 日志管理。 工作流管理系统的引擎提供了五个标准应用程序接口( w a p i ) 。 接口1 :流程定义工具( p r o c e s sd e f i n i t i o nt o o l s ) 在模型定义工具和运行时期的工作流管理软件间的接口,叫做流程定义的导 入导出接口。这个接口的功能是格式转换和a p i 的调用,从而支持过程定义信息 间的相互转换。这个接口也支持完全的流程定义转换或者部分流程定义转换。例 如:流程定义的某一活动中属性的改变。 该接口的意义体现在下述两个方面: 首先,把构造阶段和运行阶段进行了分离,可以使用一个建模工具产生过程 定义,而这个过程定义可以作为其他多个工作流产品的输入。从而用户可以选择 建模工具和工作流运行时期的产品。 其次,它可以为几个工作流系统输出过程定义,使得这几个工作流系统可以协 作完成分布式的运行服务。 w f m c 在此方面作了两方面的工作【l j : ( 1 ) 提出了一个元模型,可以表示过程定义中的对象、对象间 的关系和属性。这个元模型为不同产品的过程定义相互转换奠定了 基础,并形成了一套转换格式。 ( 2 ) 工作流系统间或工作流与过程定义产品间的a p i 调用,提 供了公共的方法来访问工作流过程定义。访问可能是读,写,读, 写操作,并且操作标准的对象集合( 在原模型中定义的对象集合) , 或者产品自己的对象集合。 接口2 :工作流客户端应用程序 在实际的应用中,工作流与普通的办公系统进行集成,例如e m a i l ,来为终端 l a f l o w 工作沉引军的设计与实现 用户提供一个任务管理系统。这就要求在工作流运行服务器和工作流客户端应用 之间有一个灵活的通信机制,构建各种可能遇到的运行系统。 在工作流模型中,通过客户端应用程序与工作流引擎间定义良好的接口进行 交互。在这个接口中包含任务表( w o r k l i s t ) 由工作流引擎分配给用户的任务 序列。最简单的情况是工作流引擎访问任务表,来把任务分配给用户:任务表处 理器访问任务表,向任务表中添加任务项( w o r k i t e m ) 。任务表中任务项的激活( 例 如流程的启动,流程的流转) 是由客户端应用程序( 终端用户) 控制的。在工作 流客户端应用程序与工作流运行服务器定义了一系列的方法,用来向任务表中添 加任务项、从任务表中删除完成的活动、激活临时挂起的活动等。使用一套标准 的a p i ,可以为从工作流应用程序到工作流引擎和任务列表的访问提供一致的形 式,而不管产品的实现特性。下面就是w a p i ( w o r k f l o w a p i ) 的一个说明: a 建立会话 _ 连接,断开参与系统间的对话 b 工作流定义操作 _ 获取、查询流程定义的名称及属性 c 过程控制功能 一创建、启动、中止过程实例 _ 挂起、恢复过程实例 一强制一个过程状态的转换 设置、查询过程实例的属性( 例女1 1 p r i o r i t y ) d 过程状态功能 打开,关闭过程或者过程实例的查询,设置过滤标准 获取过程实例的详细信息 e 任务表任务项处理功能 _ 打开,关闭任务表的查询,设置过滤标准 _ 获取任务表中的项e l 一通知选择,重分配,结束一个任务项 查询任务项属性 f 过程管理功能 1 2 苎三里堡堕至竺塑堕 一改变过程定义或者他的实例的运行状态 _ 改变某种类型的所有过程或者活动实例的状态 _ 为某种类型的所有过程或者活动属性的实例赋值 一终止所有过程实例 g 数据处理功能 一恢复返回工作流相关或应用程序数据 接口3 :应用程序调用接口 在简单的情况下,工作流引擎在本地处理应用程序调用,使用过程定义中的 信息来确定活动的性质、调用的应用程序的类型和所需的数据。被调用的应用程 序可能存储在工作流引擎中,或者与工作流引擎一起存储在相同的平台下,或者 存放在一个独立的网络平台中。过程定义中有足够的应用程序类型和寻址信息来 实现应用程序的调用,在这种情况下应用程序命名与寻址协定是处于工作流引擎 和过程定义之间的。 任何一个工作流管理系统实现方案,都不可能完全理解如何调用所有可能的 应用,因为这些应用可能存在于异构的产品平台之上。这就要求有一种方法,可 以将异构平台和网络环境的应用和工作流相关数据以一种通用的格式或者编码描 述。工作流使能应用工具( w o r k f l o we n a b l e da p p l i c a f i o nt o o l s ) ,就是用标准的 w a p i s 和工作流实施服务进行通讯,接受应用数据和信号并响应活动的事件等等。 而应用程序代理( a p p l i c a t i o na g e n t s ) 包含了各种各样的方法调用,它提供一个 标准的接口与工作流实施服务交互。 接口4 :工作流引擎交互接口 工作流执行服务之间需要提供w a p i 来实现互操作,无论是在两个工作流执 行服务之间的直接调用还是通过网关函数。工作流引擎接口通常具有如下功能: 连接的建立 对工作流模型和其中对象的操作 过程实例的控制 活动管理功能 数据管理功能 接口5 :管理和监控接口 l3 l a f i o w 工作流引擎的设计与实现 w f l v l o 提出的接口是要让用户能够得到工作流运行状态的完整视图:同时提 供一套全面的功能集,进行系统管理,包括安全性、控制和权限。 该接口至少要包含一下类型的操作: a 用户管理 增加删除,修改用户( 组) b 角色管理 _ 增加,删除修改角色 一设置或者取消角色 c 审查管理 _ 查询,打印,新建,删除事务日志 d 资源控制管理 设置,取消,修改过程或者活动的并发级别 _ 访问资源控制数据 e 过程管理 改变工作过程定义或者扩展过程实例运行状态 使用,不使用某个版本的流程定义 - 改变某一类型的所有过程,活动实例的状态 _ 为某一类型所有的过程,活动实例属性赋值 _ 终止所有的过程实例 f 过程状态管理 _ 打开,关闭过程活动实例查询,设置过滤标准 - 取得过程,活动实例的详细信息 - 取得特殊过程或活动实例的详细信息 2 5 工作流最新研究主题 以下是来自s a p 2 0 0 3 创新大会关于工作流的最新研究主题。 4 第二章工作流系统概述 2 5 1 1 灵活性与适应性的工作流系统 传统的工作流管理系统对于商业过程的处理通常采取预定义方法,对于提供 动态管理实例行为的需求却束手无策。而开发出自动化的商业过程以满足动态的 需求是很困难的。对于这个主题的研究应把重点放在方法革新上: 1 管理随机变化的流程 2 分析和管理由于修改过程模型对正在运行的流程实例造成的影响 3 动态修改运行中的过程实例而不影响流程定义模型和其他运行的过程实例 4 限制激活的流程示例的变化 5 为最终用户动态修改流程定义提供有效的工具和方法 2 5 1 2 协作型的工作流系统 协作型的工作流是用来完成多个组织间的不同的工作流系统的协调工作。这 些工作流系统可能是彼此独立定义的,或者是异构的。因此对于协作型的工作流 系统,一个好的系统结构是十分必要的。这个主题的研究应该关注于: 1 研究一种机制保护私有工作流系统的独立性 2 对于封闭的工作流系统加强商业合作 3 支持运行期间的协作与交互 2 5 1 3 工作流建模语言 过程建模语言迫使流程设计者在流程建模中过多的关注具体的应用,这就限 制了工作流技术在一些领域的应用,应该避免开发面向过程的应用程序。这个方 面应在流程建模语言和广泛的流程需求上找到一个平衡点。 2 5 1 4 工作流系统的合法性( 正确性) 、有效性检查和优化 流程的合法性检查可以帮助过程设计者在流程定义过程中找出语法错误和结 构错误( 例如:不完全的过程定义,死锁,缺少同步和不正确的循环等) ,流程的 ! 竺! ! 兰三堡鎏! ! 兰塑堡生兰壅墨 有效性检查帮助分析一个流程定义是否实现了业务需求,是否满足活动间的依赖 关系( 例如活动的顺序,一个活动是否可达) 。流程优化可以使流程最优化以改善 业务需求的性能。这方面的研究应注重流程的合法性,有效性和优化。 2 5 1 5 对移动用户的支持 商业社会的激烈竞争要求企业具有良好的反应能力。移动办公正是为满足此 种要求而出现的一种新的工作方式。它使得员工能够随时随地处理他们的业务。 移动计算设备( 如笔记本及手持设备) 的普及为这种办公方式的实现提供了良好的 硬件条件,而w 彻s 则为之提供了一种理想的软件环境。但早期的w 洲s 系统一 般都是基于l a n 环境而构造起来的,它一般要求用户一直保持同w f m s 的连接。 移动计算环境下的网络连接将是随环境变化较大的慢速不可靠连接。而且由于一 直保持此种连接将是极不经济的,移动计算环境下的用户的工作方式将主要是先 连接到服务器,将待处理的数据下载到本地,并断开同服务器的连接。经过一段 时间( 可能几个小时或几天) 对数据的处理之后重新建立连接并将处理结果保存到 服务器上。为了支持此种功能,需要在w f m s 客户程序与工作流引擎之间定义相 应的协议。对该协议的基本要求是在尽可能增强移动用户自主性( 能够在断开同系 统连接的情况下继续对其工作项进行处理) 的同时保证不会有多个用户同时对同 一个工作项进行处理。 2 5 1 6 事务型w f m s 这方面的研究主要是试图将一些高级事务模型等应用到工作流系统的过程实 例的执行中,以提高w f m s 的可靠性,如保证过程实例中各活动执行的完整性。 但到目前为止,事务处理中的许多概念,如事务的a c i d 属性、失败语义等在 w f m s 中的定义仍然是不明确的。已有的研究表明,工作流模型比高级事务模型具 有更为丰富的语义。w f m s 为高级事务模型的实现提供了一个理想的环境。i b m 的 研究人员已经用其w f m s 产品f l o w m a r k 实现了s a g a 和f l e x i b l e t r a n s a c t i o n 。 事务型工作流研究的一个重要方面是过程补偿,也即当活动执行失败时如何将其 影响撤消掉,这将涉及到对某些活动的撤消及另外些活动的重新执行。由于活 动的补偿和重新执行都具有较高的开销,因此在过程补偿时应尽量减少这两种活 动的数目。 6 第三章l a f i o w 体系结构 3 1 基本概念 第三章l a f l o w 体系结构 在l a f i o w 模型中,一个完整的流程由一个有向图构成。有向图中节点元素 包括可执行的任务( a c t i v i t y ) 。节点间的连接弧表示节点问的数据流和控制流。 组成模型的基本元素包括流程( p r o c e s s ) 、活动( a c t i v i t y ) 、流转( t r a n s i t i o n ) 组成。 3 1 。1 流程 流程是为完成某一预定的目标而定义的。它由一系列具体的步骤组成,每一 个步骤叫做一个活动。在l a f i o w 中工作流程用有向图表示,一个流程有等待激 活、运行、挂起和完成4 个状态。其状态转换图如下所示: 开始( i n i t i a t e d ) 等待激活状态。这时流程实例已经被创建,但是还没 有被激活。 运行( r u n n i n g ) 流程正在处理状态。 挂起( s u s p e n d e d ) 发生异常,中止处理状态。 完成( c o m p l e t e ) 执行完成状态。 ,一、 初始 、一7 + 挂起 异常 、7 1 7 恢复 ,7 、 完成) ? j 这 行运 声 l a f i o w 工作流引擎的设计与实现 3 1 2 活动 图表3 - 1 流程状态图 流程中的每一个步骤叫做个活动,在图中,它由一个节点表示。一个活动 可以是人工执行,也可以是自动执行。自动执行是指为活动绑定一段程序代码, 当活动被激活时,相应的程序代码就开始执行;人工活动则是指由人来参与的活 动。下图包括了一个活动的主要要素:开始和结束条件,状态,绑定的程序以及 参数的设置。 图表3 2 活动的组成要素 每个业务过程由若干业务活动组成,不同的业务活动通过各不相同的活动i d 来唯一标识。同一个业务活动在工作流运行时可能具有多个实例( i n s t a n c e ) 。我 们将活动的实例称为任务,将属于同一业务过程的任务称为属于同一批次的任务。 有的业务活动可能针对具体的业务环节,即在前台( 后台) 对应实际的应用逻辑; 有的业务活动则不针对具体的业务环节。活动的类型可以有如下几种: i n i t i a l ,起始活动,业务过程的第一个活动,不针对具体业务环节。 n o r m a l ,针对具体业务,由计算机或者人参与的活动 c o m p l e t i o n ,终结活动,表明相应业务过程的终结,不针对具体业务 环节。 在n o r m a l 类型的活动中,又分为人工活动和自动活动。 i n t e r a c t i o n ,交互式活动,也叫人工活动。顾名思义,完成此活动需 要实际人员的参与。 a u t o m a t i o n ,自动活动,预先开发的程序自动执行的活动,它可以是 一一 苎三兰! 竺! ! 兰堡至堕塑 一个普通j a v a 应用,也可以是一个以e j b 开发的应用,由引擎自动调用完成。 每一个活动均有自己的触发条件,在我们的系统中,活动执行的模式有以下 几种: s e q u e n c e 顺序执行。活动以顺序的方式执行。 a n d ,与,是一种同步。只有所有的直接前驱活动均执行完成,才可执行 该活动。 o r ,或。只要其赢接前驱有一条满足指定条件的,就可执行该活动。 v o t e ,投票。一个活动的执行条件可以定义为投票方式:只有当其前驱 活动的完成个数达到事先定义好的个数,它才可以执行。即同一批次的前驱活动 只有达到事先指定的票数才可执行该活动。 在活动运行时期,与活动联系最紧密的一个属性是活动的状态,因为状态
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人经理述职报告范文(16篇)
- 校长第一学年述职报告(3篇)
- 临床执业医师资格考试冲刺试卷及答案
- 2026年主管护师(中级)题库附完整答案详解(各地真题)
- 2026年科普知识竞赛测试题附答案
- 防水材料供销合同(2026版)
- 矿热炉大塌料安全风险及预控措施培训
- 2026中国叶黄素酯行业经销商体系优化与管理提升
- 发动机滑动轴承的早期损坏及预防
- 2026能源化工企业环保合规体系建设与资源优化配置研究计划
- 2026年公共卫生与卫生政策法规知识测试
- 2026年澜沧现代农业发展集团有限责任公司社会招聘(5人)考试备考题库及答案详解
- DL-T 5220-2021《10kV及以下架空配电线路设计规范》
- 2026年重庆市“五方面人员”选拔乡镇领导班子考试历年参考题库(含完整答案)
- 2026年上海高考英语考试试题(含答案)
- 2026年高考四川卷化学高考真题试题(含答案)
- 安全生产事故案例警示课件
- QC/T 1258-2025汽车用蜗杆传动式软管夹箍弹簧内衬补偿型
- 瑜伽馆内部制度
- 行政事业单位差旅费培训
- 北京邮电大学《量子力学》2024 - 2025 学年第一学期期末试卷
评论
0/150
提交评论