




已阅读5页,还剩61页未读, 继续免费阅读
(计算机应用技术专业论文)一种基于web服务的工作流互操作的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中山大学硕十论文 一种基于w e b 服务的工作流互操作的研究与实现 论文题目: 一种基于w e b 服务的: 作流互操作的研究与实现 专业:计算机应用技术 硕士生:于会可 指导教师:李长森副教授 余m 副教授 摘要 随着工作流技术的普及,工作流管理系统在企业中得到了普遍应用。在工作 流兴起的初期。为了统一工作流管理系统的开发规范,工作流管理联盟制定了一 系列相关标准。由于当时的工作流管理系统只是在内部应用,所以没有把重点放 在工作流引擎的互操作性上,两最初的工作流管理系统在设计时也没有考虑到与 其它工作流管理系统之间的协作。如今随着企业间联系的增加,迫切要求不同工 作流管理系统能够协作来共同完成一项任务。于是工作流互操作性就成为工作流 应用研究的重点。 目前国内外也有一些研究机构和企业对工作流的互操作性进行了研究,采用 的技术主要有利用c o r b a 等组件,w e b 服务,a g e n t 代理等。虽然这些方案是可 行的,但是也有很多弊端,比如与原有的工作流管理系统难以集成:有些工作流 管理系统使用c o r b a 等作为交互的中问件,那么就要求协作方也有相同的组件, 而由于这些中间件的价格不菲等等各种原因,都限制了互操作的使用。 为了使得企业之问或同一企业内部之间工作流管理系统可以协同工作,同时 在原有的工作流管理系统基础上做少许改动就可以实现工作流的互操作,本论文 提出了一种解决工作流互操作的新方案。 该方案根据工作流互操作抽象规范对接口四的规定制定了工作流管理系统 实现互操作的基本操作,把这些基本操作发布成w e b 服务,这些服务用作其它需 要跟该工作流管理系统进行交互的外部接口。为了实现工作流互操作的基本操 作,在该方案中设计了一个工作流互操作模块专门用于处理与远程工作流引擎的 互操作。该设计方案根据目前绝大多数的工作流管理系统都支持工作流接口三即 调用应用程序接口,把互操作模块设计成一个应用程序,用作与引擎进行交互的 中间件。 互操作模块的设计不仅可以使得互操作从企业内部工作流程中分离出来专 中山大学硕士论文 一种基t - w e b 服务的工作流互操作的研究与实现 门处理互操作,同时也可以在原有工作流管理系统的基础上进行集成,不需要对 工作流管理系统内部进行改动,只需要在过程建模时提供执行互操作的应用程序 接口。 关键词:工作流管理系统,互操作,w e b 服务 i i 中山大学硕士论文 一种基于w e b 服务的: 作流互操作的研究与实现 1 n l e m a j o r n r m e s u p e r v i s o r ar e s e a r c ha n di m p l e m e n t a t i o no fw o r k f l o wi n t e r o p e r a b i l i t yb a s e do i l w e bs e r v i c e a p p l i e dc o m p u t e rt e c h n o l o g y y uh u i k e a s s o c i a t ep r o f e s s o rl ic h a n g s e na n da s s o c i a t ep r o f e s s o ry uy a n g a b s t r a c t w i t ht h er a p i d l yd e v e l o p m e n to fw o r k f i o wt e c h n o l o g y , w o r k f l o wm a n a g e m e n t s y s t e m sh a v e b e e nw i d e l ya p p l i e dt oe n t e r p r i s e s t h ei n i t i a lr i s e i nw 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 si no r d e rt od e v e l o pu n i f o r ms t a n d a r d s ,w o r k f l o w m a n a g e m e n tc o a l i t i o nd e v e l o p e das e r i e so fr e l a t e ds t a n d a r d s s i n c et h e no n l yi nt h e i n t e r n a lw o r k f l o wm a n a g e m e n ts y s t e ma p p l i c a t i o n ,t h e r ei sn of o c u so nw o r k f l o w i n t e r o p e r a b i l i t y w o r k f l o wm a n a g e m e n ts y s t e m si nt h ei n i t i a ld e s i g na l s od i dn o tt a k e i n t oa c c o u n tc o o p e r a t i n gw i t ho t h e rw o r k f l o wm a n a g e m e n ts y s t e l l i s n o ww i t ht h e i n c r e a s ei nc o n t a c t sb e t w e e nt h e u r g e n tr e q u i r e m e n t s o fd i f f e r e n tw o r k f l o w m a n a g e m e n ts y s t e m st oc o m p l e t e ac o m m o nt a s kf o rc o l l a b o r a t i o n ,w o r k f l o w i n t e r o p e r a b i l i t yh a sb e c o m et h ef o c u so fw o r k f l o wa p p l i e dr e s e a r c h t h ec u r r e n td o m e s t i ca n di n t e r n a t i o n a lr e s e a r c hi n s t i t u t e sa n de n t e r p r i s e sh a v e s o m eo ft h ew o r k f l o wi n t e r o p e r a b i l i t ys t u d i e du s i n gt h et e c h n o l o g i e sw h i c ha r e m a i n l yc o r b ac o m p o n e n t s ,w e bs e r v i c e ,a g e n t sa n ds oo n w h i l ei nt h e o r yt h e s e s c h e m e sa l ef e a s i b l e ,b u tt h e r ea l em a n yd r a w b a c k s ,s u c ha si n t e g r a t i n gw i t he x i s t i n g w o r k f l o wm a n a g e m e n ts y s t e m sd i f f i c u l t l y ,s o m ew o r k f l o wm a n a g e m e n ts y s t e m ss u c h a st h eu s eo fc o r b a , t h e nw em u s td e m a n dt h ep a r t n e r sa l s oh a v et h es a m e c o l l a b o r a t i o nc o m p o n e n t ,a sar e s u l to ft h e s ev a r i o u sf a c t o r sb e y o n d ,e t c ,l i m i t e d w o r k f l o wi n t e r o p e r a b i l i t yd e v e l o p m e n t t om a k et h ew o r k f l o wm a n a g e m e n ts y s t e m so fd i f f e r e n te n t e r p r i s e sc a nw o r k t o g e t h e rs i m u r a n e o u s l yi nt h eo r i g i n a lb a s i so ft h ew o r k f l o wm a n a g e m e n ts y s t e m sd o al i t t l e c h a n g ec a na c h i e v et h ew o r k f l o wi n t e r o p e r a b i l i t y , t h ep a p e rp r o p o s e da s o l u t i o n i i i 中山大学硕士论文种基于w e b 服务的_ :f l :- 流互操作的研究与实现 o nt h eb a s i so fw o r k f l o wi n t e r o p e r a b i l i t ya b s t r a c ts p e c i f i c a t i o n ,t h es c h e m e m a k e sas e to fb a s i co p e r m i o n sf o rw o r k f l o wi n t e r o p e r a b i l i t y , a n dt h e np u b l i s h e st h e m t ow e bs e r v i c e t h es e r v i c ei su s e df o r t h ee x t e r n a li n t e r f a c et oo t h e rw o r k f l o w m a n a g e m e n ts y s t e m sw h i c hw a n tt oi n t e r a c tw i t hi t f o rf u l f i l l i n gt h e s eo p e r a t i o n sw e h a v ed e s i g n e do na b o v e ,t h es c h e m ed e s i g n saw o r k f l o wi n t e m p e r a b i l i t ym o d u l e d e a l i n gw i t hi n t e r o p e r a b i l i t yw i t ht h e r e m o t ew o r k f l o we n g i n e b e c a u s em o s to f w o r k f l o wm a n a g e m e n t s y s t e mh a v e f u l f i l l e dw o r k f l o wi n t e r f a c e3 ,t h es c h e m e d e s i g n st h ei n t e r o p e r a b i l i t ym o d u l ea sa na p p l i c a t i o n , t h e np a s s i n gt h ew o r k f l o w r e l a t i v ed a t at ot h ei n t e r o p e r a b i l i t ym o d u l e t h ei n t e r o p e r a b i l i t ym o d u l en o to n l ym a k e st h ei n t e r o p e r a b i l i t ys e p a r a t e df r o m t h ee n t e r p r i s ei n t e r n a lw o r k _ f l o w , b u ta l s oc a ni n t e g r a t ew i t ht h ei n i t i a lw o r k f l o w m a n a g e m e n ts y s t e m se a s i l ya n dd on o tm o d i f yal o t k e y w o r d s :w o r k f l o wi n t e r o p e r a b i l i t y , w o r k f l o wm a n a g e m e n ts y s t e m , w e b s e r v i c e ,i n t e r o p e r a b i l i t ym o d u l e i v 中山大学硕士论文一种基于w e b 服务的:i :作流互操作的研究与实现 1 1 研究背景 第1 章引言 工作流管理系统1 1 峙旨运行在一个或多个工作流引擎上,用于定义、实现和管 理工作流运行的一套软件系统。工作流的主要特点是使管理过程自动化,使人及 各种应用工具相互协调工作,达到“在适当的时候把适当的信息传递给适当的人” 的目的。这正符合现代企业强调以过程为中心的管理模式,成为企业在信息集成 的基础上实现过程集成的有效途径之一。工作流是具有广泛应用价值的计算机软 件技术,它的应用大幅度提高了对企业业务流程建模、执行、管理、控制、分析、 优化的程度。当今工作流的研究工作十分活跃,也出现了多种工作流系统,并且在 企业中得到了广泛而成功的应用。然而目前工作流的应用多局限于单一企业的内 部,难以应付企业之间业务处理的协同工作。一个商业过程往往需要多个企业的 参与,特别是以i a t e r n e t 为基础的电子商务的快速发展,企业内部的工作流系 统更需要与其它企业协同运行。另外。跨企业的工作流系统为企业提供了重新定 义工作流程的机会,企业内部的工作流程只考虑本企业的需求,跨企业的工作流 要考虑所有协作企业的情况,从而在一个更大范围内优化工作流程。同时工作流 管理系统的应用背景决定了其用户分布在不同的企业,不同的地理位置,各个企 业担当不同的角色,承担不同的任务,企业之间要相互协作共同来完成一个完整 的流程。为了利用工作流管理系统支持企业之闯业务过程的协作和集成,消除企 业之间的业务过程因为信息载体或信息表示方式的不同而引起的停顿。企业之间 的工作流管理系统需要集成和互操作,互操作问题就成了工作流管理系统中研究 的重点。 本课题1 2 1 来源于分布式敏捷l i m s 系统。l i m s ( 实验室信息管理系统 l a b o r a t o r yi n f o r m a t i o nm a n a g e m e n ts y s t e m ) 是将实验室的分析仪器通过计算 机网络连接起来,采用科学的管理思想和先进的数据库技术,实现以实验室为核 心的整体环境的全方位管理。它集样品管理,资源管理,事务管理,网络管理, 中山大学硕士论文 一种基于w e b 服务的工作流互操作的研究与实现 数据管理( 采集、传输、处理、输出、发布) ,报表管理等诸多模块为一体,组成 一套完整的实验室综合管理和产品质量监控体系,既能满足外部的同常管理要 求,又保证实验室分析数据的严格管理和控制。 在l i m s 丌发实施的实践中,我们认识到,从工作性质上看,实验室的工作 大致分为两大类:化验实验,评价。化验实验是专业性的、分散的,而评价是 相对集中的。如进出口商品是多种多样的,海关不可能购置所有的专业设备、引 进各行业的专业人员,往往委托有化验能力的部门( 如国检局) 或其他独立的专 业实验室( 如高效、研究机构的化验室) 的化验,这些化验实验室的数据提交 海关后,由海关的专家确认商品分类和税率。疾控行业也存在同样的问题,尤其 是市县机构设备落后、不足,需要上级机构或研究机构的协助。不同实验室、评 价机构的不同l i m s 间的协同工作成为进一步提高工作效率的障碍。为了解决实 验室资源的分散性问题,我们提出了分布式l i m s 系统的解决方案。 1 2 国内外对工作流互操作性的研究现状 工作流参考模型把工作流的互操作性定义为“两个或多个工作流引擎交 互和协作以达到在这些引擎间协作执行工作流实例的能力。” 近几年,出现了一些工作流互操作性标准,即工作流产品问交换信息的规范。 w i lv a nd e r a a l s t 在工作流管理一模型、方法、系统1 3 】一书中把这些互操作性 规范分成两类:工作流建模和描述的规范( 即设计阶段) 以及运行时的互操作性 规范。 第一类对应工作流管理联盟参考模型的接口一,工作流管理联盟的过程定义 语言属于这一类。另一个例子是过程交换格式( p i f ) 。p i f 是一种交换格式,它 可以帮助不同的过程工具( 如过程建模器,工作流系统和过程仓库等) 之间自动 交换过程描述。通过把本地的过程描述格式转换为p i f 格式,这些工具可以实现 互操作,反之亦然。这样过程描述可以自动的交换,而不必为每一对系统提供转 换器。如果转换成p i f 或从p i f 转换回来不能够自动实现,就必须有人的介入。 p i f 格式还没有形成权威进而成为工业标准。然而它的许多思想已经被一种新的 中山大学硕十论文一种基于w e b 服务的工作流互操作的研究与实现 过程定义语言采纳:过程定义语言1 4 1 ( p s l ) 。p s l 被n i s t ( 美国国家标准技术 研究所) 提出,它有一个比工作流管理联盟定义的w p d l 更加广阔的适用范围。 还有几个更加通用的标准,它们强调不同的方面,即u m l 标准( 状态图,顺序 图,写作图和活动图) ,针对高级p e t r i 网。这些标准化的努力是相互关联的,但 是它们都没有提供设计阶段互操作问题的解决方案。如前所述,这是由于缺少概 念模型( 或形式化核心模型) 的缘故。 互操作性规范的第二类是指运行时的互操作性。这一类规范对应接口2 ,接 口3 和接口4 ,重点是接口4 。重点是支持运行时过程执行信息的交换。显然 当在不同厂商的系统之间交换执行信息的时候,接口4 极其重要。最著名的几个 运行时互操作规范是:工作流管理联盟的互操作性规范i s l ,s w a p l 6 1 ,w f x m l t 7 1 以及o m g 的j o i n t f l o w 8 1 。早在1 9 9 6 年,工作流联盟就发表了互操作性抽象规 范( w f m c t c 一1 0 1 2 ) 。紧接着,有了所谓的互操作性互联网电子邮件m i m e 绑 定规范( w f m c t c 1 0 1 8 ) ,2 0 0 0 年5 月,工作流管理联盟发布了所谓的互操作 性w f - x m l 绑定规范( w f m c 珂1 0 2 3 ) 。后者基于s ”描述了使用x m l 的 互操作性抽象规范的实现。s w a p ( 简单工作流访问协议) 是一个基于互联网的 标准,而且得到了许多工作流厂商的支持,s w a p 主要使用h t t p 协议,能够用 来控制和监控工作流过程。0 m g 的i o i n t f l o w 基于c o r b a 架构,并把工作流管 理联盟的互操作性相关标准同工作流系统的实现密切相关。在电子商务中,这些 标准更加重要。不幸的是,目前这些标准还处于技术层面上,没有真正在业务层 面上解决问题。比如虽然能够用w f - x m l 连接不同厂商的系统,但是这并不意 味着过程能够按照预期执行。 下面是一些组织对工作流接口4 进行的研究的简单介绍: ( 1 ) 工作流管理联盟【9 】 接口4 负责处理不同工作流管理系统之间的互操作。这个接口定义由a p i 调用的抽象规范组成,可以用来实例化一个远程工作流管理系统的工作流,改变 工作流实例的执行状态或查询一个工作流实例的数据处理情况。抽象规范的接口 四与具体的消息规范s c h e m a 绑定。同时在其制定的抽象规范中还规定了互操作 的八个级别和四种互操作模式。 ( 2 ) o m g 工作流机制【1 0 l 中山人学硕十论文种基于w e b 服务的工作流互操作的研究与实现 o m g 是一个非盈利的组织,它处理面向对象软件丌发和设计概念的标准化。 它目前有8 0 0 多个成员,它成立于1 9 8 9 年,o m g 的主要工作是设计o m a 来规 定一种方式,面向对象的组件可以在异构的环境中交互,用c o r b a 来进行消息 传递和服务触发。作为c o r b a 框架的一部分,o m g 有一个标准的措施即通过 o r b 提供工作流服务。o m g 工作流组织还描述了一系列的工作流执行对象和相 应的接口用来在商业对象环境中与工作流交互。工作流工具标准已经被o m g 官 方发布过,但是相关的一些组件仍然在期待标准化。 ( 3 ) 简单上作流访f o j 协议【6 】( s i m p l ew o f k f l o wa c c e s sp r o t o c 0 1 ) s w a p 创建于1 9 9 8 年,它是由n e t s , c a p e ,o r a c l e ,s u n 等为首建立的工业 标准。s w a p 通过i n t e r n e t 来控制异步w e b 服务。工作流实例被看作是一个延续 了很长的具体的工作流步骤,有一个设定好的开始和结束,s w a p 可以通过一个 本地的控制实例来控制远程的工作流实例。s w a p 规范用h t t p 协议作为传输协 议,采用x m l 语言为控制消息的交换格式。发起的工业联盟已经向i e t f 提交 了s w a p 规范,但是s w a p 的标准化进程还有一段很长的路要走。然而工作流 交互以x m l 作为标准的趋势同益增长,工作流管理联盟已经采用了s w a p 的基 本思想是把其和x m l 绑定用于w f l v i c 接口4 的规范中。最终的结果就是 w f x m l 标准。 ( 4 ) w f - x m l 7 1 w f - x m l 是工作流交互的新的标准,w f m c 工作流组织正在逐步完善它。 它结合了s w a p 的基本思想,即是基于x m l 消息交换的工作流管理系统互操作, 它是w f m c 接口4 的推荐标准。主要的工作流供应商都大力支持这个标准,2 0 0 0 年已经发布了第一个版本。w f - x m l 定义了一系列的请求和回应消息用于在观察 者和工作流管理系统之间控制远程工作流实佣的执行情况,这些消息应该包括: 创建流程实例并且实例化一个新的远程工作流管理系统的工作流实例: 改变流程实例状态操控一个远程系统的工作流实例; 获得流程实例数据要求远程工作流实例返回当前的状态; 流程实例状态改变发信号通知请求方( 工作流流程的观察者) 远程流程 已经完成并且把结果传给请求方。 中山大学硕士论文 一种基于w e b 服务的工作流互操作的研究与实现 1 3 论文研究的意义和目标 本论文的项目背景是分布式敏捷l i m s 系统,不同实验室、评价机构的不同 l i m s 间的协同工作成为进一步提高工作效率的障碍。为了解决实验室资源的分 散性问题,即解决工作流引擎与其它工作流引擎之间的协同工作问题,就提出了 本论文的研究对象即工作流互操作性。 虽说已有很多的组织和机构都对工作流互操作性进行了比较深入的研究,在 第二节中已有简单介绍,但是在解决敏捷l i m s 系统的分布式问题时发现工作流 的互操作性还存在很大不足,主要表现在以下几个方面: ( 1 ) 工作流互操作缺乏相应的标准,虽然w f m c 定义了工作流互操作的一些标准 和协议,例如工作流互操作规范,a s a p 协议,w f - x m l 协议等,但是由于这 些标准本身还不是很完善,没有办法处理企业复杂流程的应用,所以其使用 受到了一定的限制: ( 2 ) 工作流互操作涉及到分布式技术的使用,而不同企业根据自己的需要使用的 分布式技术又不尽相同,有些企业使用c o r b a 作为标准,有些使用a g e n t 代 理,有些使用w e b 服务,这些标准的使用造成了不同工作流管理系统之间由 于底层通信标准的不同难以集成,为企业之间不同工作流系统之间的协同工 作带来了困难; ( 3 ) 很多企业在开发自己的工作流管理系统时没有考虑到以后与其它工作流管 理系统的协作,而重新开发又会消耗掉相当的人力和物力,使得很多传统的 工作流管理系统成了“鸡肋”。 结合目前工作流互操作存在的不足以及本论文的项目研究背景即分布式敏 捷l i m s 系统的需求,制定出了本论文的研究目标: 对工作流的互操作现状进行分析,提出了实现工作流互操作的解决方 案: 根据解决方案实现工作流抽象规范中规定的工作流互操作的第4 个级 别; 根据解决方案实现工作流抽象规范中规定的工作流的四种互操作实现 模式。 中山大学硕十论文 一种基于w e b 服务的t 作流互操作的研究与实现 1 4 内容章节安排 第2 章主要介绍了工作流互操作性的相关技术和理论,如工作流互操作的模 式,工作流互操作的级别,工作流互操作的实现方式,国内外工作流互操作方面 的研究等内容。 第3 章提出了一种实现工作流互操作的方案,并给出了方案的概要设计以及 说明。 第4 章给出了详细的发计方案。 第5 章总结全文并讨论进一步的工作。 中山大学硕士论文 一种基于w e b 服务的:i 。:作流互操作的研究与实现 第2 章工作流互操作性相关技术及理论 本章节分为以下几个部分进行介绍,第一部分首先介绍工作流参考模型及一 些相关概念,这些概念有利于对本文进行更为深刻的理解;第二部分介绍工作流 互操作的三种模式;第三部分介绍工作流互操作的四种实现模式;第四部分介绍 工作流互操作的八个级别:第五部分介绍了工作流互操作性的实现技术;第六部 分对工作流的互操作现状进行了分析;第七部分对开源工作流引擎s h a r k 进行了 简单的介绍,由于本设计方案是在分析该工作流引擎的基础上提出的。 2 1 工作流管理系统参考模型及相关概念 2 1 1 工作流管理系统相关概念 在对工作流参考模型介绍之前首先要介绍一些关于工作流的基本概念,这些 概念都是工作流参考模型中的定义。 ( 1 ) 工作流:工作流是一类能够完全或者部分自动执行的经营过程,根据一 系列过程规则。文档,信息或任务能够在不同的执行者之间进行传递,执行。 ( 2 1 工作流引擎:一个软件服务或引擎为工作流实例提供运行期执行环境。 在特定情况下,几个工作流引擎彼此协作。每一个引擎负责过程的一部分。工作 流引擎的职责包括: 创建新的案例; 采用相关过程定义的解释,路由案例; 管理案例属性; 将工作项提交给合适的资源,它们是基于资源分类的 管理和处理触发; 在活动执行中启动应用软件; 中山大学硕士论文一种基于w e b 服务的:i 作流互操作的研究与实现 记录历史数据; 提供工作流的统计信息: 监控工作流的一致性。 工作流引擎可以说是工作流系统的“核心”,如果没有它,系统将无法正常 运转。 ( 3 ) 工作流过程实例:一个工作流过程实例的定义包括一个工作流管理系统 自动创建和管理的过程实例方面。 ( 4 ) 工作流管理系统:工作流;b l i 亓j 时是这样的一个系统,详细定义,管理并 执行“工作流”,系统通过运行一些软件来执行工作流,这些软件的执行顺序由 工作流逻辑的计算机表示形式( 计算机化的业务规则过程定义) 驱动。 一个工作流管理系统出一个或多个工作流执行服务组成。 f 5 1 工作流执行服务:工作流执行服务是工作流管理系统的心脏。该组件用 于创建新的案例,基于过程定义生成工作项,匹配资源和工作项,支持活动的执 行以及记录工作流的特定方面。执行服务由一个或多个工作流引擎组成。在一个 含有多个工作流引擎的执行服务中,工作被分布到多个引擎上。 2 。1 2 工作流管理系统参考模型 := 作流管理联盟为了统一工作流市场,使得各个企业之间的工作流产品遵照 统一的规范,也为了以后工作流产品之问能够更好的协作,就定义了一系列的标 准,目前绝大多数的工作流产品都遵照了这个标准,它就是:i 作流参考模型,如 图2 1 所示【l 】: 中山大学硕士论文一种基于w e b 服务的工作流互操作的研究与实现 图2 - 1 工作流参考模型 工作流管理系统参考模型主要由两部分组成:工作流功能部件和接口。工作 流功能部件完成过程的自动化或半自动化,接口则完成功能部件之间以及工作流 引擎之间交互的功能。 从模型中可以看出,工作流联盟规定了工作流管理系统的5 个接口,接口l 是过程定义,它提供了创建和修改工作流定义的工具( 过程定义工具) 与工作流 执行服务之间的关系。这个w a p i 包含如下功能:打开和关闭一个连接( 连接 断丌) ,获取工作流定义( 过程定义和资源分类) 以及打开,创建和保存一个过 程定义;接口2 是工作流客户端应用程序,它用于工作流列表处理器和执行服务 之问的交互。其w a p l 支持下述各项功能:打开和关闭一个连接,生成案例和工 作项状态的摘要信息,新案例的生成以及活动的开始,中断和完成:接口3 是应 用程序调用接口,该接口为工作流管理系统提供可以被工作流引擎调用的应用程 序:工作流接口5 是管理和监控工具接口,该接口用于管理和监控工具与工作流 执行服务之间的链接。接口4 为工作流互操作接口,通过该接口可以同其它工作 流引擎之间协同工作。本论文的研究对象是工作流互操作即工作流接口4 。 下面是工作流管理联盟规定的工作流接口4 ,如图卜2 所示【9 】: 9 中山大学硕士论文一种基于w e b 服务的工作流互操作的研究与实现 , 1 一 , 、u 1 r k n i n - 、p i ;| l l i lin 1 2 r 旧i 、g l ! l i f r i l _ _ i l t i、l k 1 1 u ,m i | n f l f c n g oh 1 1 1 1 1 _ , r 日口g z ;目g # 翻拦臻蛹 、c 豳暖溺i n # ;:1 c l ,ll l l l l i 圈 e 叫 1 c 翳疆蘩圈 崆题盟墅鲢整强翌替一 睦澎篷翌盛塑翟醚驴幽 j , 、 s jn “i 、o h i tc o c n j 1 m i “1 p l ( ,c c i ,d i l l i l i t i l il ci t i 、v l i k 闰2 - 2 :l :作流互操作接口 图2 - 2 阐述了工作流接口4 的功能,它定义了工作流互操作的a p 集和交换 格式。a p 集和交换格式必须遵照统一的标准,这样不同的工作流机爿能够理解 彼此的要求。工作流互操作标准的内容包括:活动或子流程的调用;过程或活动 的状态以及控制;应用程序或工作流相关数据的转移;相似点的协同;过程定义 的读或写。 2 2 工作流互操作的模式 根据1 二作流参考模型1 1 i ,工作流互操作有3 种模式: ( 1 ) 相同工作流执行服务中不同工作流引擎之间的互操作 l f l ) ,k m n e n , , z f f a l 渤k i 7 ,m e i i d i i l b 图2 - 3 相同。l :作流执行服务中不同作流引擎之间的互操作 同一个工作流执行服务由一个或多个工作流引擎组成,此种模式描述了分稚 在同一个工作流执行服务中不同工作流引擎之间的互操作。 氯惑 中山大学硕士论文一种基于w e b 服务的工作流互操作的研究与实现 作。 ( 2 ) 同一个工作流管理系统不同工作流执行服务的工作流引肇之间的互操 w o r k f l o w e n g i n e s w o r k l o we n a c s e r v i c e1 七 w o r k f l o w e n g i n e s w o r k fl o we n a c t m e n s e r v i c e2 m o r k f l o wm a n a g e m e n ts y s t e m 图2 - 4 同一个工作流管理系统不同: 作流执行服务的工作流引擎之间的互操作 工作流管理系统由一个或多个工作流执行服务组成,此种模式描述了同一个 工作流管理系统不同工作流执行服务中工作流引擎之间的互操作。 ( 3 ) 不同工作流管理系统的工作流引擎之间的互操作。 w o r k f l o w e n c i n ea w o r k fl o w e n g i n eb w o r k f l o we n a c t n l l e n ts e t r i c e 幽2 5 不同一l 作流管理系统的: 作流引擎之间的互操作 此模式描述了不同工作流管理系统中工作流引擎之间的互操作。 2 3 工作流管理系统互操作模式 工作流互操作抽象规范中1 5 i 规定了互操作的四种模式,这四种模式和其模式 的组合基本上可以描述各种复杂的工作流互操作。下面简要介绍一下这四种互操 作模式,以下四种模式都假设有两个工作流引擎a ,b : ( 1 ) 链式设计模式 该模式允许工作流引擎a 中的工作流过程实例在过程的一个节点触发工作 1 1 中山大学硕士论文一种基于w e b 服务的工作流互操作的研究与实现 流引擎b 中的工作流实例从而实现工作流引擎a , b 之间的互操作。其交互过程 如图2 - 6 所示: 口( h 7 口一 ( _ - + 1w o 椰自1 9 m 。 ; 7 芒 啼1 图2 - 6 链式设计模式 ( 2 ) 嵌套同步设计模式 该模式允许在工作流环境中一个过程被封装成一个独立的任务,该任务在工 作流引擎b 中完成,完成后把结果交给工作流引擎a 。其交互过程如图2 7 所示 、口呼民p d 巴:。气 7 白 硅 1 幽2 7 嵌套设计模式 ( 3 ) 事件同步子过程设计模式 该模式允许一个工作流引擎a 在某个过程节点要求创建工作流引擎b 的过 程实例,随后在预定的集合点查询在工作流引擎b 中执行的过程实例的状态。 此种模式的交互如图2 - 8 所示: 中山大学硕士论文一种基于w e b 服务的工作流互操作的研究与实现 l 口甲口甲号口w o $ 1 。t se n g i n e ij lii j 白 卜 白1 。 w o 棚w e n g i n e 巳 图2 - 8 事件同步敬计摸式 ( 4 ) 网状轮询子过程设计模式 该模式允许在工作流引擎运行过程中,针对其它工作流引擎( 或者自己) 发 生的事件,创建新的工作流过程实例。交互方式如图2 - 9 所示 i i l; 7 亡 卜亡卜 卜 卜+ 1 卜 卜 卜 卜- + 2 - 9 网状轮询子过程模式 对以上工作流互操作的四种实现模式进行分析,得出其相同点是:在两个或 者多个工作流引擎中,均有不同的工作流过程实例运行或者创建。不同点是;在 链式设计模式中,工作流引擎b 中执行的工作流运行实例结束后,既不需要返 回信息到工作流引擎a ,同时工作流引擎a 也不需要同步操作,在工作流引擎a 对工作流引擎b 发送请求之后继续执行流程余下的工作;而对其它三种设计模 式,工作流引擎a 或要求工作流引擎b 返回信息,或必须进行运行同步:嵌套 设计模式要求工作流引擎a 必须等待工作流引擎b 相应过程实例运行完成并返 回结果后,刁。能继续执行;网状轮询设计模式是在工作流引擎a ,b 不同的同步 点进行轮询来保证同步,而事件同步设计模式是根据工作流引擎b 过程实例产 中山大学硕士论文 一种基于w e b 服务的t 作流互操作的研究与实现 生的事件来保证同步。根据上面对四种模式的对比分析,可以把工作流互操作分 为两种模式,一种是同步模式,一种是异步模式。 前两种设计模式是工作流过程级别的互操作,两者都是由工作流引擎a 中 的工作流过程实例去调用工作流引擎b 中的过程实例,第一种工作流引擎a 过 程实例不需要工作流引擎b 过程的执行结果仅仅去触发它,触发后工作流引擎a 继续执行下面的活动:第二种工作流引擎a 过程实例需要等待工作流引擎b 过 程实例执行结果的返回,否则一直挂起等待。后两者是工作流活动级别的互操作, 在上作流执行的过程中,在巧i 工作流引擎之删执行的工作流过程的活动需要相 互协作柬完成一项任务。表2 1 比较分析了四种互操作模式的异同: 表2 1 四种互操作模式的比较分析 | i 、 k 囊桔c 警点 级别 模式 链式模式过程 嵌套模式 过程 熙亍j 活动 过程模式 ” 事件里步模i 活动 式i “ 步异步 篙磊羹 异步 同步 父子 父子 同步并行 一+ j _ 一| 同步并行 2 4 工作流互操作的八个级别 i :作流管理联盟定义了工作流互操作性的八个级别吼这些级别是根据工作 流实现级别和操作特点区别的。下面按照级别从低到高的顺序进行介绍: ( 1 ) 无互操作性 属于这个级别的工作流系统,没有提供其它工作流系统通信的手段,因而不 1 4 中山大学硕士论文一种基于w e b 服务的工作流互操作的研究与实现 具有互操作的能力。 ( 2 ) 共存 属于这个级别的工作流系统,不具备和其它工作流系统互操作的功能,但可 以和其它工作流系统运行在同一个运行环境中。属于这个级别的工作流系统,其 目的不是提供系统之间的互操作,丽是为了增加可运行在同一平台上的工作流系 统的数量,使一个完整的工作流划分为几个部分,在不同的工作流系统中完成, 相应地也扩大了用户选择适合自己的工作流系统的范围。在这种级别下,工作流 系统之间的接口由人工提供。 ( 3 ) 网关 工作流网关是允许在不同工作流系统之间传递实体( 过程,活动或者是工作 项等) 的一种体制。在需要数据格式转换时,工作流网关也提供工作流系统之间 的数据映射功能,实现工作流系统之间的通信。在存在多个工作流实例的环境中。 网关还具有“数据路由”的功能。具体实现时,工作流网关可以是工作流系统的 一部分,也可以是单独的应用程序。w f m c 定义了两种工作流网关:单独网关和 公共网关a p i 。 ( 4 ) 有限公共a p i 集 有限公共a p i 子集是工作流系统共同定义的一组核心a p i 。工作流系统通过 这组核心a p i 进行交互。这种级别的互操作不仅要定义一组公共a p i ,还必须定 义工作流系统之间数据交换的标准格式。对应用来说,a p i 可以是标准的接口, 也可以是数据封装的形式。标准的数据交换格式则一般通过定义“过渡数据交换 格式”的形式实现。 ( 5 ) 完整工作流a p i 完整工作流a p i 是定义工作流系统所有操作的a ll 规范,工作流系统之间 的交互通过a p i 来进行。与有限公共a p i 接口相比,完整工作流a p i 级别的互 操作包含的工作流互操作范围要广泛的多,而且这些a p i 是在更高层次上抽象 出来的。当然,完整工作流a p i 的实现与有限公共a p i 一样,并可以认为它是 有限公共a p l 的扩展。 ( 6 ) 共享定义格式 共享定义格式是工作流系统之间的所有过程定义( 包括过程属性,信息路由 中山大学硕士论文 一种基w e b 服务的一r 作流互操作的研究与实现 描述,访问权限等) 采用统一的标准。如w t m c 指定的工作流过程定义语言就 是这种级别的互操作。通过这种方式,过程定义在不同工作流系统之恻共享,满 足系统互操作性的要求。在实现形式上,这种级别必须支持导入和导出两个接口。 ( 7 ) 协议兼容 协议兼容是指对工作流系统客户端和服务器之间的通信( 包括过程定义的传 递,工作流的事务处理和错误恢复等) 都进行标准化。为了达到这个级别的互操 作,工作流系统必须提供多种通信机制,因此实现难度较大。 ( 8 ) 等同式 等同式是指工作流系统所有用户接口都完全相同( 或至少感觉上相同) 。由 于商业和实际的原因,这种级别的互操作很难实现。 上述,、个级剐的互操作性逐级提高,工作流系统实现难度也是依次不断增 加。为了满足不同的需求,工作流系统实现时可以选择不同的互操作级别。 2 5 工作流互操作的实现技术 从实现方式上来看,工作流互操作有直接通信,信息传递,桥和共享数摒存 储四种实现方式。这四种方式各有特点,使用范围也不尽相同。下面刘这四种实 现方式进行一下简单介绍: 2 5 1 对几种工作流实现技术的描述 ( 1 ) 工作流引擎直接通信 这种方式的工作流互操作实现形式实质上是在工作流引擎之问定义一组标 准的工作流应用程序编程接口和交换方式( w 廿i ) 。通过工作流a p l 和数据交换 格式,工作流引擎可以直接通信,从而实现一作流互操作性。如图2 1 0 所示: 中山大学硕士论文一种基于w e b 服务的:c 作流互操作的研究与实现 工作流引擎a工作流引擎b 图2 - 1 0 工作流引擎之间的直接交互 ( 2 ) 消息传递 消息传递是工作流产品之f i i j 通过一定的交互协议,它们之问相互传递彼此需 要的数据。如图2 - 1 1 所示: 图2 - 1 1 工作流引擎之间通过传递消息进行交互 ( 3 ) 桥 采用“桥”来实现工作流的互操作,实质就是由工作流网关来传递数据并对 数据进行映射,即达到互操作第三级别的互操作性要求。如图2 1 2 所示: 厂一 一一卜一 i 工作流引擎a 【 协议 网关l 协议 i 工作流引擎b _ 一一 _ 一 图2 - 1 2 工作流引擎之间通过网关来进行交互 ( 4 ) 通过共享数据库 工作流引擎之间通过共享数据库来进行交互。这种方法可以被看作是面向存 储的另夕 一种机制。如图2 - 1 3 所示: 1 7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (正式版)DB65∕T 4272-2019 《伊犁马(乳用型)种马》
- (正式版)DB65∕T 4196-2019 《沙拐枣育苗技术规程》
- 那颗“星”引领我前行(说课稿)2025-2026学年初三下学期教育主题班会
- 2025年高考文科数学真题及答案
- 社区村干部笔试题及答案
- 记者身体测试题及答案
- 2024年六年级品社下册《资源亮出黄牌》说课稿 未来版
- 2024年上海市第六人民医院招聘笔试真题
- 三、用“铅笔”工具写写画画说课稿小学信息技术粤教版三年级上册-粤教版
- 2025江苏徐州市维维股份招聘100人笔试参考题库附带答案详解
- 中国工商银行2026年度校园招聘考试参考题库及答案解析
- 2025年气象系统公务员录用考试面试真题模拟试卷(结构化小组)
- 风力发电项目审批流程及要点梳理
- 医院污水站维护方案(3篇)
- 视频监控考核管理办法
- StarterUnit3Wele!SectionB1a1e(教学设计)人教版七年级英语上册
- 快递安全收寄培训课件
- 抖音公会入股合同协议书
- 代加工协议合同范本
- 安全注射标准WST856-2025学习解读课件
- 风力发电机组基础工程施工方案
评论
0/150
提交评论