




已阅读5页,还剩70页未读, 继续免费阅读
(计算机应用技术专业论文)基于net的分布式工作流管理系统研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第1 页摘要随着计算机网络技术的迅速发展,企业信息化建设逐步深入,企业信息系统的建设受到越来越大的挑战。能够适应企业业务流程改造,业务流程管理的工作流技术的出现,为企业信息系统的建设注入了新的活力。分布式工作流技术更是以其业务过程分布执行的高效率,多个结点机冗余执行的高可靠性,资源和信息的共享的灵活性,受到越来越多的关注。分布式工作流管理系统的互操作问题也成为关注的重点。本文主要围绕基于n e t 平台上的分布式工作流管理系统的开发展开讨论,详细论述了在分布式工作流管理系统开发工作领域里所做的研究和应用实践。首先,简要介绍了工作流管理联盟提出的工作流技术的基本概念,以及分布式工作流管理系统的互操作模型及相关的实现技术,并对各种实现技术的优缺点进行了比较。通过对当前流行的开源工作流管理系统的研究,企业应用的分析,设计了分布式工作流管理系统结点间的协作机制,该机制具有高度的自治性、良好的协作性、并行性等特点。通过对工作流过程定义语言b p m l 、x p d l 、b p e l 等的分析,实现了基于有限状态机的分布式过程定义模型。结合n e t 的应用案例,以及分布式开发技术一n e tr e m o t i n g 技术,设计并实现了基于n e t 平台的分布式工作流管理系统原型。重点介绍了分布式工作流管理系统的过程模型的设计,工作流引擎的体系结构,工作流引擎的流程调度机制的实现,引擎的任务分配实现,分布式流程的迁移机制等。最后,依据设计的分布式工作流管理系统原型,通过对某铁路特种货物运输管理系统的相关业务流程分析,并将其具有代表性的运输执行流程应用到该分布式工作流管理系统中,实现了分布式工作流管理系统原型的简单应用实现和验证,为基于n e t 平台的企业工作流技术的应用提供了有效的解决方案。关键词:工作流,分布式,管理系统,n e t西南交通大学硕士研究生学位论文第页a b s t r a c tw i t hr a p i dd e v e l o p m e n to fc o m p u t e rn e t w o r k s t h ec o n s t r u c t i o no fe n t e r p r i s ei n f o r m a t i o ns y s t e mi ss u b j e c t e dt om o r ea n dm o r ec h a l l e n g e t h ew o r k f l o wt e c h n i q u ec a l la p p l yt ob u s i n e s sp r o c e s sr e f o r m a t i o na n dm a n a g e m e n t ,i tt a k e sm o r ev i t a l i t yt ot h ec o n s t r u c t i o no fe n t e r p r i s ei n f o r m a t i o ns y s t e m t h ed i s t r i b u t e dw o r k f l o wc o m e si nf o rm o r ea t t e n t i o nb yt h eh i g he f f i c i e n c yo fi t sd i s t r i b u t e dp e r f o r m a n c eo fb u s i n e s sp r o c e s s ,h i g hc r e d i b i l i t yo fr e d u n d a n c yp e r f o r m a n c e ,f l e x i b l es h a r eo fr e s o u r c e sa n di n f o r m a t i o n t h ei n t e r o p e r a b i l i t yo fd i s t r i b u t e dw o r k f l o wm a n a g e m e n ts y s t e ma l s og e t sm o r ea n dm o r ea t t e n t i o n t ob u il dad is t r i b u t e dw 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 ti st h em a i nc o n t e n to ft h et h e s i s :t h er e s e a r c ha n dp r a c t i c eb a s e do nt h ed i s t r i b u t e dw o r k f l o wm a n a g e m e n ts y s t e ma r ed i s c u s s e d f i r s t ,t h et h e s i si n t r o d u c e sc o n c e p t so fw o r k f l o w ,w o r k f l o wi n t e r o p e r a b i1i t yo fd is t r i b u t e dw o r k f l o wm a n a g e m e n ts y s t e m ,a n dr e a l i z a t i o nt e c h n o l o g yo fd i s t r i b u t e dw o r k f l o wm a n a g e m e n ts y s t e m ,t h e nc o m p a r e st h em e r i ta n ds h o r t c o m i n go fv a r i o u sr e a l i z a t i o nt e c h n i q u e a u t h o rr e s e a r c h e st h ec u r r e n tp o p u l a rw o r k f l o wm a n a g e m e n ts y s t e mo fo p e ns o u r c e ,a n a l y s e se n t e r p r i s ea p p li c a t i o n ,a n dd e s i g n sn o d ec o o p e r a t i o nm e c h a n i s mo fd i s t r i b u t e dw o r k f l o wm a n a g e m e n ts y s t e m ,t h em e c h a n i s mh a sa u t o n o m y ,c o o r d i n a t i o n ,a n dp a r a l l e l i s mc h a r a c t e r i s t i c s b a s e do na n a l y s i so fw o r k f l o wp r o c e s sl a n g u a g eb p m l ,x p d la n db p e l ,a u t h o rr e a l i z e sd i s t r i b u t e dp r o c e s sd e f i n i t i o nm o d e lo ft h ef i n i t es t a t em a c h i n e c o m b i n i n ga p p l i c a t i o nc a s eo f n e ta n dt h ed i s t r i b u t e dd e v e l o p m e n tt e c h n i q u e - - r e m o t i n gt e c h n i q u e a u t h o rd e s i g n sa n dr e a l i z e st h ep r o t o t y p eo fd i s t r i b u t e dw 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 nt h e n e t t h et h e s i ss h o w sp a r t i c u l a r l yt h ed e s i g no ft h ep r o c e s sm o d e l ,s t r u c t u r eo fw o r k f l o we n g i n e ,o p e r a t i o nm e c h a n i s mo fw o r k f l o we n g i n e ,t h et a s ka s s i g n a t i o no ft h ee n g i n e ,m o v em e c h a n i s m西南交通大学硕士研究生学位论文第页o fd i s t r i b u t e dp r o c e s s f i n a ll y ,a c c o r d i n gt ot h ed is t r i b u t e dw o r k f l o wm a n a g e m e n ts y s t e mp r o t o t y p ea n db u s i n e s sp r o c e s sa n a l y s i so ft h er a i l r o a ds p e c i a lg o o d sc o n v e y a n c em a n a g e m e n ts y s t e m ,a u t h o ra p p l i e sr e p r e s e n t a t i v ec o n v e y a n c ep r o c e s st ot h ed i s t r i b u t e dw o r k f l o wm a n a g e m e n ts y s t e m ,r e a l i z e ss i m p l ea p p l i c a t i o na n dv e r i f i c a t i o no ft h i sp r o t o t y p e t h et h e s i sp r o v i d e sv a l i ds o l u t i o nf o re n t e r p r i s ew o r k f l o wa p p l i c a t i o nb a s e do n n e t k e yw o r d s :w o r k f l o w ,d i s t r i b u t e d ,m a n a g e m e n ts y s t e m ,n e t西南交通大学硕士研究生学位论文第1 页1 1 研究背景及意义第1 章绪论随着计算机网络技术的迅速发展,网络办公、电子商务等基于计算机技术和网络技术的商务应用逐渐普及,企业信息化建设逐步深入,企业内部以及企业内部与外部建立起越来越多的业务应用系统。这些应用系统给企业带来了巨大的效益,与此同时企业对应用系统提出的要求也越来越高,单独某个业务的解决方案已不能满足企业更高级别的要求。如何整合企业现有的i t 资源,以业务过程为中心进行应用系统的集成,最大程度地发挥了各种资源的效益,提高业务各环节间的响应速度,降低企业成本,正逐渐成为企业关注的重要问题。解决这一问题,将会大大提高企业的整体效益,加强企业的竞争力。工作流管理系统( w o r k f l o wm a n a g 鲫e n ts y s t e m ,简称w f m s ) 正是着眼于协调企业内的各种资源,试图使各种业务活动在一定程度上自动进行,以高效地达成企业的业务目标“。如果能够以i n t e r n e t i n t r a n e t 为基础构造企业w f m s ,实现企业i n t e r n e t i n t r a n e t 环境下各种资源的高效协调,将能够最大限度地发挥这些资源的综合潜力,为企业的业务目标服务,提高企业的综合竞争力。工作流技术的概念来源于生产组织和办公自动化领域,是针对日常生活中具有固定程序的活动而提出的一个概念,是在现代信息系统的建设中逐步形成的。工作流技术是支持现代企业业务过程重构( 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 ) 、业务流程管理( b u s i n e s sp r o c e s sm a n a g e m e n t ) 、经营过程自动化的一项关键技术,它通过对经营过程进行明确的定义和表示,使其能够被计算机所支持和运行,从而实现企业过程管理与过程控制”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 f m c )的成立标志着工作流技术开始进入逐步成熟的阶段。为实现不同工作流产品之间的互操作,w f m c 在工作流技术相关术语、体系结构及应用编程接口等方面制定了一系列标准,并给出了工作流的定义:工作流是指整个或部分的经营过西南交通大学硕士研究生学位论文第2 页程在计算机的支持下的全自动化或半自动化执行。工作流管理系统( w o r k f l o wm a n a g e m e n ts y s t e mw f m s ) 则是指支持企业经营过程的高效执行并监控其执行过程的计算机软件系统“,。目前,随着基于互联网的企业应用加深,分布式计算技术的发展,现代企业信息系统的分布性、异构性和自治性的特征己日益明显。企业的业务应用都是在具有分布性和异构性的计算机网络环境中运行的,集中式的工作流模型已经不能满足日益增长的企业内众多资源的统一利用和企业间要求协作的迫切需求。为了能够支持这类企业的生产经营过程,要求工作流管理系统必须具有分布的、松散耦合的特点“1 。分布式工作流的概念是相对于早期的集中式工作流管理系统而言的。分布式工作流管理系统主要是基于i n t e r n e t i n t r a n e t 技术、分布式计算技术、分布事务管理技术、分布式数据库技术等实现,支持企业之间及企业内部跨地域的工作业务流管理。工作流管理已经从仅支持单个工作组,发展到支持企业内和企业问的大规模应用。分布式工作流管理系统通过并行处理提高性能,通过冗余分布提高可靠性,通过共享信息和资源降低使用代价。随着时代的发展,分布式实现技术从早期的r p c ( r e m o t ep r o c e d u r ec a l l ) 、c o r b a 、d c o m 等技术,到近期的e j b 、r m i 、r e m o t i n g 、w e bs e r v i c e等技术,已有了很大的发展,为大规模的、分布式的企业应用提供了良好的支持。以往的分布式工作流管理系统多采用c o r b a 或d c o m 等技术来实现分布式应用。但由于c o r b a 、d c o m 的局限性,已不能很好的实现分布式工作流管理系统的与当前的业务系统集成,也就不能很好的满足企业业务过程网络化的需要。研究基于新的分布式技术的分布式工作流管理系统的实现,具有较大的实用价值。本文采用基于n e tr e m o t i n g 技术”1 设计的分布式工作流管理系统,可以适应当前新技术的应用,集成企业现有应用,为企业业务过程重构、业务流程管理提供良好的支持。1 - 2 国内外研究现状目前,对工作流技术的研究以及相关产品的开发进入了更为繁荣的阶段。国内外许多大学和研究机构开展了很多研究项目,取得了众多的科研成果。市西南交通大学硕士研究生学位论文第3 页场上各种工作流产品种类繁多,如i b mw e b s p h e r em qw o r k f l o w 、b e aa q u a l o g i cb p ms u i t e 、o r a c l eb p e lp r o c e s sm a n a g e r 、s o u r c e c o d ek 2 n e tw o r k f l o w 等产品。从以上产品中,可以看出早期的工作流原型系统,体系结构的影响作用。下面将对比较有代表性的分布式工作流原型系统作简要介绍:l 、基于持久消息的e x o t i c a f m 鲫系统”3e x o t i c a f m q m 是美国i b m 公司a l m a d e n 研究中心提出的一个完全分布执行的工作流管理系统。e x o t i c a 瑚q m 系统是m e s s a g e p a s s i n g q u e u i n g 与f l o w 垭u k 的有机结合,以“信息传送”为实现机制,从而形成了一个能够支持大规模复杂应用的分布式工作流管理系统。其采用持久消息机制代替集中数据库,以通信层作为持久存储区,保存工作流的相关数据。它拥有一系列自主的客户机,每个客户机有相对独立的功能,能单独实现流程中的一个或多个步骤,而不用与服务器进行频繁的信息交换,从而克服了传统工作流的实现技术由于对服务器的依赖性而产生的性能瓶颈问题。2 、基于可移动代理的d a r t f l o w ”1d a r t f l o w 是美国达特茅斯( d a r t m o u t h ) 大学开发的基于可移动代理( t r a n s p o r t a b l ea g e n t ) 的工作流系统。该系统以移动代理为其骨干,具有较高的灵活性和扩展性。可移动代理是一段可以在自身的控制下由异构网络系统中的一台机器转移到另一台机器上运行的程序,即可移动代理能够在执行到某一点时挂起自身程序,将代码传递到另外的网络节点上去继续运行。它较好的解决了工作流管理系统的柔性、自适应问题。3 、基于事件驱动的e w e e v e ( e v e n te n g i n e ) 是瑞士苏黎世大学的研究人员提出的一种基于事件的工作流执行平台中间件体系结构,用于集成工作流执行过程中的分布式功能组件。在工作流建模中,使用e c a 规则建立业务过程的工作流模型。e c a 规则定义了对象在某一事件( e v e n t ) 下,当满足条件( c o n d i t i o n ) 时将执行的动作( a c t i o n ) 。在e v e 中,工作流的执行是由分布在网络上的代理通过相应e v e服务器上检测到的事件来完成的。4 、基于c o r b a 的m e t e o r 系统“”m e t e o r 是由美国佐治亚大学计算机系的l s d i s 实验室开发的一套工作流管理原型系统,目的是实现一个能够支持大规模复杂应用的自适应工作流管理系统,并保证这些应用在异构企业环境中能够正常运行。在该系统中设计并实西南交通大学硕士研究生学位论文第4 页现了分布式调度模块来完成工作流的相关任务的最优调度。它能够支持多种操作系统,并采用了w e b 和c o r b a 技术,为分布式环境下的互操作提供了良好的支持。以上系统分别提出基于持久消息技术、基于移动代理技术、基于事件驱动、基于分布式技术的工作流管理系统原型,也代表了目前工作流管理系统使用的主要技术和主要发展方向。1 3 目前存在的问题目前工作流管理系统的应用日益增多,其研究也正向更高的层次发展。但远未到达像m i s 系统的应用状况。根本原因在于,在分布式工作流的应用领域还有诸多的缺陷和不足“”1 。1 、标准化程度差:不同的厂商所提供的工作流产品具有自己独立的一套工作流模型、工作流定义语言以及a p i 函数。在缺乏标准的情况下,用户一旦选定一种产品之后,就很难再过渡到其它同类产品上了;而且不同的系统之间缺乏互操作的接口,使得不同的工作流管理系统不能相互协作。2 、可扩展性、适应差:工作流的运行必须要有底层的通信基础结构的支持。也就是说,工作流管理系统必须要建立在适当的底层通信基础之上,以便实现执行工作流所需要的分布计算环境。但随着新技术的出现,新老系统不能协同工作,造企业投资的浪费。3 、性能问题:目前大多数工作流产品无法满足企业每天处理成千上万次业务的需求。造成无法胜任这种大规模业务负荷的主要原因是,单一数据库、集中式结构、通信能力差和软件本身的设计问题等。4 、工作流的柔性问题:无论是过程模型的表示还是人员角色的解析,现有的工作流大都无法满足柔性的要求。企业的实际应用往往需要对执行路由进行动态的改变以及工作任务的动态分配,目前这些需求仍无法得到很好的满足。总之,分布式工作流在理论研究和实际应用上都需要更进一步的工作,只有这样才能在实际环境中得到真正有效的应用。西南交通大学硕士研究生学位论文第5 页1 4 技术研究方向工作流的分布技术是一种必然的发展趋势,但分布同样也带来一些需要解决的问题,只有对这些问题进行更深入的研究,才能真正提高分布式工作流管理系统的性能和可靠性。因此,未来分布式工作流的研究将着重于以下几个方面“。n 踟:第一,工作流管理系统体系结构的分布。在这一层次上的分布式应用中,系统按照w 删c 提出的体系结构进行设计和实现,包含过程定义工具、工作流执行服务、客户应用程序、被调用程序、管理及监控工具等几部分。各个部件独立完成一定的功能,通过标准的互操作接口进行连接嘣“。尽管不同系统的功能模块的实现可以采用不同的技术方法、不同的软硬件平台,但这种整体结构上的分布性是相似的,这也体现了工作流系统对客观环境的适应性。体系结构的分布是最低层次的分布,目前市场上的产品也基本实现了这一层次的分布。第二,工作流引擎的分布。工作流引擎是工作流管理系统提供执行服务的核心模块。它负责过程实例的解释和执行,其性能直接影响到系统的运行效率。主要考虑如何将过程实例分布到各个工作流引擎以及分布式环境下的可靠性和容错性等。工作流引擎的分布是指采用一组分布在不同节点上的工作流引擎共同协作完成过程实例的执行,各引擎分别负责执行过程实例的不同部分,不同的引擎之间通过可靠的通信机制实现协作”3 。通过分布在不同网络节点上的多个工作流引擎的协作来运行工作流过程,可以明显改善集中式工作流的性能瓶颈问题。这是在工作流管理系统体系结构分布的基础上实现的更高层次的分布。第三,工作流模型的分布。工作流模型的分布是指在分布的环境下由参与人员共同完成一个工作流模型的定义,即分布式建模。分布式过程模型的建立和现有过程模型的集成,即如何清晰、准确地表示实际应用中的过程,如何在模型中准确体现分布式环境的特点,如何以形式化的方法表示过程模型,以及如何建立相应的形式化理论体系,是一个重要的研究课题0 1 。为了实现模型的集成,模型之间要定义规范的接口,信息的交互应该采用统一的标准。模型分布定义的难点是进行模型的拆分以及不同部分的集成。西南交通大学硕士研究生学位论文第6 页1 5 论文的研究内容和组织结构本文研究内容是针对具有复杂应用环境的企业对工作流管理系统的需求而提出的,解决企业在资源分布和人员分散的情况下,一个业务流程如何由工作流管理系统的多个独立工作流结点机协作完成的问题。旨在设计和实现轻量级的分布式工作流引擎,能够满足企业复杂流程应用的需要。论文主要包括以下两个方面的内容:一方面,研究流程的分布式定义。在现有流程定义语言上进行扩展,使之能够适应跨多个独立的工作流结点机。另一方面,研究分布式工作流管理系统的各结点机的协作体系结构和工作流引擎间的相互协作机制。设计合理的流程传递机制,相应传递技术,执行通知机制等,以此来实现各工作流结点机间的互操作。通过对以上内容的研究,从而实现业务流程的分布执行。在上述两方面研究的基础上,提出分布式工作流管理系统的实现方案,对工作流引擎的各个模块进行划分和详细设计。结合n e t 技术进行具体的编码实现工作,并设计相应的应用环境实例,对工作流管理系统的设计及实现进行应用测试。全文共分六章,内容结构如下:第一章:绪论。给出课题的研究背景、国内外的研究现状以及目前存在的问题,最后提出论文的主要研究内容。第二章:分布式工作流技术研究。阐述了分布式工作流技术的基础理论,介绍了现有的分布式技术,并分析了它们与工作流技术结合的可行性。第三章:工作流管理系统的设计与实现。介绍分布分布式工作流的协作机制,工作流管理系统的体系结构,以及分布式流程的执行过程,并详细论述了工作流引擎各个核心组成部分的设计与实现。第四章:工作流管理系统的应用。通过对设计的工作流管理系统的实际应用,描述工作流管理系统实际应用环境,测试分布式工作流管理系统设计的可行性。总结与展望:总结了全文所做的研究工作,并对下一步的工作提出了展望。西南交通大学硕士研究生学位论文第7 页第2 章分布式工作流技术研究2 1 工作流技术概述工作流技术是针对工作中具有固定程序的常规活动而提出的一个概念。通过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。工作流技术为企业更好地实现经营目标提供了先进的手段。工作流管理联盟将工作流定义为:工作流是一类全部或部分自动执行的经营过程,它根据一系列过程规则将文档、信息或者任务能够在不同的执行者之间进行传递与执行,实现组织成员问的协调工作以达到整体的商务目标口“5 町。工作流管理系统是支持企业业务过程高效执行并监控其执行过程的计算机软件系统,它完成工作流的定义和管理,并按照流程定义中预先定义好的业务逻辑,推进工作流实例的执行。工作流管理系统为加快企业业务过程的执行,提供企业的效率起到巨大的作用。2 2 工作流管理系统的功能从一般意义上说,一套工作流管理系统的功能,可以分为三个方面嘲:l 、建立阶段( b u i l d - t i m e ) 功能:建立时期的功能负责产生业务过程的计算机化定义。在这个阶段,通过使用一个或多个分析、建模和系统定义工具,把实际中的业务过程转变成形式的、计算机可以处理的定义。通常把定义的结果称为过程模型、过程模板、过程元数据、或者过程定义。2 、运行阶段( r u n t i m e ) 的控制功能:在运行时期,过程定义由负责创建、控制过程实例的工作流引擎所解释,工作流引擎负责安排过程中各个活动的执行时间,调用适当的人员、i t 应用程序资源等。3 、运行阶段的入机交互功能:实现各种活动执行过程中用户与应用程序( 工具) 之问的交互。用户通常通过任务管理器以及对应任务项的业务处理程序西南交通大学硕士研究生学位论文第8 页和工作流管理系统进行交互。为完成上述功能,工作流管理系统需要考虑众多因素,w f m c 提供了一个工作流管理系统的体系结构模型,包括过程定义工具、过程定义、工作流执行服务和工作流引擎、工作流控制数据、工作流的相关数据、任务项和任务项管理程序、应用程序和应用数据等。图2 - i 描述了上述功能间的关系。过徽计骁义 兹豢蔓巍二豹竺坠羁蠡运行阶段“。r “o过程更改过程实例化与控制髟荔孑虿i 菲蕊磊藉菊蓄歹? 乏;习过程实例化与控制 ;形j 7 彩美撵霸撬i 糯雾多j 钐,匀t i 1 i 一从姬雷二灌图2 一l 工作流管理系统功能示意图2 3 工作流管理系统体系结构尽管市场上的工作流产品是各种各样的,但是w f 舵组织已证明可以构建一个通用的工作流管理系统实现模型,这个模型描述了工作流管理系统的基本结构,可以适用于市场上的大多数产品,因此为开发协同工作的工作流管理系统奠定了基础。通用工作流管理系统的主要功能组件如图2 - 2 所示,其中有三种类型的组件:软件组件,为工作流管理系统的各种功能提供支持,是工作流管理系统的实现;各种类型的系统控制数据,为一个或多个软件组件所使用,是工作流管理系统的运行的纽带;外部产品数据,是具体工作流定义相关的元素,其并不是工作流产品的一部分,但是会被工作流产品调用,从而作为整个工作流管理系统的一部分”。西南交通大学硕士研究生学位论文第9 页使用更新操作匦蔓夔囊豳一一删一一攀-毫:匪囊囊重藿 一硼j图2 - 2 工作流管理系统体系结构图下面将对工作流管理系统体系结构的各部分分别介绍:i 、工作流定义“”工作流定义包含工作流引擎运行过程中业务过程的所有详细信息,是计算机可以处理的形式化的业务描述。包括工作流的开始和结束条件、组成活动、在活动间进行变换的规则、需执行的用户任务、可能会被调用的应用程序、所有工作流的相关数据的定义等。工作流定义可能会涉及到一个组织角色模型,模型包含组织结构和组织中的角色等信息。工作流执行服务器负责把工作流运行环境中的参与者与相应的组织实体或角色联系起来。2 、工作流定义工具“”工作流定义工具是用来创建工作流定义的建模工具,可能作为工作流产品的一部分、也可能作为业务过程分析产品的一部分来提供给用户。作为业务过程分析产品一部分,会有其他的组件来负责处理业务过程的分析或者模型,这时,必须要有兼容的转换格式,与运行时期的工作流引擎进行过程定义的相互西南交通大学硕士研究生学位论文第10 页转换。通常商用工作流定义工具都是可视化的图形定义工具。3 、工作流执行服务”1工作流执行服务负责解释工作流定义、控制工作流实例、安排活动的执行顺序、向用户工作列表中添加工作项目、调用工作项对应的应用程序。这需要一个或者多个协同工作的工作流引擎来完成这些职责,工作流引擎管理各种过程的一个单独实例。工作流执行服务器维护内部控制数据,这些数据或者集中于一个工作流引擎中,或者分布在一个工作引擎集合中;这些工作流控制数据包括与各种过程、或者正执行的活动实例相关的内部状态信息,也包括工作流引擎用来合作或者从失败中进行恢复的检查点、恢复重新启动信息。工作流定义与( 运行时期)工作流的相关数据协作,一同用来控制过程中活动的导航、提供活动的进入与退出条件、不同活动的并行执行、顺序执行选项、用户任务、与每个活动相关的应用程序等。如果过程定义包括组织模型角色实体类型,那么完成以上任务,需要访问组织角色模型数据。工作流引擎也包括调用一些形式的应用工具的能力,来激活必要的应用程序执行相关活动。这种调用机制间有很大的不同,在一些简单的系统中,也许只提供对单一的固定工具调用( 例如,文本编辑器) ,然而在工作流管理系统中可能提供调用本地与远程的应用工具的方法。4 、工作流的相关数据和应用数据工作流导航判断或工作流引擎中的其他控制操作,都以工作流应用程序产生或者更新的数据为基础,这些数据可以被工作流 - 3i 擎和其它工作流应用程序所访问。尽管工作流引擎负责在应用程序间传递工作流应用程序数据,但工作流应用程序数据直接由被调用程序操作,工作流的应用数据体现对应工作流定义流程实例的执行状态。5 、工作列表工作列表是工作流执行中需要与用户交互的地方,工作流引擎把工作项添加到工作列表中,以便工作列表处理器对其处理,工作列表处理器管理与工作流的用户的交互。工作列表对工作流的用户可能是不可见的,在工作流引擎中维护工作列表,工作流引擎直接把用户需要执行的下一个工作项提供给他;工作列表也可能对用户是可见,用户自己从工作列表中选择执行工作项。工作列表也用来指示工作项的完成。西南交通大学硕士研究生学位论文第11 页6 、工作列表处理器工作列表处理器是一个软件组件,管理工作流参与者与工作流执行服务器问的交互。工作列表处理器负责请求用户关心进展中的任务,并负责通过任务表与工作流执行服务器进行交互。在一些系统中,只是使用一个桌面应用程序来提供一个简单的任务进入,等待用户注意。在其他一些系统中,工作列表的处理可能更成熟,控制任务在一些用户问进行分配,并考虑到负载平衡、任务重分配等。在工作流参考模型中,更广泛的使用“客户端应用程序”这个词,而不是。工作列表处理器”,从而反映其潜在的广大使用范围,其包含工作列表处理功能的同时也包含过程控制功能。7 、系统管理器工作流管理系统中有许多的管理功能;这些管理功能以工作站点或者用户的管理权限为基础。这些管理功能使得管理者可以修改任务分配规则、确定过程中组织角色的参与者、跟踪遗漏的最终期限报警或根据其他事件、跟踪某一过程实例的运行历史、查询任务吞吐量或其他统计信息等。使用分布式工作流结点机的地方,可能需要特殊的命令来在不同的工作流结点机之问传递控制操作或者( 局部) 响应,从而提供一个单一的管理接口。2 4 工作流管理系统参考模型w f m c 于1 9 9 4 年发布了工作流管理系统参考模型( w o r k f l o wr e f e r e n c em o d e l ) ,它约定了工作流管理系统的体系结构、应用接口及特性,实现了工作流技术的标准化和开放性。工作流参考模型源于对普通的工作流应用程序结构的分析,确定结构中的接口,这些接口可以使不同产品在不同的结构层次上进行交互操作。工作流管理系统都包含一系列的公共组件,组件问采用一套被定义好的方法进行协作。不同的产品在这些公共组件上会表现出不同层次的能力。为了实现工作流产品之问的协同工作,模块之间接口的标准化和数据交换的形式化就成了必然。图2 - 3 是工作流参考模型的主要模块以及接口。1 。下面将对各接口功能做详细介绍。西南交通大学硕士研究生学位论文第12 页,接口二t 接口三匝夔匿夔口四图2 - 3 工作流参考模型接口l :工作流执行服务和工作流建模工具之间的接口,本质是一个交换格式和a p i 调用,它支持对过程定义的转化。由于不同的工作流产品的过程定义工具和输出格式不同,接口l 定义了过程定义和运行环境之间的一个分离点,使过程建模工具独立于工作流产品,可适应不同的工作流产品。接口2 :工作流执行服务和客户应用程序之问的接口,它约定所有客户应用和工作流服务之间的功能访问方式。通常以工作列表和工作列表管理器的方式实现接口2 ,工作列表管理器可以直接或在用户的控制下,调用对应工作项的相应客户应用程序,完成对该工作项的处理。接口3 :工作流执行服务和被调应用程序间的接口,工作流执行服务根据工作流定义中的被调应用程序信息,在工作流实例运行中调用对应的应用程序,对应用程序进行处理。调用实现方式有应用代理、本地过程调用、远程过程调用,跚i 、d c o i 、c o r b a 等。接口4 :不同工作流执行服务之间的互操作接口,它是关于工作流系统的互操作的模型定义,以及支持交互工作的相关标准,主要用于工作流管理系统间的协作。接口5 :工作流执行服务和工作流管理工具之间的接口,实现多个工作流执行服务共享一个公共的管理和监控系统,提供特定的命令来完成管理和监控功能。西南交通大学硕士研究生学位论文第13 页2 5 分布式工作流互操作模型随着工作流技术的飞速发展,各种工作流产品也纷纷涌现出来。在具体的企业应用中存在不同厂商产品的兼容问题和不同工作流管理系统的互操作问题。如何使得不同工作流产品进行协同工作,实现企业应用集成,这是分布式工作流技术研究中的一个重点“”。工作流互操作性指的是两个或多个工作流管理系统为了在它们之间传递并执行工作流程实例而进行通信和交互操作的能力。互操作主要有两种:相同类型引擎问的互操作和不同类型引擎问的互操作。互操作性通常可以由以下一些策略来实现“”: 引擎问的直接交互。 消息传递系统。 桥式( 使用封装、转化或网关机制的形式) 。使用共享数据库方式。因为有了互操作的需求,w f m c 在工作流参考模型规范文档中定义了4 种引擎交互模型,覆盖了互操作的不同能力层次。1 、链式模型:这种模型允许分属两个过程实例中的任意两点相连,这种模型支持在两种不同的工作流应用环境中传递单个任务项,然后由接收方单独执行该任务项,双方无需再同步。模型如图2 - 4 所示:工作流引擎a工作流引擎b图2 q 链式模型2 、嵌套模型:这种模型中,一个特定的工作流服务中运行的一个工作流过程实例,可以作为另一个不同的工作流服务中的子过程。形成父过程与子过西南交通大学硕士研究生学位论文第1 4 页程的等级关系,这种等级关系可以延伸到很多层,形成嵌套子过程。子过程可以实现回归,也可以不实现。模型如图2 - 5 所示。工作流引擎a工作流引擎b图2 - 5 嵌套模型3 、端到端模型:这个模型是一个完全的混和环境,在这个模型中,需要两个工作流执行服务都必须支持公共通信a p i 集,交互双方应该能够解释一个公共的过程定义模型。工作流过程实例在活动的触发下,透明地在工作流执行服务间传递。工作流的相关数据和应用程序数据,也要能在多个工作流执行服务之间进行传递。从图2 - 6 中可以看出由两个工作流执行服务共同执行了同一业务处理流程。工作流引擎a囹工作流引擎b 一图2 - 6 端到端模型4 、并行同步模型:这种模型允许两个过程实例相互独立地在各自的执行环境中运行,但是要求两个过程中存在同步点。当他们各自运行到同步点时,西南交通大学硕士研究生学位论文第15 页就会触发某个事件。这种机制可以用来实现并执行线程间的调度、恢复数据的检查或者在不同过程实例中传递工作流的相关数据等功能。模型如图2 7 所示。工作流引擎a工作流引擎b图2 - 7 并行同步模型此外,w f m c 在引擎互操作性白皮书中还定义了八个交互层次,区分标准是工作流引擎执行的结构和运行结果的特征。互操作性由低层次到高层次的八个级别分别是“:1 、没有互操作:彼此之间没有通信,没有潜在的交互;2 、共存:工作流产品间没有标准的互操作方式,只是共享运行环境( 硬件、操作系统和网络) ,由工作流管理系统和用户自己去解决工作流引擎问的互操作;3 、网关:由网关提供工作流引擎之间的相关数据映射、路由操作以及转换并传输工作流的应用数据的功能;4 、有限通用a p i 子集:工作流引擎的部分核心操作可通过标准的a p i 被访问;5 、完全通用a p i 集:工作流引擎的所有操作都可通过标准的a p i 被其他引擎访问;6 、共享定义格式:不同的工作流引擎间可以基于同一个过程定义执行实例:工作流引擎基于相同的路由方式,相同的用户访问权限,相同的系统资源维护方式等。7 、协议兼容性:允许工作流管理系统无缝地交换过程定义、工作流事务处理与恢复以及控制数据的交换:西南交通大学硕士研究生学位论文第16 页8 、相同视觉感官能力:定义工作流管理系统使用完全统一的标准化用户接口和界面。2 。6 分布式工作流的实现技术分布式工作流管理系统,多个工作流引擎,多个工作流管理系统之问需要互操作,其间会有大量的控制数据,应用数据需传送。可靠的底层通信技术,是分布工作流管理系统正常工作的前提。目前,在分布式计算领域内有许多分布式应用解决方案,各种技术都有它的优势与不足之处,下面分析一下现有的方案及其特点。l 、消息传递“”消息传递是一种在分布式应用之间进行异步通信的方式。不同的应用通过发送和接收消息实现互操作。常用的机制是使用本地队列,供应用程序放置和检索消息,由消息系统负责将放入队列的消息发送给远程机器上的队列。这种机制与协议无关,并且可以使用持久队列防止因失败而导致消息被破坏。目前已有许多消息系统的产品,其共同特征是为上层的应用隐藏了复杂的通信实现代码,并屏蔽了操作系统和网络协议的异构性。消息系统一般通过a p i 函数为应用提供各种消息服务,比较适合连接分布式应用。消息传递可以作为工作流管理系统的底层通信技术,在工作流引擎之间,工作流引擎与用户之间传递信息。2 、c o r b a 技术“”“”c o r b a 是对象管理组织( 0 m g ) 提出的分布式对象计算的规范,用于实现异构平台上的分布式应用开发以及不同应用系统问的集成。基于c o r b a 规范开发的应用之间通过对象请求代理( o b j e c tr e q u e s tb r o k e r ) 机制实现对象间的通信。分布的应用组件被封装在不同的c o r b a 对象中,通过接口定义语言( i d l )定义与外界进行交互的接口,由编译器实现到不同实现语言的映射。o r b 负责将客户对象的请求发送给服务对象,并返回相应的结果。o m g 在c o r b a 通用设施( c o m m o nf a c i l i t i e s ) 中也提供了工作流管理的规范。而且,c o r b a 的使用可以充分体现面向对象的特性,如系统的开放性、可复用性,与原有系统的无缝集成和新功能的快速开发等。这些特点说明,c o r b a 可以作为实现工作流管理系统的解决方案的一种选择。西南交通大学硕士研究生学位论文第17 页3 、d c 删技术3d c o m 为与c o r b a 共存的另外种对象模型体系,是微软的分布式组件对象模。d c o m 的前身是微软的o l e ,它也是一种以面向对象的方法解决分布、异构信息源集成问题的方案,但由于它并不是供应商独立的( 即用户需要完全依赖于微软) ,而且在非w i n d o w s 平台上具有很大局限性,所以,在企业级的应用方面明显有许多不足。4 、代理技术代理的概念最早出现在分布式入工智能( d a i ) 和多代理系统( m s ) 中,目前代理的种类日趋多样,并且在许多不同领域中都得到了应用,代理作为一种智能的资源管理器,可以简化分布式计算1 。代理系统对底层基本通信原型和其他高层次应用进行了封装,可以从较高层次上对用户的操作加以反应,屏蔽了具体的实现方法。代理之间通过协作完成过程的执行推进。使用代理实现分布式工作流管理系统,将有利于提高工作流管理系统的柔性与实用性。4 、w e bs e r v i c e 技术。”w e bs e r v i c e 是建立可互操作的分布式应用程序的新平台。w e bs e r v i c e平台是一套标准,它定义了应用程序如何在w e b 上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写w e bs e r v i c e ,只要我们可以通过w e bs e r v i c e 标准对这些服务进行查询和访问。其优秀的平台无关特性而被很多厂商采用。这项技术的出现为原来令人头痛的新旧系统的集成问题而整天忙碌的系统提供商带来了福音。当然,这项技术也被工作流管理系统的开发商所使用,用于提高工作流管理系统的集成能力。5 、j 2 e e 技术。j a v a 语言面向对象,具有平台无关性、健壮性、安全性、多线程等特点。通过字节码在j a v a 虚拟机上的运行可以实现“一次编译,到处执行”的跨平台特性。同时,在网络应用方面,j a v a 可以与w e b 紧密集成,丰富网页的交互能力。这些特征使其成为异构平台上分布式应用开发的又一种可选方案。目前已经有使用j a v a 作为开发语言的工作流产品和原型。j 2 e e 的核心是一组规范,定义了一个使用j a v a 语言开发多层分布式企业应用系统的标准平台。开发人员在遵循这些规范的基础上开发企业级的应用,同时由j 2 e e 提供商来确保不同j 2 e e 平台之间的兼容性。j 2 e e 系统可以部署在不同的应用服务器上,无需或只需修改少量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人二手车置换担保购车贷款合同
- 金融科技公司股权转让与风险控制合作协议
- 《剧院租赁合同中演出活动免责条款》
- 信息技术服务终止合同及数据安全协议书
- 体育产业劳动合同运动员职业规划与保障合同
- 退租公寓协议及装修遗留问题处理方案
- 泰康专业考试试题及答案
- 烹饪专业语文考试题及答案
- 汽车检测行业工作总结
- HR礼仪培训课件
- GB/T 1732-1993漆膜耐冲击测定法
- GB/T 1142-2004套式扩孔钻
- 二十四节气演讲稿
- GA/T 2000.7-2014公安信息代码第7部分:实有人口管理类别代码
- 2023年安徽国贸集团控股有限公司招聘笔试模拟试题及答案解析
- 初中作文指导-景物描写(课件)
- 植物灰分的测定
- 实验室资质认证评审准则最新版本课件
- 《横》书法教学课件
- 文件外发申请单
- 历史选择性必修1 国家制度与社会治理(思考点学思之窗问题探究)参考答案
评论
0/150
提交评论