




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要随着工作流技术在企业经营过程中的逐渐应用,人们越来越意识到工作流技术是一种能够有效管理、控制和协调复杂业务流程执行的信息技术手段。由于工作流起源于生产组织和办公自动化领域,是针对具有固定程序的活动提出的一个概念,工作流的流转过程都是按照预先定义好的固定模型运行的,因此一旦有意外发生,工作流系统就无法快速适应变化。目前市场需求的迅速变化使得企业业务流程极其不稳定,所以将传统工作流系统直接用于企业业务流程管理中会使企业流程缺乏灵活性和适应能力。为了适应市场需求的变化,企业流程在执行时必须可动态调整,这样工作流系统就必须提供一套支持动态调整的柔性服务。论文在研究传统工作流技术基础上,提出面向柔性任务分配的工作流引擎( w o r k f l o we n g i n eo r i e n t e dt of l e x i b l et a s k a s s i g n m e n t ,简称f a e n g i n e ) 的设计框架,在f a e n g i n e 中采用柔性任务分配机制,使工作流引擎能够满足业务流程中用户对任务动态分配的需求,增强流程处理的灵活性,提高业务管理系统的适应性。论文介绍了工作流技术的国内外研究现状,指出了现有工作流产品的不足,特别是在任务分配上缺乏柔性,提出了论文采用的工作流管理系统的逻辑框架,对其核心模块一- - f a e n g i n e 进行了详细设计,深入研究了柔性任务分配机制和柔性任务分配匹配算法。最后以“图书物流软件系统”为应用背景,验证了f a e n g i n e 能够满足在流程执行阶段动态绑定活动参与者的需求。关键词:工作流,工作流引擎,柔性任务分配,企业业务流程a b s t r a c tw i t ht h ea p p l i c a t i o no fw o r k f l o wt e c h n o l o g yi ne n t e r p r i s e sm a n a g e m e n t , p e o p l eg r a d u a l l yr e a l i z e dt h ew o r k f l o wi sa ne f f e c t i v ei n f o r m a t i o nt o o lf o rm a n a g i n g , c o n t r o l l i n ga n dc o o r d i n a t i n gc o m p l i c a t e db u s i n e s sp r o c e s s d e r i v e df r o mt h ef i e l do fm a n u f a c t u r eo r g a n i z a t i o na n do f f i c ea u t o m a t i o n ,w o r k f l o wi sac o n c e p ta i m e da ta c t i v i t i e sw i t hf i x e dp r o c e s s t h ea c t i v i t yo fw o r k f l o wi sr n nw i t hap r e d e f i n e dm o d e l o n c ea c c i d e n t sh a p p e n ,t h ew o r k f l o ws y s t e mc a n ta c c o m m o d a t et ot h ec h a n g er a p i d l y , a st h em a r k e td e m a n di sc h a n g e f u l l y e n t e r p d s e sb u s i n e s sp r o c e s si sv e r yu n s t a b l e t h u st h ed i r e c t l ya p p l i c a t i o no ft r a d i t i o n a lw o r k f l o ws y s t e mi n t oe n t e r p r i s e sb u s i n e s sp r o c e s sm a n a g e m e n tw i l lm a k et h eb u s i n e s sp r o c e s si n f l e x i b l ea n dw i t hb a da d a p t a b i l i t y f o rt h es a k eo fa d a p t i n gt h ev a r i a t i o no fm a r k e td e m a n d ,b u s i n e s sp r o c e s ss h o u l db ed y n a m i c a l l yc h a n g e a b l ed u r i n ge x e c u t i o n i nt h i sw a yt h ew o r k f l o ws y s t e mm u s ts u p p l yas e r i e so ff l e x i b l es e r v i c e st h a ts u p p o r td y n a m i ca d j u s t m e n t ,t h i sp a p e rd e s i g n saf r a m e w o r kf o rw o r k f l o we n g i n eo r i e n t e dt of l e x i b l et a s ka s s i g n m e n t( f a e n g i n e ) b a s e do nt h er e s e a r c ho ft r a d i t i o n a lw o r k f l o wt e c h n o l o g y i nt h ef a e n g i n e ,m e c h a n i s mo ff l e x i b l et a s ka s s i g n m e n ti sa d o p t e di no r d e rt om e i 七tt h er e q u i r e m e n to fd y n a m i ct a s ka s s i g n m e n t ,t oi m p r o v e t h e f l e x i b i l i t y o f p r o c e s sa n d t h u s t o i m p r o v e t h ea d a p t a b i h t y o f b u s i n e s ss y s t e m t h i sp a p e ri n t r o d u c e sc u r r e n ts t u d ys t a t u so f w o r k f l o wt e c h n o l o g y , a n dp o i n t e so u ts o m ed e f i c i e n c yo fw o r k f l o wp r o d u c t si ne x i s t e n c e ,e s p e c i a l l yl a c ko ff l e x i b i l i t y a f t e r w a r d s ,t h el o g i c a lf r a m e w o r kf o rt h ew o r k f l o wm a n a g e m e n ts y s t e mi sp u tf o r w a r d ,a n dp a r t i c u l a rd e s i g nj sc o n d u c t e do nt h ek e r n e lm o d u l a r f a e n g i n e t h em e c h a n i s mo ff l e x i b l et a s ka s s i g n m e n ta n da na l g o r i t h mo ff l e x i b l et a s ka s s i g n m e n ta r ei n v e s t i g a t e d f i n a l l y , s y s t e mo fb o o kl o g i s t i c s i si n t r o d u c e da sab a c k g r o u n d w h i c hi su s e dt ov a l i d a t et h a tt h ef a e u g i n ec a uf u l f i l lt h er e q u i r e m e n to fd y n a m i cp a r t i c i p a n tb i n d i n gd u r i n ge x e c u t i o n k e y w o r d s :w o r k f l o w , w o r k f l o we n g i n e ,f l e x i b l et a s ka s s i g n m e n t ,e n t e r p r i s eb u s i n e s sp r o c e s sl l独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得中国农业大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。研究生签名:1 司蛐时间:办,蟛年6 月b 日关于论文使用授权的说明本人完全了解中国农业大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件和磁盘,允许论文被查阅和借阅,可以采用影印、缩印或扫掐等复制手段保存、汇编学位论文。同意中国农业大学可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内容。( 保密的学位论文在解密后应遵守此协议)研究生签名:问谚、辛色导师签名阁、痢时间:知哆年6 月3 日时闻:矽年月,歹同第一章绪论随着互联网技术的发展和应用,公司之间、公司内部部门之间的业务实现了互通,这使得企业各种业务流程相互交织在一起,但是许多流程隐含在日常的操作中,不被人们所重视,因而不能对这些流程进行有效地管理,这使得企业不能很好地跟踪业务流程的执行n 因此流程集成的管理模式日益受到人们的重视,工作流技术在企业中的应用正是在这种要求下产生的。在市场竞争臼趋激烈的现在,企业所处的商业环境在悄然发生变化,客户需求瞬息万变,产品生命周期不断缩短,技术不断创新,企业要在这样一个竞争和变化的外部环境下生存,必须随需应变不断调整、优化企业的各种业务流程,对流程进行重构【1 】。但是由于工作流起源于生产组织和办公自动化领域,受网络的局限性主要以企业内部的文档处理为主,系统的功能和运行流程也都比较固定,系统在设计时不会过多考虑外部环境对系统在功能和业务流程处理上的新需求。这样要在企业中很好的利用工作流技术就需要对传统的工作流技术进行改进。1 1 工作流相关基本定义1 1 1 工作流定义工作流管理联盟( w f m c w o r k f l o wm a n a g e m e n tc o a 】i f i o n ) 对于工作流( w o r k f l o w ) 的定义例是:工作流是类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,使文档、信息或任务能够在不同的执行者之问进行传递和执行。通俗地说,工作流就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型进行表示井对其实施计算。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。可以将整个业务过程看作是一条河,其中流过的就是工作流。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。1 1 2 工作流管理系统定义工作流管理联盟对于工作流管理系统( w f m s 。w o r k f l o wm a n a g e m e n ts y s c e m ) 的定义o 是:工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。工作流管理系统的主要功髓是通过计算机技术的支持去定义、执彳亍和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互【3 】。1 1 3 柔性工作流定义“柔性”的概念是针对目前工作流系统在模板定义和执行阶段表现出的僵化、死板而提出的中国农业入学硕士学位论文第一章绪论【4 l 。工作流是计算机支持的业务过程自动化执行,然而业务过程本身及其执行都不是一成不变的,用户需求的变化、执行中的意外情况都可能造成过程执行与原过程定义的偏离。灵活、动态地处理这种偏离的能力体现为工作流系统的柔性pj 。用户在柔性方面的要求表现在 4 1 :( 1 ) 工作流模板的柔性定义。系统建模工具能充分表达各种复杂、灵活的业务过程,所建的模板直观易懂,面向企业各种人员。系统在运行时,用户可以根据需要修改或补充定义。( 2 ) 工作流柔性执行。用户在工作流执行中可以动态修改工作流实例数据,动态指定流程的流向等。( 3 ) 系统柔性扩张。支持跨地区的企业业务管理,并且支持用户远程办公等。( 4 ) 柔性任务分配。活动与活动参与者的动态绑定,即能够根据需要在流程执行阶段,由活动的参与者指定后续活动的参与者( 动态指定参与者) ,或按照活动对参与者的要求自动匹配合适的参与者( 自动匹配参与者) ,以满足企业对任务分配的一些不确定性需求。1 2 国内外研究现状1 2 1 工作流研究现状近年来,工作流技术得到长足的发展。成立于1 9 9 3 年8 月的工作流管理联盟,是一个非赢利性的国际性的标准化组织,成员包括工作流产品的供应者、应用者、有关大学、研究机构和个人。该组织颁布了一系列工作流产品标准,包括工作流参考模型口1 、工作流术语表【6 】、应用程序接口【”、管理控制接口例、过程语言描述例等,这些举措加速了工作流技术的商品化。目前已经有相当数量的开发商研究和开发了符合上述规范的工作流产品,企业应用的实际效果也比较成功,从而进一步刺激了企业对工作流管理的热情,使工作流产品显示出良好的发展趋势【1 0 l 。根据工作流产品所采用的任务项传递机制的不同,工作流产品基本上可以划分为四类:( 1 ) 基于文件的工作流系统【l l j 一一以共享文件的方式来完成任务,这种类型的产品是产生最早、发展最成熟、最具多样性的,通常包含有c l i e n t $ e l v e e 模式的图像、文档与数据库管理系统。代表产品有f i l en e t 的v i s u a lw o r k f l o “j ,i b m 的f l o wm a r k ,i nc o n c e r t 的i nc o n c e r t 。( 2 ) 基于消息的工作流系统 1 3 1 一一以前主要通过电子邮件来传递文档消息,现在开始出现了利用消息中间件作为任务消息的可靠传递。这种类型的产品都已实现了与一种或多种电子邮件系统的集成。代表性产品有n o v e u 与f i l en e t 合作开发的b n s e l b l e ,j e tf o r m 的i nt e m p o 。( 3 ) 群件与套件系统一一这类产品都需要依赖自已系统的应用基础结构,包括消息传递、目录服务、安全管理、数据库与文档管理服务等,它们本身就构成了一个完整的应用开发环境。代表产品有i b m l o t u s 的l o t u sd o m i n o n o t e s ,m i c r o i t 的o f f i c e 与e x c h a n g e “】。这类产品广泛应用于构建办公自动化平台,但它本身不能满足工作流要求的许多特性,必须依靠第三方解决方案供应商来提供,造成系统的购买、实旅与使用成本上升。并且这类产品直接支持的是非关系型数据库,数据都是存储在非关系型数据库中,无法实现统计、监控、运算等企业工作流应用中常见的要求。虽然也可以通过编程来访问关系型数据库,但都需要大量的额外开发工作和专业人员才能实现,而且运行效率远不及基于关系型数据库的工作流解决方案。2中国农业大学硕士学位论文第一章绪论( 4 ) 基于w e b 的工作流系统 1 刈一通过w e b 服务器来完成任务的协同处理,是目前工作流管理系统领域中发展最为迅猛的一个方向。目前许多开源和商业的工作流都是基于t o m c a tw e b 服务器或j b o s s 、w e b l o g i c 、w e b s p h e r e 等应用服务器的。在国内,由于我国企业的信息化进程远远落后于国外,管理水平也存在着较大的差距,工作流技术在国内的全面应用起步较晚,产品较少。一些大学、科研机构及企业对工作流技术做了比较深入的研究。也已经开发出些工作流产品,如西安协同数码公司的协同工作流系统,清华大学的c i m f l o w 等。但从总体来说国内工作流产品还是处于初级阶段,其可靠性、稳定性、开放性及标准化方面都还有待加强。总之,可供选择的符合中国企业实际需求而又遵循标准化的产品很少。目前工作流系统虽然随着各种各样采用新技术的系统的推出得到越来越广泛的应用,但是总的来说工作流系统的应用还是处于一个非常谨慎的状态,根本原因就是当前的工作流系统存在着许多需要进一步改进的地方【1 6 】【1 1 :( 1 ) 缺乏对异构分布环境的支持:企业级的业务流程包括许多在地理上分布的离散执行单元,而现有的工作流模板缺乏对流程分布特点的支持,比如缺乏不同系统间的数据映射功能。( 2 ) 标准化程度差:不同的厂商所提供的工作流产品具有自己独立的一套工作流模型、工作流定义语言以及a p i 函数,但难于在不同系统之间进行交互,用户一旦选定一种产品之后,就很难再过渡到其它同类产品上了。( 3 ) 流程模板缺乏可蘑用性机制不能实现流程资源的共享:传统工作流模板虽然也可以处理简单的子流程调用,但是不能随意组合多个流程,实现更复杂的流程递归定义。( 4 ) 互操作性差:传统工作流模板主要针对企业内部流程进行建模,对跨组织的工作流的支持考虑很少。这样形成的工作流管理系统是一个个信息孤岛,它只能调用自己企业内部的应用,完成企业内部的任务。在i n t e r a c t 技术飞速发展的今天。显然是不合时宜的。( 5 ) 缺乏柔性:流程定义和执行两个阶段分离,往往要求用户在流程执行前指定所有的流程信息,流程实例化后就一成不变的执行,缺乏适应动态变化的能力。些企业的实际应用常常有对执行路由的动态需求以及任务参与者的动态选派,对于这些需求现在的工作流系统都不能很好的给予支持。1 2 2 柔性任务分配研究现状目前绝大多数工作流管理系统在柔性方面都做得很不够,在活动任务的分配上都是采用静态绑定参与者的方法,即在流程定义的时候就将活动的参与者指定为某个特定的角色、组织或个人。这样做的好处是工作流引擎可以方便快捷地对参与者进行调度,流程逻辑比较简单,但其缺点也是显而易见的【1 目【1 9 1 :不能够根据用户的需要,在流程执行过程中动态指定活动参与者,这样就无法满足用户对任务分配的一些不确定性需求,限制了工作流系统的应用;在分配活动任务参与者时,无法结合流程实例的实例化环境,容易造成某些参与者总是被分配任务,而某些参与者却无法得到任务,在不同参与者间造成一种不平衡的状态,这样大大地限制了流程定义的重用性,无法满足用户对工作流适应性调整的需求。3中国农业大学硕士学位论文第一章绪论w f m c 在工作流元模型阱中引入了角色的概念,通过角色决定了参与某个任务的人员和组织单元,为任务的动态分配奠定了很好的基础,但是仅仅从角色角度实现柔性任务分配是不能满足用户对柔性的需求的。,目前,对于柔性任务分配的研究有很多,如1 2 u 】:w i d e 2 1 懈角色定义为执行某项任务的能力。在组织模型中,将a g e n t ( 执行任务的实体一人或应用系统) 作为人员与组织单元的代表,在执行过程中建立a g e n t 与角色之间的对应关系实现任务的动态分配。w i d e 的任务分配的本质还仅仅是基于角色的分配。s t a f f w a m 2 0 0 0 冽建立个人及小组任务队列,采用推( p u s h ) 机制将个人任务队列中的任务直接推给相应的执行者,通过拉( p u n ) 机制,小组中的成员都可以看到小组任务队列中的任务;在s t a f f w a r e 2 0 0 0 中支持团队的概念即小组所对应的队列,但对于小组中的任务管理粒度过大,没有考虑到“团队所承受的项目中的各种任务需要不同能力的人员完成,团队中只能由具备所需能力的人员才可承担这些任务”的限制,所有小组的成员都可以执行小组队列中的任务。i b mm qs e r i e sw 酬| ( n o “冽中引入了组织结构及角色的概念,通过基于组织与角色的特定规则来完成任务分配。但是该系统中的组织结构更接近于企业的组织架构,不是面向项目的团队概念,相对比较静态的,每个人员只能是一个组织的成员。而且角色的层次性只能通过组织结构的层次性表示。l o t u s d o m i n o w o r k f l o w u 支持团队概念,但是该系统中的团队是为了协同完成某一项任务,而且任务必须有惟一的拥有者,只有其可以决定任务的状态。在d o m i n ow o r k f l o w 中并没有面向团队的过程建模,实际上并没有支持团队工作方式的任务分配。1 3 论文的研究意义随着工作流技术在企业经营过程中的逐渐应用,人们越来越意识到工作流技术是一种能够有效管理、控制和协调复杂业务流程执行的信息技术手段。由于工作流起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序的活动提出的一个概念,工作流的流转过程都是按照预先定义好的固定模型运行的,因此一旦有意外或在执行阶段希望动态更改流程,工作流系统就无法快速适应要求。目前市场需求变化迅速、企业经营策略时常改动、企业人员流动频繁,这些都使得企业业务流程极其不稳定。面对这种情况,传统工作流系统要能够自如地应对业务流程的多变,必须预先预料到所有的变化可能并定义所有可能的流程模板,这种预料对于瞬息万变的企业来说是不可能的,所以将传统工作流系统直接用于企业业务流程管理中会使企业流程缺乏灵活性和适应能力。为了适应企业和市场各种各样的变化因素,企业流程在执行时必须可动态调整,这样工作流系统就必须提供一套支持动态调整的柔性服务。本文通过对柔性任务分配原理的研究,详细设计了结构清晰、功能灵活的支持柔性任务分配的工作流引擎,将原有的一成不变的按固定模板执行的流程变成可以灵活、快速地按照新环境、新需求进行动态任务分配的“灵巧”流程,增强企业适应企业人员不断变化的能力,提高企业的竞争力和生命力。41 4 论文的研究目标、内容和方法1 4 1 研究目标将工作流引擎引入企业的业务管理信息系统中,设计适合企业业务流程的工作流引擎,实现企业业务流程的迅速重组。在工作流引擎的设计中采用柔性任务分配机制,使工作流引擎能够满足用户对流程中的任务进行动态分配的需求,增加流程处理的灵活性,从而提高业务管理信息系统的适应性。1 4 2 研究内容( 1 ) 通过研究w f m c 提出的工作流管理系统的参考模型、通用结构和相关概念,提出本文采用的基于w e b 的工作流管理系统的体系结构。( 2 ) 分析当前工作流技术的企业应用特点,深入研究工作流引擎的工作原理和运行机制,提出面向柔性任务分配的工作流引擎( w o r k :f l o we n g i n eo r i e n t e dt of l e x i b l et a s ka s s i g n m e n t ,简称f a e n g i n e ) 的设计框架,包括f a e n g i n e 支持的工作流模型、功能需求和整体结构。( 3 ) 研究柔性任务分配机制,分析f a e n g i n e 的柔性任务分配执行过程,给出在f a e n g i n e中柔性任务分配采用的匹配算法。( 4 ) 设计并实现f a e n g i n c 中与柔性任务分配相关的功能模块。1 4 3 研究方法本文从工作流技术的研究现状出发,分析了当前工作流产品的不足,研究了w f m c 提出的工作流管理系统参考模型、体系结构,研究了柔性任务分配机制,给出了支持柔性任务分配机制的f a e n g i n e 的设计框架,最后介绍了f a e n g i n e 在图书物流软件系统中的应用。具体研究思路如图1 - 1 所示。5中国农业大学硕士学位论文第一章绪论图1 - 1 论文研究思路6中国农业大学硕士学位论文第二章工作流稹系统概述第二章工作流管理系统概述2 1 工作流管理系统参考模型工作流参考模型( w o r k f l o wr e f e r e n c em o d e l ) 是由工作流管理联盟于1 9 9 5 年提出的工作流管理系统的体系结构模型,其标识了构成工作流管理系统的基本部件和这些基本部件交互使用的接口,如图2 - 1 所示f 2 】口图2 - 1 工作流参考模型1 、基本部件( 1 ) 工作流执行服务是工作流管理系统的核心部件,它的功能包括创建、管理流程定义,创建、管理和执行流程实例;在执行上述功能的同时应用程序可能会通过编程接口同工作流执行服务交互;一个工作流执行服务可能包含有多个分布式工作的工作流引擎。( 2 ) 工作流引擎是为流程实例提供运行环境并解释执行流程实例的软件部件。( 3 ) 流程定义工具是管理流程定义的工具,它可能通过图形方式把复杂的流程定义显示出来并加以操作;流程定义工具同工作流执行服务交互。( 4 ) 客户端应用是通过请求的方式同工作流执行服务交互的应用,也就是说是客户端应用调用工作流执行服务;客户端应用同工作流执行服务交互。( 5 ) 调用应用是被工作流执行服务调用的应用;调用应用同工作流执行服务交互。为了协作完成一个流程实例的执行,不同的工作流执行服务之间进行交互。( 6 ) 管理监控工具主要指组织机构、角色等数据的维护管理和流程执行情况的监控;管理监控工具同工作流执行服务交互。2 、接口介绍1 2 5 1( 1 ) 接口一:工作流过程定义转换接口为了实现不同工作流管理系统之间、管理系统与建模工具之间相互交换工作流模型( 主要指7中国农业大学硕士学位论文第二章工作流 寅系统概述工作流过程定义) ,工作流管理联盟定义了一套用x m l 描述工作流元模型的标记语言x p d l( x m lp r o c e s sd e f i n i t i o nl a n g u a g e ) ,构成了接口一。作为个标准、通用的工作流定义语言,x p d l 定义了一个最小集合的工作流建模实体与属性,提供了一般意义f 的公共交换格式。所有的工作流过程定义工具都可以有自己的内部表示,并可以和通用交换格式进行转换。这就要求供应商至少提供以下两个接口( 输入、输出层) :依据公共过程定义语言x p d l ,将以字符流形式输入的过程定义转换为供应商的内部表示。依据公共过程定义语言x p d l ,将以供应商的内部表示的过程定义转换为字符流形式输出。工作流流程定义是对业务过程的抽象表示,是工作流管理系统的重要基础。由于企业业务流程的复杂性和多样性,要求工作流模板能够完整的定义任意情况下的业务流程。( 2 ) 接口二:客户端接口这个接1 2 1 在工作流执行服务器与工作流客户端应用程序间建立一个非常灵活的通信机制,来构建各种可能遇到的运行系统。包括通过任务表处理器与终端用户进行交互,与普通的办公系统进行集成,终端用户对任务表中任务项的操作,调用外部应用程序,处理相关数据等。主要有以下几个功能:通信建立:各个参与运行的系统之间通信的建立与断开;工作流定义操作:对于过程模板的名称和属性的查询和检索功能:过程实例管理功能:创建、开始、结束、挂起、重新激活一个过程实例,查询过程实例的属性:任务项列表功能:查询、获得任务项列表中的项目,任务项完成、终止等消息的通知,设置和查询任务项属性;数据处理过程:查询、返回工作流相关数据、应用数据;应用程序调用。( 3 ) 接口三:应用程序调用接口工作流管理系统应该能够处理在所有平台下和网络环境中进行调用的逻辑,并需要能使用公共格式和编码进行应用数据或相关数据传递的方法。在简单的情况中,工作流引擎在本地处理应用程序调用,使用过程定义中的信息来确定活动的性质、将要调用的应用程序的类型和所需的数据。被调用的应用程序可能存储在工作流引擎中,或者与工作流引擎一同存储在相同的平台下,或者存放在个独立的网络访问的平台中。主要的应用程序调用a p i 如下:通信建立:建立、断开与应用程序( 或应用程序代理) 的通信;活动管理功能;开始、挂起、重新激活、推出活动,通知活动结束,查询活动属性、消息事件;数据处理功能:提供工作流相关数据( 在活动执行前向应用程序提供数据,活动结束后从应用程序中获得所需数据) ,提供工作流应用数据或提供数据地址。( 4 ) 接口四:异种工作流执行服务器之问的互操作接口本接口用来支持异种工作流系统中信息与控制流的交互,主要有以下功能:8中国农业大学硕士学位论文第二章工作流摈系统概述通信建立;对工作流模板和其中对象的操作;过程实例控制和状态操作;活动管理操作:数据处理函数。( 5 ) 接口五:系统管理与监控接口用来对工作流执行系统的管理和监控,主要功能有:资源控制:设置、取消、修改过程或活动实例的并发层次;角色管理:定义、删除、修改角色一一参与者的关系:修改角色的属性;用户管理:建立、删除、暂停和修改用户或工作组的权限;过程实例的管理:对过程模板进行实例化;修改过程实例或活动实例的状态;终止过程实例;状态管理:查询过程或活动实例的运行状态。2 2 工作流管理系统通用结构个工作流管理系统的通用结构如图2 - 2 所示,其中有三种类型的组件:软件组件,为工作流系统的各种功能提供支持;各种类型的系统控制数据,为一个或多个软件组件所使用:外部产品数据,不是工作流产品的一部分,但是会被工作流产品调用,从而作为整个工作流系统的部分【2 】【8 。软件构件口系统控制数据) 外部产品,数据图2 - 2 工作流臂理系统的通用结构9中国农业大学硕士学位论文第二章工作流稹系统概述( 1 ) 过程建模工具过程定义是用来创建一个计算机可以处理的形式化的过程描述。工作流过程建模工具可能作为工作流产品的一部分、也可能作为业务过程分析产品的一部分来提供给用户。作为业务过程分析产品一部分,会有其他的组件来负责处理业务过程的分析或者模板,这时,必须要有兼容的转换格式,与运行时期的工作流软件进行过程定义的相互转换。通常商用过程定义工具都是可视化的图形定义工具。( 2 ) 过程定义过程定义包含工作流执行软件运行过程所需过程的所有详细信息。包括过程的开始和结束条件、组成活动、在活动间进行导航的规则、需执行的用户任务、可能会被调用的应用程序、所有工作流相关数据的定义等。过程定义可能会涉及到一个组织模型,模型包含组织结构和组织中的角色等信息。工作流执行服务器负责把工作流运行环境中的参与者与相应的组织实体或角色联系起来。( 3 ) 工作流执行服务器工作流执行服务器软件负责解释过程定义、控制过程实例、安排活动的执行顺序、向用户工作表中添加工作项目、调用应用工具。这需要一个或者多个协同工作的工作流引擎来完成这些职责,工作流引擎管理各种过程的一个单独实倒。工作流执行服务器维护内部控制数据,这些数据或者集中于一个工作流引擎中,或者分布在一个工作引擎集合中;这些工作流控制数据包括与各种过程、或者正执行的活动实例相关的内部状态信息,也包括工作流引擎用来合作或者从失败中进行恢复的检查点、恢复,重新启动信息。过程定义与( 运行时期) 工作流相关数据协作,一同用来控制过程中活动的导航、提供活动的进入与退出条件、不同活动的并行执行、顺序执行选项、用户任务、与每个活动相关的应用程序等。如果过程定义包括组织模型角色实体类型,那么完成以上任务。需要访问组织确色模型数据。工作流引擎也包括调用一些形式的应用工具的能力,来激活必要的应用程序执行相关活动。这种调用机制间有很大的不同,在一些简单的系统中,也许只提供对单一的固定工具调用( 例如:文本编辑器) ,然而在工作流系统中可能提供调用本地与远程的大范围内工具的方法。( 4 ) 工作流相羌数据和应用数据过程导航判断或工作流引擎中的其他控制操作,都以工作流应用程序产生或者更新的数据为基础,这些数据可以被工作流引擎和条件工作流相关数据所访问;这是工作流引擎唯一可访问的应用程序数据。尽管工作流引擎负责在应用程序间传递工作流应用程序数据。但工作流应用程序数据直接由被调用过程操作。不同的应用程序由工作流过程内的不同活动调用。( 5 ) 任务表过程执行中需要用户交互的地方,工作流引擎把工作项添加到任务表中,以便任务表处理器对其处理,任务表处理器管理与工作流参与者的交互。这个过程对工作流参与者可能是不可见的,任务表在工作流软件中维护工作项,把用户需要执行的下一个工作项提供给他。在其他系统中,任务表可能对用户是可见,用户自己从任务表中选择执行工作项,任务表也用来指示任务的完成。( 6 ) 任务表处理器用户接口任务表处理器是一个软件组件,管理工作流参与者与工作流执行服务器间的交互。任务表处理器负责请求用户关心进展中的任务,并负责通过任务表与工作流执行服务器进行交互。在一些l o中国农业大学硕士学位论文第二章工作流穰系统概述系统中,只是使用一个桌面应用程序来提供一个简单的任务进入,等待用户注意。在其他一些系统中任务表的处理可能更成熟,控制任务在一些用户间进行分配,并考虑到转载平衡、任务重分配等。在工作流参考模型中,更广泛的使用“客户端应用程序”这个词,而不是“任务表处理器”,从而反映其潜在的广大使用范围,其包含任务表处理功能的同时也包含过程控制功能。在图中,用户接口是一个单独的软件组件,负责提示和处理用户对话框,并控制本地用户的本地接口。在某些系统中,用户接口可能会与任务表处理器组合到一起,构成一个简单的功能实体。( 7 ) 系统管理器工作流系统中有许多的管理功能,这些管理功能以工作站点或者用户的管理权限为基础。这些管理功能使得管理者可以修改任务分配规则、确定过程中组织角色的参与者、跟踪遗漏的最终期限报警或根据其他事件、跟踪某一过程实例的运行历史、查询任务吞吐量或其他统计信息等。使用分布式工作流机的地方,可能需要特殊的命令来在不同的工作流机间传递控制操作或者( 局部) 响应,从而提供一个单一的管理接口。2 , 3 工作流管理系统相关概念w f m c 组织给出的工作流流程模板从本质上来说一个完整的流程是由一个有向图构成的,有向图中的各个节点表示工作流过程中的各个活动,有向边表示各个节点( 活动) 之间的控制关系,即工作流流程模板是由多个活动组成的有向图,活动之间的有向边代表了各个活动之间的流转关系,各个活动又可以分解为多个工作项( 任务) ,根据不同的活动类型分别交由不同的人或软件来完成。2 3 1 流程模板流程模板就是一个定义了一些必要元素的流程,如活动( 节点) 、子流程、传输线、条件表达式、参与者、应用程序及相关数据等等【”。用户在创建一个业务系统的流程的时候,只需要继承该业务系统或者给出一个流程的模板并做适当的修改,即可完成流程的设计。流程模板是企业根据自己的需要定义的。在进行流程定义时不仅需定义流程本身的一些必要属性,还需要利用各种组成元素来描述一个流程的具体执行情况。流程模板只是一个静态模型,还不能直接用于工作流管理系统的执行。通常,将工作流的一次执行过程称为一个工作流过程实例,将工作流过程实例中的一个活动称为活动实例。要想在工作流管理系统中运行工作流模板,首先要建立该工作流模板的一个实例,然后给出该实例运行之前所需要的全部数据,最后才能运行该实例。也就是说,工作流管理系统中运行的是模板的实例,而不是模板本身。2 3 2 过程实例过程实例是在运行时由流程模板创建的,过程实例的创建是执行一个业务流程的开始,创建过程实例包括创建一些相关流程状态数据和工作流相关数据,如分配该实例的唯一m 号,取得中国农业大学硕士学位论文第二章工作流穰系统概述第一个活动( 即开始活动) 的相关信息及激活条件等。一个过程实例的运行是通过启动并激活流程的第一个活动而开始整个流程的。过程实例在运行时有初始态、运行态、激活态、挂起态、完成态和终止态共六种基本状态,过程实例创建时还没有满足流程启动执行的条件,处于初始态。这六个状态间的转换关系如图2 - 3 所示脚1 。终止2 3 3 活动实例图2 - 3 过程实例状态转换关系圈活动实例是在流程运行过程中由过程实例启动并执行时开始创建的,活动实例创建时由过程实例给活动实例分配一个唯一的i d 号,并将过程实例的相关数据赋予活动实例。活动实例运行完成时将其相关数据上传给过程实例,该活动实例消失。流程启动时创建开始活动实例,流程结束时创建结束活动实例;开始和结束活动实例均不进行任何操作,只是修改实例的状态,结束活动实例完成时将过程实例置于完成态,流程运行结束。活动实例有初始态、运行态、激活态、挂起态、完成态和终止态共六种基本状态,这六个状态间的转换关系如图2 - 4 所示瞄】。终l t2 3 4 工作项圈2 _ 4 活动实例状态转换关系圈工作项( 任务) 是在活动实例运行时由活动来创建的。活动实例创建工作项时首先分配一个唯一的i d 号给工作项,再将活动的相关数据传给工作项。工作项有初始态、运行态、激活态、1 2挂起态、完成态和终止态共六种基本状态,工作项的状态转换图和活动实例的状态转化图相似f “。2 4 基于w e b 的工作流管理系统体系结构本文以w f m c 工作流管理系统参考模型为基础,采用了基于w e b 的三层结构的设计方案,将整个系统划分为三个逻辑层次,分别为表示层、功能层和数据库服务层。表示层用于实现用户同工作流引擎的交互,提供用户同工作流引擎进行交互的工具;过程定义工具和以浏览器为用户界面的任务处理和管理与监控功能构成了表示层。功能层是工作流管理系统的核心层,w e b 服务器用于接收表现层的请求并为工作流的运行提供服务。数据库服务层用于存储工作流定义和运行时所使用的数据。采用表示层、功能层、数据库服务层分离的三层结构,使得系统各个层次之间的关系更加清晰,各个层次相对更加独立,便于系统的灵活扩充i 冽,系统的体系结构如图2 - 5 所示。表示层功能层数据库服务层图2 _ 5 基于w e b 的工作流管理系统体系结构1 、系统主要组成部分( 1 ) 过程定义工具过程定义工具向用户提供对实际业务处理过程进行建模和分析的手段,并将过程的建模信息以工作流引擎可以理解的格式提供脚】。( 2 ) 工作流客户端工作流客户端由任务处理界面和管理与监控界面两部分组成。任务处理界面用于向用户提供通过工作流引擎和工作流过程实例进行交互的接口。工作流过程实例在运行期间,必然要同用户进行交互,比如图书物流软件系统中入库、出库通知单的审核,盘点单详细信息的填写等。用户通过浏览器定时的更新任务处理界面,从而知道自己目前有哪些工作需要去处理,并通过任务处理界面上该项任务的链接进入相应页面进行任务处理。中国农业大学硕士学位论文第二章工作流稹系统概述管理和监控界面用于通过工作流引擎提供的接口对工作流过程实例的状态进行监控和管理,提供如组织管理、资源管理、过程状态控制、已定义流程的启用和停用、异常处理等管理功能,并能对工作流在整个引擎内的流动状况进行监视。( 3 ) 工作流引擎工作流引擎是工作流管理系统的核心组件,用于解释过程定义、创建过程实例、控制过程实例的状态转换、进行活动实例的调动、匹配资源、维护工作流控制和相关数据、记录流程历史数据、监控工作流的一致性等功能,同时根据过程定义中的指示信息进行任务催办的处理等,并提供与系统中其它组件交互的接口。( 4 ) 数据存储过程定义库用于存储过程定义工具生成的工作流管理联盟定义的x p d l 文件供工作流引擎调用。过程实例库用于存储工作流启动后生成的过程实例。控制模型库用于存储流程、活动及流程运转信息。组织模型库用于存储企业组织及人员信息。数据模型库用于存储工作流相关数据。2 、系统工作过程( 1 ) 流程管理者通过手动或者建模工具建立工作流流程模板,完成对应用系统的建模即实际工作流程的定义。建模结果以x p d l 文档保存在数据库服务器中,并可反复修改。( 2 ) 客户端用户通过浏览器登录到w e b 服务器,此时可以启动新的流程,如图书入库,通过填写入库通知单并点击“提交”按钮来开始一个入库流程。( 3 ) 流程被启动后,工作流引擎根据流程模板寻找下一个活动并执行。活动执行过程中,会分解出相应任务,每个任务都与一个表单对应,在表单中以各种不同的方式表示需要处理的数据。用户可以通过客户端对这些数据进行处理,在此过程中可以与数据库系统进行交互,如查询数据库中信息,或将某些应用数据保存到数据库中等,处理完成之后可将其提交。然后工作流引擎执行下一个活动,生成下一个任务,并通知相应的用户进行处理,如此直至整个流程的完成。( 4 ) 管理人员使用工作流管理监控工具对工作流的运行实例、活动实例的状态情况进行监控和管理,如挂起、重启动、终止某个过程实例。2 5 本章小结本章介绍了工作流管理联盟提出的工作流管理系统的参考模型、通用结构及相关概念,重点关注引擎在运行过程中涉及到的几个实体:流程模板、过程实例、活动实例和工作项。在工作流参考模型的基础上提出了文本采用的基于w e b 的工作流管理系统体系结构,也就是下一章将介绍的工作流引擎运行的系统环境。1 4中国农业大学硕士学位论文第三章支持柔性任务分配的工作流引擎设计第三章支持柔性任务分配的工作流引擎框架3 1f a e n g i n e 支持的工作流模型模型是用文字、图标、符号、关系式以及实体模样等描述所认识到的客观对象的一种简化表示形式,它是人们为了研究和解决客观世界中存在的各种问题而对客观现实经过思维抽象后得到的1 3 0 l 。简单的说,模型就是对所描述客观对象的抽象表示。工作流模型是对工作流的抽象表示,是将现实生活中流程、活动、活动之间关系、活动需要的参与者等进行形式化定义的模板。工作流模型是工作流管理系统运行的基础。模型定义的好坏、模型定义的柔性程度直接决定工作流引擎的执行效率,影响到工作流管理系统的柔性。在设计工作流模型时需充分考虑到柔性任务分配的需求,使得定义的模型能够为工作流引擎在执
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黄河科技学院应用技术学院招聘(河南)模拟试卷及答案详解(有一套)
- 2025广西桂林市第一粮库有限公司招聘模拟试卷含答案详解
- 2025昆明市晋宁区文化和旅游局招聘编外工作人员(1人)模拟试卷及参考答案详解1套
- 2025年福建省福清市中医院招聘18人模拟试卷及一套参考答案详解
- 2025年福建省宁德市公安局招聘94人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025届春季国电投核电技术服务有限公司校园招聘模拟试卷及答案详解(各地真题)
- 2025年汉中市事业单位招聘高层次及急需紧缺专业人才(163人)考前自测高频考点模拟试题及答案详解(网校专用)
- 2025广东南粤银行分行行长、副行长等岗位招聘考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025吉林长春市吉林大学白求恩第一医院高压氧科招聘模拟试卷及参考答案详解1套
- 2025湖南娄底市纪委监委、市委巡察办所属事业单位公开选调、公开招聘工作人员9人考前自测高频考点模拟试题带答案详解
- 2025年国家能源集团宁夏煤业有限责任公司招聘笔试考试题库+答案
- 中国邮政储蓄银行2026校园招聘考试参考试题及答案解析
- 网络信息安全培训案例分享课件
- 社区获得肺炎护理
- 高压氧舱培训课件
- 锁骨骨折诊疗指南
- 矩阵论简明教程全课件
- 学校学生欺凌治理委员会成员及工作职责、实施方案范文
- 2025年有限空间作业安全知识考试题库附答案
- 2025年绿化工技师试题及答案
- 爱国主义教育融入数学教学中的案例
评论
0/150
提交评论