(计算机应用技术专业论文)基于net的工作流引擎的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于net的工作流引擎的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于net的工作流引擎的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于net的工作流引擎的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于net的工作流引擎的设计与实现.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

华中科技大学硕士学位论文 摘要 针对当前大多数工作流管理系统在实际应用中可集成能力差这个缺点,决定利 用w e bs e r v i c e 技术来实现一个工作流管理系统。因为目前n e t 平台对w e bs e r v i c e 的支持相对比较完善,所以决定实现一个基于n e t 的工作流管理系统。这个工作流 管理系统具有松散耦合、低进入屏障、行业支持、高度可集成能力等优势。 工作流引擎是整个工作流管理系统的核心,其通信方式是提高工作流管理系统 可集成能力的关键。在本系统中,分布在i n t e r n e t 的各个节点上的工作流引擎处在对 等的地位,它们通过w e bs e r v i c e 调用相应的接口来实现它们之间的通信。正是这种 通信方式使本工作流管理系统的集成能力、互操作性有了显著的提高。 这个工作流管理系统的客户端是个w e b 应用程序,用户通过浏览器登录并调 用客户端,然后客户端程序通过调用工作流引擎所提供的相应接口实现与工作流引 擎的通信。以这种基于w e b 的方式实现本工作流管理系统可以增加系统的可扩展性。 从系统结构上讲,工作流引擎主要被分为了工作流逻辑、工作流支持系统和数 据管理等3 个主要部分。其中,工作流逻辑这个部分负责处理引擎的逻辑功能,工 作流支持系统和数据管理这两个部分则负责工作流实例对象的存储和读取等功能。 这样,这个工作引擎就实现了控制逻辑与数据读写的分离。 从功能上讲,工作流引擎主要被分为了工作流实例的触发、申请任务执行、用 户执行任务、任务提交处理、任务调度处理、任务就绪处理和工作流结束处理等七 个子模块。这七个模块相互调用,实现了对整个工作流管理系统的导航。 关键词:工作流管理系统,分布式平台,工作流引擎,工作流建模工具 i 华中科技大学硕士学位论文 a b s t r a c t n o w ,m a n y w o r k f l o wm a n a g e m e n ts y s t e mi sl a c ko f t h ea b i l i t yo f i n t e g r a t i o n ,s ow e d e t e r m i n e dt oi m p l e m e n taw o r k f l o wm a n a g e m e n ts y s t e mu s i n gt h et e c h n o l o g yo fw e b s e r v i c e b e c a u s eo nt h e n e tp l a t f o r m ,w ec a r li m p l e m e n tw e bs e r v i c ea p p l i c a t i o nm o r e e a s i l y , s ow ed e t e r m i n e dt oi m p l e m e n ta w o r k f l o wm a n a g e m e n ts y s t e mb a s e do n n e t t h i sw o r k f l o wm a n a g e m e n ts y s t e mi sa d v a n c e di nl o o s e c o u p l e ,l o wc o s t ,h i g h i n t e g r a t i o na b i l i t y ,e t c w o r k f l o we n g i n ei st h ec o r eo faw o r k f l o wm a n a g e m e n ts y s t e m i t sc o m m u n i c a t i o n m o d ei st h ek e yt oi m p r o v et h ei n t e g r a t i o na b i l i t yo fw o r k f l o wm a n a g e m e n ts y s t e m i n t h i s s y s t e m ,t h ew o r k f l o we n g i n e s a r ec o m m u n i c a t e dw i t he a c ho t h e rb yc a l l i n gt h e i n t e r f a c eo fo t h e rw o r k f l o we n g i n et h r o u g ht h ew e bs e r v i c e b yu s i n gt h i sc o m m u n i c a t i o n m o d e ,t h i sw o r k f l o wm a n a g e m e n ts y s t e m h a si m p r o v e di t si n t e g r a t i o na b i l i t yo b v i o u s l y t h ec l i e n to ft h i sw o r k f l o wm a n a g e m e n ts y s t e mi saw e ba p p l i c a t i o np r o g r a mi fa u s e rh a sv i s i t e dt h ec l i e n tw i t ht h ew e bb r o w s e r , t h ec l i e n tp r o g r a ms h o u l dc a l lt h e i n t e r f a c eo ft h ew o r k f l o we n g i n e s ot h i ss y s t e mi sb a s e do nw e ba n dt h i sc a ni m p r o v et h e e x p a n s i b i l i t y o f t h ew o r k f l o we n g i n e t h i sw o r k f l o we e i g i n ei sm a d eu po ft h r e ep r i m a r yi m p o r t a n tp a r t sn a m e d :w o r k f l o w l o g i cp a r t ,w o r k f l o ws u s t a i n i n gs y s t e mp a r ta n dd a t am a n a g e m e n tp a r t t h ew o r k f l o w l o g i cp a r ti su s e dt om a n a g et h el o g i co f t h ew o r k f l o we n g i n e t h ew o r k f l o ws u s t a i n i n g s y s t e mp a r ta n d t h ed a t am a n a g e m e n t p a r ti su s e d t or e a da n ds a v et h ew o r k f l o wi n s t a n c e 8 i n f o r m a t i o n s o ,t h i sw o r k f l o wm a n a g e m e n ts y s t e mh a sr e a l i z e dt h es e p a r a t i n g o ft h e a p p l i c a t i o nl o g i ca n d t h ec o n t r o l l i n go f t h ed a t a t h i sw o r k f l o we n g i n ec a nb es e p a r a t e dt o7m o d u l e sn a m e d :w o r k f l o wi n s t a n t i a t i o n m o d u l e ,t a s ke x e c u t i n gm o d u l e ,t a s ks u b m i t t i n gm o d u l e ,t a s ks c h e d u l i n gm o d u l e ,t a s k r e a d y m o d u l ea n dw o r k f l o w e n d i n g m o d u l e t h ea b o v em o d u l e sc a nn a v i g a t et h e w o r k f l o wm a n a g e m e n ts y s t e mb yc a l l i n gt h ef u n c t i o no f e a c ho t h e r k e y w o r d s :w o r k f l o wm a n a g e m e n ts y s t e m ,d i s t r i b u t e dp l a t f o r m ,w o r k f l o we n g i n e w o r k f l o wm o d e l i n gt o o l 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:李一三工 日期:z 口口4 年,月0e t 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本论文属于, 不保密吼 ( 请在以上方框内打“4 ”) 学位论文作者签名:李一;王 日期:2 d 口年年g 月0 曰 一撕 日期:2 加铲年岁月f 目 华中科技大学硕士学位论文 1 1课题背景 1绪论 在计算机刚刚出现的时候,大多数与企业相关的文档均以纸张的形式在部门之 间传递,无论是在信息的处理、组织方面,还是在存储及查询检索方面纸张的效率 都相当的低。因此,人们希望出现一种无纸化的、由计算机操纵的工作环境。后来, 一些公司将组织中常用的些业务功能结合在一起,形成了种部分支持业务流程 集成化的软件包,这便是早期的工作流管理系统。限于当时的计算机发展水平,这 些软件包所集成的功能都较简单。 1 9 9 3 年,国际工作流管理联盟( 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 t m c ) 的 成立,标志着工作流技术开始进入相对成熟的阶段。w t m c 的目标是:提高客户在工 作流技术上的投资价值;减少使用工作流产品的风险;通过为工作流提高知名度而 扩展工作流市场。为了实现不同工作流产品之间的互操作,w d 讧c 制定了关于相关术 语、体系结构及应用编程接口等方面的一系列标准。正是w f m c 所做的这些工作促使 工作流管理成为近年来在计算机应用领域中发展最为迅速的几项新技术之。目前, 其已经广泛地应用于办公自动化、文件管理、电子邮件、目录管理、群件应用、b p r ( b u s i n e s sp r o c e s sr e e n g i n e e r i n g ) 及结构系统定义工具等领域,这使得工作流管理 系统越来越受到不同应用领域的用户重视。工作流管理系统在众多c s c w 应用软件中 变得越来越流行,需求量不断增大,同时工作流管理的思想已广泛应用于企业管理 和计算机应用的各个方面【 2 l 。 随着工作流技术的广泛应用,在工作流管理技术这个领域也出现了许多新的课 题。分布式工作流管理系统就是这些课题之一。这是由于数据库、计算机网络的广 泛应用使现代企业的信息资源表现出异构、分布和松散耦合的特点,企业的分散性、 决策制定的分散性、c l i e n t 2 s e r v e r 体系结构和分布式处理技术的日益成熟,都说明集 中式信息处理的时代已经过去,实现在大规模的异构分布式执行环境下使工作流中 相互关联的任务在系统监控下高效运作成为一种趋势。 一一 1 华中科技大学硕士学位论文 1 2 国内外研究概况 1 2 1 工作流技术的研究现状 在工作流技术的研究中,比较著名的有i b m 公司a l m a d e n 研究中心的e x o t i c a 、佐 治亚大学计算机系的m e t e o r 、w i d e & m e t e o r 等研究项目 3 - 6 1 。其中e x o t i c a 午l l m e t e o r 是完全分布式的工作流管理系统,w d e & m e t e o r i ) ! j j 采用c s 结构。 在国际市场上,以f i l e n e t 、j e t f o r m 、i b m 干l l a c t i o n 四家公司的产品比较有影响 和代表性。以下是这四家公司的工作流产品的简要介绍: 1 f i l e n e t 公司的产品:v i s u a lw o r k f l o w 是f i l e n e t 公司集成文档管理软件的一部 分,是建立在基于组件的软件结构上的,采用先进的工作队列处理方法。它允许迅 速地评价和改进机构工作方式,可随时查看过程中关键的细节,掌握过程的运行情 况。 2 j e t f o r m 公司的产品:i n t e m p o 是l e t f o r m 公司的工作流产品,它基于c s 结构, 其客户端互相独立,适合于管理型和设定型的经营过程,如合同管理、顾客问题解 决、销售和预算审批等等。它可自动将任务分配给相应的人员,任务会自动出现在 用户的信箱中,简化了任务的接收过程。 3 i b m 公司的产品:m mm q s e r i e sw o r k f l o w 是该公司最新的工作流产品,它将 经营流程从应用逻辑中分离出来,支持2 5 种不同的操作系统,可根据模型定义自动 分配任务,提供图形化的过程定义界面。 4a c t i o n 公司的产品:a c t i o nm e t r o4 , 0 为工程师提供了一套基于w e b 的工作流管 理软件。它对经营过程中不可预见的问题、要求和机遇也可进行控制,还为用户提 供了相应的管理工具。它更适合于基于知识的工作流,它支持用户与信息之间的交 互。 1 _ 2 - 2 当前研究的热点 目前关于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 ) 的研究主要集中在以下9 个方 面: 】更为灵活的过程模型: 人们对于w f m s 批评最多的莫过于其“僵硬”的过程模型,这使得用户在某些情况 下( 如发生某种特殊情况) 不得不越过w f m s 而用其它方法( 如手工方式) 来完成有关的 一 华中科技大学硕士学位论文 工作。这一点主要是由于工作流管理系统建立时的过程定义与运行时的过程执行脱 节,从而致使预定义的过程模型不能很好地反应实际的业务流程。由于对过程定义 及过程实例动态修改将会带来系列的困难,因此需要寻找更为灵活的工作流过程 形式化表示方法及过程的执行策略。 目前已有两种提高过程模型灵活程度的做法:种做法是将过程定义的部分工 作放到运行时来完成。这方面有代表性的例子是过程的g p s g 方法表示。在此种表示 方法下,过程模型表现为一个上下文无关方法:终结符表示一个具体的活动,而非终 结符则表示一个可以继续细分的子过程。g p s g 文法与上下文无关文法的不同之处在 于在g p s g 文法中可以加上一些限制条件,以表示各活动之间的约束关系。而过程实 例就是符合此文法规则的一个句子。这种表示法最大的优点在于可以在过程实例的 运行过程中对文法规则进行修改,如加入新的规则、删除不合适的规则、对已有规 则进行细化等,以突破w f m c 参考模型中建立时功能与运行时功能的界限,使过程模 型能够随实际工作状况的需要而动态地改变。但此种表示法对于用户提出了比较高 的要求,例如他们必须理解此种文法,必须知道如何对文法规则进行修改等。使用 此种过程模型的系统在过程实例的执行方式上一般选择目标拉动的方式。 另外一种提高灵活性的做法是从过程实例的执行入手。传统的做法是所有活动 的执行都是由w f m s 负责的,而在f r e e f l o w 中,过程的执行可以由用户加以干预 为支持此种执行方式,需要给每一个活动定义六种不同的状态,其中i n a c t i v e ,a c t i v e 及r e a d y 为用户态( 表示用户可能的操作) ;而d i s a b l e d ,e n a b l e d 及p e n d i n g 为系统态 ( 表示活动同系统中其它活动之间的关系) 。这样就把在传统系统中被混为一谈的活动 的时序关系和依赖关系区别开来,从而也就实现了活动之间的依赖关系与活动的执 行顺序之间的分离。在此种模型下,活动的系统态将由w f m s 维护,而用户则可控 制活动的用户态,以使系统在认为某个活动不能继续进行时( 违反某种依赖关系) 用户 仍然可以根据实际情况让过程执行下去,但过程的总体状态仍将得以正确维护。这 种能力对于处理常规流程之外所发生的各种异常情况是非常有效的。 2 面向对象的w f m s : 面向对象( 0 0 ) 的思想反映了人类思维的一般特征r 从特殊到一般及从一般到特 殊) 。进入9 0 年代,基于这一思想而发展起来的各种技术,如o o a ,o o d ,o o p 等 在计算机领域得到了广泛的应用。随着w f m s 研究的不断深入,0 0 思想也被引入 进来,逐渐形成了面向对象的w f m s ( o o w f m s ) 。 _ 一 华中科技大学硕士学位论文 关于o o w f m s 的研究有两个不同的层面。其一是指w i m s 本身的实现使用了 o o p 的方法,即将w f m s 系统中的各种元素以对象的形式加以描述,并在某种环境 下加以实现;o o w f m s 研究的另个方面是关于面向对象的过程模型,即使用面向 对象的方法来完成业务过程的分析建模,并得到相应的对象表示。 3 智能化的w f m s : e l l i s 曾经指出:人工智能( a i ) 所使用的经常是启发式或扩张性的方法。这种方法 使得系统中的信息能够随人机交互过程的进行而动态增长( 学习过程) 盯】,而不是在一 开始就将系统中所有的信息都定义好。 考虑到用户的工作过程实际上是业务过程的具体体现,因此可能通过实例学习的 方法完成业务过程的自动建模。这要求w f m s 系统本身具有学习的功能,能够从各 用户的实际工作中( 如开始对某些数据的处理,并指定将处理结果传递给另外的用户 继续处理,如此直至最后一个用户指示此过程的完成) 提取出各种参数而得以相应的 过程定义。 4 对同步协作的支持: w f m s 的基本功能是对异步的结构化协作的支持,即将一个用户工作完之后生成 的结果数据自动传递给下一个环节的用户进行处理。而同步协作则是各参与者实时 地交流思想,最终得到某个结果的过程。 为提供此种能力,可以从两个不同的方面着手。首先可以提供使多个用户能够 按同步协作的方式完成工作流形式化定义的能力。另一方面,就是突破现有w f m s 中各工作项都是由某个特定的用户完成的限制,让它同时出现在多个用户( 或某个用 户组中所有用户) 的工作项列表中,并能够被这些用户同时打开并进行处理。这种同 步协作能力的引入对过程定义、工作项的维护及分配以及客户程序提出了新的要求, 例如服务器保证被处理的工作项的数据与状态的一致性,客户应用应该能够提供对 同步协作的支持等。 5 对移动用户的支持: 商业社会的激烈竞争要求企业具有良好的反应能力。移动办公正是为满足此种 要求而出现的- - o o 新的工作方式,它使得员工能够随时随地处理他们的业务。移动 计算设备( 如笔记本及手持设备) 的普及为这种办公方式的实现提供了良好的硬件条 件,而w f m s 则为之提供了种理想的软件环境。但早期的w f l v i s 系统一般都是基 于l a n 环境而构造起来的,它一般要求用户一直保持同w f l v i s 的连接。 - - 一一 4 华中科技大学硕士学位论文 为了支持此功能,需要在w 抒v i s 客户程序与工作流引擎之间定义相应的协议。 对该 办议的基本要求是在尽可能增强移动用户自主性f 能够在断开同系统连接的情况 下继续对其工作项进行处理) 的同时保证不会有多个用户同时对同一个工作项进行处 理。这方面比较早的研究是让工作流的设计者指定一个过程中哪些活动是可按“断 连”方式进行处理的。比如一个三阶段协议( 断连前、断连中以及重新连接阶段) f 8 以 便用户能够方便地将工作项及其相关的数据下载到本地,在断开与系统连接的情况 下对之处理完后重新建立同w f m s 的连接并将处理完后的工作项保存到w f m s 中。 这种方式将极大的提高用户的自主性与灵活性。 6 基于w e b 的w f m s : w e b 技术因其界面的一致、简单及与平台的无关性而在其出现之后就得到了迅猛 发展。i n t e m e t 的发展及企业i n t r a n e t 的建构为人们提供了一个理想的协同工作环境, 同时也使得基于w e b 建立工作流管理系统成为可能。 这方面的研究是最近些年来才开始的。在目前能够见到的系统中,一般是使用 h t m l 页面通过w e b 浏览器向用户表示w f m s 中的各种信息,如用户的工作项列表、 待处理的数据、过程的进行状态等。而在w e b 服务器端,则通过c o r b a ( c o m m o n o b j e c tr e q u e s t b r o k e ra r c h i t e c t u r e ) ,j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) ,n e t 等技术 完成工作流引擎与w e b 服务器之间的信息传递。 7 分布式w f m s : 为了支持跨企业的异构计算环境下大规模工作流管理,现有的w f m s 的能力必 须从多个不同的方面加以扩展,以提高系统的可靠性、可伸缩性及容错能力等。关 于这方面的研究目前主要包括: 分布式的体系结构这主要是为了突破现有系统中单工作流执行引擎的各种局 限,通过多个引擎之间的协作共同完成过程实例的执行,如各工作流引擎分别控制 部分活动的运行或者是不同活动的运行。当一个节点崩溃之后,其余节点可以立刻 接替其工作。这方面比较有代表性的系统包括u l t i m u s 和f l o w m a r k 。在u l t i m u s 中, 多个工作流引擎可以互相备份。而在f l o w m a r k 中,多个w f e ( w o r k _ f l o we n g i n e ) 构成的集群之间通过一种消息传递机制来传递过程实例中各活动的信息。分布式的 结构在提高过程实例的执行效率与系统可靠性的同时也会带来一些新的问题,如过 程实例状态的维护及用户工作项列表的维护将比集中式的结构更为困难。 分布式数据管理是w f m s 系统的一个重要功能。但w f m s 目前的系统很多都是 华中科技大学硕士学位论文 基于某种d b m s 系统而建立起来的,它们本身在数据管理方面的能力比较差。由此 带来的一个问题就是由于d b m s 本身并不理解它所管理数据的语义,因此对数据的 管理不可能达到理想的效果。为了同分布式的体系结构相适应,同时也是为了增强 w f m s 在数据管理方面的能力,可以将分布式数据库系统方面的有关理论,如分布 式的查询处理、差错恢复等引入到w f m s 中。目前的一般做法主要是引入一种数据 复制机制。例如将工作流管理系统中的不同的过程按其重要程度的不同而分成三类 f 关键性的、重要的及普通的) 9 - 1 5 1 ,对每一类分别采取不同的复制策略:热备份、冷 备份以及不备份。另外在将过程的执行分配到多个w f e 上完成时,需要考虑过程实 例状态查询及用户工作项维护上的一些优化策略。 8 事务型w f m s 这方面的研究主要是试图将一些高级事务模型( 如s a g a ,f l e x i b l et r a n s a c t i o n ) 等应 用到工作流系统的过程实例的执行中,以提高w f m s 的可靠性,如保证过程实例中 各活动执行的完整性。但到目前为止,事务处理中的许多概念,如事务的a c i d 属 性、失败语义等在w t m s 中的定义仍然是不明确的。已有的研究表明,工作流模型 比高级事务模型具有更为丰富的语义,w f m s 为高级事务模型的实现提供了一个理 想的环境。 事务型工作流研究的一个重要方面是过程补偿,也即当活动执行失败时如何将 其影响撤消掉,这将涉及到对某些活动的撤消及另外一些活动的重新执行。由于活 动的补偿和重新执行都具有较高的开销 1 6 - 2 1 】,因此在过程补偿时应尽量减少这两种 活动的数目。 9 工作流系统之间的互连: 随着大量各具特色的w t m s 产品涌入市场,不同的企业或企业内的不同部门可 能会选用不同厂家的产品。而跨企业及企业间大型工作流应用需求的增加要求能够 将这些异质的w f l v l s 互连起来( 即在两个或多个w t m s 之间传递工作项和执行控制) 以协同完成复杂的业务过程。分布式结构的w f m s 本身就有一个如何将各工作流引 擎互连起来的问题【2 。”j 。 w f m s 互连的关键性问题包括三个不同的方面。首先是互操作模型的确定,即 一个工作流引擎上过程实例与另外一个工作流引擎上过程实例的执行关系。w f m c 参考模型给出了四种不同的互操作模型( 链式、嵌套、对等及并行同步) 。其次,对不 同的互操作模型,需要确定所需的互操作一致性级别。w f l v i c 一共定义了八种级别。 p 一一 华中科技大学硕士学位论文 在最后选定的互操作模型和级别下,可定义一组操作集来实现之。 1 3 课题主要研究工作 本课题的主要研究工作是根据当前对工作流产品的需求,设计与实现一个具有 松散耦合、低进入屏障、行业支持、高度可集成能力等特点的工作流管理系统,并 把重点放在分布式工作流引擎的设计与实现上。其主要工作集中在以下几个方面: 1 工作流引擎的通信方式及接口的设计。 2 工作流引擎体系结构的设计。 3 工作流引擎的关键模块的实现。 4 分布式工作流日志管理的研究与实现。 5 工作流引擎数据库的实现。 本文主要通过工作流引擎的通信方式及接口的设计、工作流引擎体系结构的设 计、工作流引擎的关键模块的实现、工作流引擎数据库的实现等四个方面具体讨论 分布式工作流引擎的设计与实现。 7 华中科技大学硕士学位论文 2 工作流管理系统体系结构 2 1工作流管理系统体系结构 为了能够更好地支持企业经营过程建模、分析和实施,适应世界市场的多元化 趋势,需要建立工作流管理系统的相关标准,从系统结构、术语使用和接口实施等 方面提供标准化与规范化的定义,并以此为基础实现不同工作流产品之间的互操作, 以便于与其他应用系统的集成。 _ 软件柑件 r - n 系缆张佑| 散姑 口外舻品酬 图2 1工作流管理系统的体系结构图 图2 1 为w f l v l c 提出的工作流参考模型的体系结构图。这个参考模型的体系结 构给出了抽象的工作流管理系统的功能组成部件和接口,它能够满足工作流管理系 统和产品所应该具有的主要功能特征,可为实现工作流产品之间的互操作提供公共 的基础。必须指出,组成工作流管理系统的每个功能部件可以在不同的软硬件平台 8 华中科技大学硕士学位论文 上采用不同的方式实现,同样,接口也可以在不同的软硬件平台上采用不同的设计 技术和编程语占进行编程。一般说来,工作流产品的提供商也不会将这些部件之脚 的所有接口完全对外开放,但是为了实现不同工作流产品之间的集成,它们会按照 互操作和协作的不同要求在一定层次上开放其接口 2 7 - 2 8 。从图2 1 中,我们可以看出, 工作流管理系统主要由以下三类构件组成: 1 软件构件:完成工作流管理系统不同组成部分功能的实现。 2 系统控制数据:工作流管理系统中的一个或多个软件构件使用的数据。 3 其他应用与应用数据:对于工作流管理系统来说,他们不是工作流管理系统的 组成部分,而是属于外部系统和数据,它们被工作流系统调用来完成整个和部分工 作流管理的功能。 2 2 工作流参考模型 图2 2 给出了w f m c 提出的工作流参考模型。本节首先介绍工作流参考模型中涉 及到的几种数据在以后的各节对参考模型中的几个部分进行描述。 一作流静理 “f :县 接1 l5 i 忤 i l - t a l ! 幻变换格武 水流客, 戚f f l 蘸它+ e 越:灞 执行服务 图2 2 工作流管理系统参考模型 1 工作流控制数据:工作流执行服务工作流引擎通过内部的工作流控制数扼来 辨别每个过程活动实例的状态。这些数据由工作流执行服务i 作流引擎进行控制。 华中科技大学硕士学位论文 用户、应用程序或其他的工作流引擎i 作流执行服务不能对其直接进行读写操作, 它们可以通过向工作流执行服务工作流引擎发消息请求来获得工作流控制数据的内 容。 2 工作流相关数据:工作流管理系统通过工作流相关数据来确定过程实例状念转 换的条件,并选择下一个将执行的活动。这些数据可以被工作流应用程序访问并修 改。因此,工作流管理软件需要在活动实例之间传递工作流相关数据。 3 工作流应用数据:这种数据是指那些由应用程序操作的数据。它们是针对应用 程序的,是企业完成具体的业务功能所需要的数据,工作流管理系统无法也不需要 对它们进行访问。 2 3 工作流模型与建模工具 工作流模型包含了一个能够由工作流执行服务软件执行过程实例所需要的所有 信息。这些信息包括过程的开始和完成条件、构成过程的活动以及进行活动阃导航 的舰则、用户所需要完成的任务、可能被调用的应用、工作流引擎的引用关系,以 及所有与工作流相关的数据的定义。过程定义可能引用组织角色模型中关于组织 结构、组织中角色等信息。这样在进行过程中活动或信息对象的定义时,不仅可阻 指定某个特定的人是这个活动或信息对象的参与者,而且可以将活动或信息对象与 组织实体或角色功能进行关联。 过程建模工具以计算机能够处理的形式进行过程的定义。它可以用基于形式化 的过程定义语言、对象一关系模型来进行过程模型定义。对于比较简单的系统,可 以采用组路径选择命令的方式来描述信息或文档在不同参与者之间的传递过程。 工作流建模工具应输出一个能被工作流引擎解释并执行的过程。不同的工作流 产品的建模工具输出模型的存储格式是不同的,参考模型中接口1 的定义不仅是为了 实现工作流的定义阶段和运行阶段的分离,使用户可以分别选择建模和工作流执行 的软件产品,而且是为了使不同的工作流产品能够实现协作运行,从而为过程定义 的执行提供良好的运行服务环境 2 9 - 3 1 】。在工作流建模上,w f m c 开展了两个方面的 工作: 1 定义了一个元模型:所谓元模型一般是指描述模型的模型。这里的工作流模型 的元模型是用来描述工作流模型内在联系的模型。它用于描述工作流模型内部包含 的各个对象、对象之间的关系及对象的属性。这个元模型有利于建立可以在多个工 华中科技大学硕士学位论文 作流产品之间交换信息的模型。 2 定义了一套可以在工作流管理系统之间、管理系统与建模工具之间交互过程模 型定义的a p i ( a p p l i c a t i o np r o g r a m m i n g i n t e r f a c e 接口1 ) 。 用 图2 3 过程定义原模型 图2 3 为工作流管理联盟定义的过程元模型。该模型包含以下各基本实体: i 工作流定义( 过程模型) :它一般包含诸如工作流模型名称、版本号、过程启 动和终止的条件、系统安全、监控和控制信息等一系列基本属性。这个过程模型反 映了企业中个经营过程的目的,即这个过程要实现的目的和最终达到的目标是什 么。 2 活动:主要属性有活动名称、活动类型、活动的前后条件、调度约束参数( 如 最长处理时间、排队等待时间) 等。当工作流运行在分布式环境下时,在活动的属 性中还应该包括执行该活动的工作流引擎的位置。活动对应于企业经营过程中的任 务,主要反映了完成企业经营过程需要执行哪些功能操作。 3 转换条件:主要负责为过程实例的推进提供导航依据,主要参数包括工作流过 程条件( f l o wc o n d i t i o n ,过程实例向前推进的条件) 、执行条件( e x e c u t i o nc o n d i t i o n , 执行某个活动的条件) 和通知条件( n o t i f i c a t i o nc o n d i t i o n ,通知不同用户的条件) 。 转换条件对应于企业经营过程中的业务规则和操作的顺序。如在订单处理完成之后, 执行生产计划的制定工作。 4 工作流相关数据:工作流引擎根据相关数据和转换条件进行推进。工作流相关 数据的属性包括数据名称、数据类型和数据值等。它是工作流执行任务推进的依据, 一一一 华中科技大学硕士学位论文 = = = = = = = ;= = = = = # = = = = ;= = = = = = = ;= = = = = = = ;= = = 一= :一 如在银行贷款申请表处理后,根据申请贷款的值( 如是否大于l o 万元) 决定下一个 执行的活动是什么,比如,大于1 0 ;g 元的申请交业务经理处理,小于1 0 5 f 元的申请 交给业务员处理。 5 角色:角色属性主要包括角色的名称、组织实体、角色的能力等。角色或组织 实体决定了参与某个活动的人员或组织单元。它主要描述企业经营过程中参与操作 的人员和组织单位。 6 需要激活的应用程序:主要属性包括应用程序的类型、名称、路径及运行参数 等。应用主要描述用于完成企业经营过程所采用的工具或手段,如采用e r p 软件或决 策支持软件完成某个操作的具体企业业务功能。 图23 中给出的过程定义元模型的组成核心是活动。工作流定义与活动、工作流 相关数据之间是一对多的关系。活动、角色、工作流相关数据、需要激活的应用程 序、转换条件之间都是多对多的对应关系。 在定义模型的交互格式方面,还需要有一套完整的命名机制来保证在工作流执 行服务在运行期剧,它所执行的所有过程与活动的名称可以准确的对应到实际的名 称和地址。这个对应可以使用动态的地址解析机n ( j n 使用目录服务) 或其它机制来实 现。 w f m c 定义的工作流管理系统接口1 描述了过程定义输入与输出接口。这个接 口为在不同物理或电子介质之间传递过程定义信息提供了交互的形式和a p t ( 应用编 程接口) 。 使用标准定义接口具有很多好处:首先,它可以实现建模环境和运行环境的分 离,使一种建模工具创建的模型可以运行在多个不同工作流产品上 3 2 1 ;其次,它使 得多个工作流产品可以实现协同工作,构成一个协作的工作流执行服务环境,这个 执行环境可以运行由同一个过程模型所生成的过程实例。工作流管理联盟提供的a p i 函数在建模方面主要覆盖了以下几个功能: 1 通信建立:建立各个参与运行的系统之间的通讯连接,并且在完成协作后断开 通信连接。 2 工作流模型操作:对过程模型的名称进行检索,并完成对过程模型对象的读 写操作等。 一一 1 2 华中科技大学硕士学位论文 3 工作流模型对象操作:在建模工具中完成创建、检索和删除对象的操作,并可 以完成创建、设置和删除对象属性的操作。 2 ,4 工作流执行服务与工作流引擎 工作流执行服务是工作流管理系统的核心。实际上它是企业经营过程的任务调 度器,在某种程度上还是企业资源分配器。在采用工作流管理系统支持经营过程运 行的企业中,工作流执行服务可以看成是企业的业务操作系统。企业的业务过程在 它的管理、监控和调度下运行,因此,工作流执行服务系统的性能和可靠性就决定 了企业经营过程的运行效率和安全性f 33 1 。工作流执行服务由一个或多个工作流引擎 ( w o r k f l o we n g i n e ) 组成( 在分布式环境下由多个工作流引擎组成) ,它提供了过 程实例执行的运行环境,主要完成以下功能: i 实例化及执行过程模型:解释企业经营过程的过程定义,根据过程执行需要的 初始条件和执行参数生成过程实例,运行过程实例并管理其运行过程。这里要指出 的是,一个过程模型实际上是企业经营过程的一个模板,它可以被执行多次,也可 以有多个有关这个过程模型的实例在同时运行。 2 为过程和活动的执行导航:根据过程定义和工作流相关数据,为过程实例的运 行进行导航,如根据过程的进入和退出条件启动和终止一个过程实例;根据活动之 间的关联和活动的执行条件,决定并行或串行执行后续活动;给用户提供需要操作 的工作流任务项信息;或者根据所需激活的应用程序信息启动相应的应用程序等等。 3 与外部资源交互完成各项活动:工作流执行服务通过两种途径完成与外部资源 和用户的交互客户应用接口和直接调用应用接口方式。对于客户应用方式,工 作流引擎通过任务项列表管理器对应用的执行进行管理。任务项列表管理器提供任 务项列表供用户进行选择,并记录监督工作流的完成情况。对于直接由工作流引擎 启动的活动,由工作流引擎直接调用相应的功能来完成,这些自动执行的应用将合 适的预先定好的应用执行完成情况反馈给工作流引擎。 4 维护工作流控制数据和工作流相关数据:工作流在执行过程中要维护不同过程 和活动实例的内部状态信息,以及用于协调和恢复的各种检查数据及恢复重启信 息,还包括用户传送的必要的相关数据。 l3 华中科技大学硕士学位论文 在分布式的工作流执行服务中,一股由多个工作流引擎协同工作来推进工作流 实例的执行。每一个工作流引擎负责控制和管理一个过程中的一部分活动,并使用 相关的资源和应用工具来完成这些活动的执行。不同的工作流引擎之侧能够分工和 协作,在一个工作流引擎完成其负责的一部分活动后,需要将相应的完成信息传递 给其他工作流引擎。不同的工作流执行服务中定义的协议通常是不同的,它们大多 数都是厂家自己定义的。在选用不同的工作流系统产品进行协同工作时,需要在各 工作流引擎之间提供一个标准的接口或格式来进行这些不同协议的转换。所提供的 标准的接口和格式应包括以下几个方面的内容: 1 一个共同的命名机制。 2 支持共同的过程定义对象和属性。 3 能够传递相关的工作流相关数据,并控制过程实例的生成。 4 肩自够在异构的工作流引擎间传递过程、子过程及活动信息。 5 支持共同的管理职能。 工作流引擎是一个为工作流实例的执行提供运行服务环境的软件和“引擎”。它 是工作流执行服务的核心,是执行企业经营过程的“业务操作系统”的内核。从提供 的功能来看,它主要完成以下任务: 1 对过程定义进行解释。 2 控制过程实例的创建、激活、挂起、终止等。 3 控制活动实例间的转换,包括串行或并行的操作、工作流相关数据的解释等。 4 提供支持用户操作的接口。 5 维护工作流控制数据和工作流相关数据,在应用或用户白j 传递工作流相关数 据。 6 提供用于激活外部应用程序和访问工作流相关数据的接口。 7 提供控制、管理和监督工作流过程实例执行情况的功能。 1 4 华中科技大学硕士学位论文 图2 4 过程实例状态转换图 图2 5 活动实例状态转换图 工作流的一个重要功能就是控制过程实例和活动实例的状态转换。工作流管理 联盟提出的参考模型中对过程实例运行状态和活动实例状态进行了定义,并给出了 状态转换的条件。图2 4 和图2 5 分别描述了过程实例和活动实例各个状态之间的 转换。 2 5 客户端功能 工作流管理系统的客户端功能是指用户操作工作流管理系统分配的任务或者活 动的功能。它由工作流任务管理器和用户操作共同完成。工作流任务表是指分配给 特定用户( 或一组用户) 处理的由任务项组成的队列。工作流任务表管理器是个 软件模块,负责管理工作流任务表,并完成与最终用户的操作的交互。 1 5 华中科技大学硕士学位论文 在实际应用中,经常需要将工作流管理系统集成到用户的其他桌面应用( 如办 公自动化系统、电子邮件系统) 环境中,从而为最终用户提供一个集成化的统一任 务管理系统。在一般应用环境中,计算机操作系统的异构性是比较普遍的情况,这 对工作流执行服务与工作流客户端应用之间的通信机制提出了较高的要求,如要求 通信机制具有比较好的柔性能够适应不同的操作系统环境。 在工作流模型中,客户端应用与工作流引擎的交互通过定义良好的接口完成。 这个接口就是工作流任务表。在最简单的情况下,工作流

温馨提示

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

评论

0/150

提交评论