(计算机应用技术专业论文)基于bpel的工作流互操作研究.pdf_第1页
(计算机应用技术专业论文)基于bpel的工作流互操作研究.pdf_第2页
(计算机应用技术专业论文)基于bpel的工作流互操作研究.pdf_第3页
(计算机应用技术专业论文)基于bpel的工作流互操作研究.pdf_第4页
(计算机应用技术专业论文)基于bpel的工作流互操作研究.pdf_第5页
已阅读5页,还剩85页未读 继续免费阅读

(计算机应用技术专业论文)基于bpel的工作流互操作研究.pdf.pdf 免费下载

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

文档简介

中山大学硕士学位论文基rb p e l 的工作流瓦操作研究 摘要 随着计算机与网络技术的发展,特别是在i n t e r n e t 应用日益普及的情况下, 现代企业的信息系统的分布性、异构性的特征越来越显著,集中式工作流即将成 为过去,工作流的互操作成为一种发展趋势。近年来,各种工作流管理系统产品 相继问世。如何保证各种工作流管理系统之间的互操作性、更好地实现企、眦之问 的过程集成,逐渐成为工作流领域研究的热点。 本文分析目前国内外工作流技术的研究现状,发现比较少的工作流产品能完 全实现互操作。即使某些工作流产品能实现互操作,其功能也是比较有限的,如 工作流的互操作只是局限于企业内部,食业之间还难以实现互操作,根本原因在 于工作流互操作的实现方案没有采用比较成熟的技术标准。 针对上述存在的不足,本文提出了一种基于x m l ,w 曲s e r v i c e b p e l 规范 的工作流互操作实现方案。该方案分别从逻辑资源模型、逻辑交互模型、分布式 计算的实现方法、交互消息的描述和互操作协议等方面进行详细地分析。根据 w f m c 参考模型定义的四种协同工作模型,本方案对这四种协同工作模型进行分 析并用b p e l 描述这四种模型,论述了b p e l 对工作流互操作的支持。最后,对 分布式敏捷l i m s 系统的互操作进行了初步的探讨。 关键词:工作流引擎,互操作,w 曲s e r v i c e ,b p e l 中山大学硕士学位论文 基于b p e l 的工作流互操作研究 t j i l e :r e s e a r c h w o r k n o wr n p e r a b m t yb a s e do nb p e l m a j o r :c o m p u t e ra p p l i c a t i o nt e c h n 0 1 0 9 y n a m e :w ul i “a j l s u p e r “s o r :l ic h a n g s e n ( a s s o c i a t ep r o f e s s o r ) ,y uy a n g ( a s s o c i a t ep m f e s s o r ) a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ec o m p u t e ra n dn e t w o r kt e c h n o l o g y ,e s p e c i a l l yu n d e r t h ec o n d i t i o nt h a ti ti sp o p u l a r i z e dd a yb yd a ym a ti n t e m e tu s e s ,t h ec h a m c t e r i s t i co f d i s t r i b u t e da 工i dh e t e r o g e n e o u so ft h ei n f o r m a t i o ns y s t e m so fm o d e me n t e l p r i s e sa r e m o r ea n dm o r er e m a r k a b l e c e n t r a l i z e dw o r k f l o wm a n a g e m e n tw i l lb e c o m eh i s t o r y s o o na n d i n t e r o p e r a b i l i t y i st h et r e n d r e c e n t l y , v a r i o u sk i n d so fw o r k n o w m a n a g e m e n ts y s t e m( w f m s )p m d u c t s c o m eo u to n ea f t e ra n o t h e lt h e i n t e r o p e r a b i l i t yb e t w e e nw f m s a n di n t e g r a t i o no fp r o c e s si n f o 皿a t i o nb e c o m e sm o r e a n dm o r ea c t i v ei nt h er e s e a r c hf i e l do fw o r k n o w 1 1 1 i st h e s i sa n a l y z e sm ed o m e s t i ca n di n t e m a t i o n a lr c s e a r c hs i t u a t i o no ft h e w o r k n o wt e c h n o l o g y w bf o u n dt h a tf e wp r o d u c t sc a np r o v i d eg o o di n t e r o p e r a b i l i t y b e t w e e nw o r k f l o w e n g i n e s a l t h o u g h s o m ew o r k n o w p r o d u c t sp r o v i d e i n t e r o p e r a b i l i t y i ti sv e r yl i m i t e d f o re x a m p l e ,m ei n t e r o p e r a b i l i t yo n l yc o n f i n et o e n t e r p r i s e sa n dt h ei n p e r a b m t ya c r o s se n t e r p r i s eb o u n d a r i e si sv e r yd i m c u l t t h e r e a nl i e si nt h a tt h e i rs o l u “o n sa r en o tr i p es t a n d a r d i nv i e wo ft 1 1 ew e a k n e s sd e s c r i b e da b o v e ,t h i st h e s i sp r o p o s e sa ni m p l e r n e n t a l s 0 1 u t i o nb a s e do nx m l ,w e bs e r v i c ea n db p e ls t a n d a r d ,w h i c hi n c l u d e sl o g i c a l r e s o u r c em o d e l ,l o g i c a li n t e r a c t i o nm o d e l ,t h er e a l i z a t i o no fd i s t r i b u t e dc o m p u t i n g , d e s c r i p t i o no fe x c h a i l g e dm e s s a g ea n di n t e r a c t i o np m t o c 0 1 a c c o r d i n gt o t h e w b r k n o wr e f e r e n c em o d e io fw f m c ,t h e r ea r ef o u rp o s s i b l ei n t e r o p e r a b i l i t ym o d e l s j no r d e rt os h o wt h a tb p e ls u p p o nt t l ei n t e m p e r a b i l i t yb e t w e e nw o r k n o we n g i n e s , t h i sm e s i sa n a l y z e st h ef o u ri n t e r o p e r a b i l i t ym o d e l sa i i du s eb p e lt od e s c r i b et h e m o d e l s i nt h el a s tp a no ft h i s 山e s i s ,w ed i s c u s st h ei n t e r o p e r a b i i i t yo fd i s t r i b u t e d a n d a g i l el a b o m t o r yi n f o n i l a t i o nm a n a g e m e n ts y s t e m ( d a l i m s ) k e y r o r d s :w o r 如o we n g i n e ,i n t e r o p e r a b i l i t y ,w e bs e n r i c e ,b p e l t t 中山大学硕士学位论文 基于b p e l 的工作流互操作研究 1 1 研究背景 第1 章引言 中国加入w t o 后,实验室的认证越来越重要,尤其是担任出口产品检验的 实验室的国际标准化认证已成为当务之急。没有一大批通过认证的实验室,将极 大地影响进出口贸易、商品流通、公众健康、质量监督等领域。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 ) 是将实验室的分析仪 器通过计算机网络连接起来,采用科学的管理思想和先进的数据库技术,实现以 实验室为核心的整体环境的全方位管理。它集样品管理,资源管理,事务管理, 网络管理,数据管理( 采集、传输、处理、输出、发布) ,报表管理等渚多模块为 一体,组成一套完整的实验室综合管理和产品质量监控体系,既能满足外部的日 常管理要求,又保证实验室分析数据的严格管理和控制。 在l i m s 开发实施的实践中,我们认识到要解决实验室资源分散性问题。从 工作性质上看,实验室的工作大致分为两大类:化验,实验,评价。化验,实验是 专业性的、分散的,而评价是相对集中的。如进山口商品是多种多样的,海关不 可能购置所有的专业设备、引进各行业的专业人员。所以,往往委托有化验能力 的部门( 如国检局) 或其他独立的专业实验室( 如高校、研究机构的化验室) 进 行化验,这些化验,实验的数据提交海关后,由海关的专家确认商品分类和税率。 疾病控制行业也存在同样的问题,尤其是市县机构设备落后、不足,需要上级机 构或研究机构的协助。不同实验室、评价机构的不同l 玎订s 系统之间的协同工作 成为进一步提高工作效率的障碍。 现实世界中的业务过程是不断变化的,例如为了提高效率而进行的业务过程 改进或重组,或者为了更迅速地响应市场变化,都会导致业务过程的改变,尤其 是在企业如今所处的环境下,过程变化的速度越来越快,周期越来越短。业务过 程的生命周期如图1 1 所示【2 】: 叶 山大学硕士学位论文基于b p e l 的工作流互操作研究 图1 一l 业务过程的生命周期视图 实现这种业务过程重组的最佳方法是工作流。因为工作流技术提供了业务过 程逻辑与i t 操作支持的分离,从而以后可以修改过程规则来重新定义业务过程。 除了持续的业务过程的变化之外,对业务过程的另一个需求是分解,也就是 将一个业务过程分解为若干个过程片段,这些过程片段能够以多种方式协作。一 方面是因为企业在地域上的日益分散,另一个方面是因为i n t e m e t 使得广泛合作 的电子商务大量增加【2 l 。工作流的互操作成为一种必然的趋势。 1 2 工作流技术及互操作介绍 工作流技术是进入9 0 年代以后计算机应用领域的一个新的研究热点。在工作 流领域第一个致力于标准化工作的是w o r 】( f l o wm a l l a g e m e n tc o a l i t i o n ( w f m c ) , 即国际工作流管理联盟。w f m c 于1 9 9 3 年成立,发布了一系列的工作流定义、软 件接口的草案文本,是目前世界上公认的最具权威性的工作流标准制定机构。根 据w f m c 的定义,“工作流”是指全部或者部分由计算机支持或自动处理的业务 过程1 3 1 。它将应用逻辑和过程逻辑相分离,从而可以不修改具体功能而只修改过程 模型来改变系统功能,实现对生产经营部分或全部过程的集成管理,有效地、合理 地把人、信息和应用组织在一起,提高软件重用率。 “工作流管理系统”是指详细定义、管理并通过一些软件来执行w o r k n o w s , 这些软件的执行顺序由工作流逻辑的计算机表示形式( 过程定义) 驱动的系统川。 工作流管理系统是实现业务过程自动化技术的软件系统,它完成工作流的定义和 管理,并按照预先定义的工作流逻辑推进工作流实例的执行。工作流管理系统提 巾i i i 大学硕七学位论文 基于b p e l 的工作流可= 操作研究 供i 个主要功能:构造功能、运行控制功能和运行交互功能嘲。 g t 盯kw o r k m w 舢d 嘣籼m 帆 图1 2 工作流管系统的体系结构 工作流的建立时期主要负责产生业务过程的计算机化定义。在这个阶段,通 过使用一个或多个分析、建模和系统定义工具,把实际中的业务过程转变成形式 的、计算机可以处理的定义。定义的结果称为“过程定义”( p r o c e s sd e f i n i t i o n ) 。 在运行时期,过程定义由负责创建、控制过程实例的软件所解释,这个软件 负责安排过程中各个活动的执行时间,调用适当的人员、i t 应用程序资源等。 这些运行时期的控制功能,就像过程定义中描述的过程与现实所见到的实际过程 间的联接,反映在运行时期的用户与i t 应用程序间的交互。核心组件是基本工 作流管理控制软件( 即工作流引擎) ,负责过程的创建与删除,控制运行过程中 活动的执行时间安排,以及与人、应用工具资源进行交互。 典型的工作流过程中的活动与人类的操作有关,在活动间转移控制、确定过 三 篡一 一口圜 百 中山大学硕士学位论文 基于b p e l 的工作流耳操作研究 程的运行状态、调用应用工具、传递适当的数据等,都必须与过程控制软件进行 交互。运行交互功能是在工作流运行中,需要人工参与的与客户或者外部应用程 序进行交互的功能。 在j 二作流管理系统中,既涉及到许多数据的交换,也涉及到应用程序之间的 交互( 包括功能部件之问的交互) 。为满足实现企业经营过程重组的需要及考虑操 作的灵活性和工作流产品最终用户方便集成的要求,很有必要对工作流管理系统 进行标准化。国际工作流管理联盟( 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 ) 定义 了工作流的参考模型,如图1 3 所示【3 】。 w f k 阻mr e i 甜t h 雌m i 柚一t i m p n n f “l n i 坩垂c r - 图1 3w f m c 的工作流参考模型 工作流参考模型实际上由两个部分组成:1 ) 工作流功能组件:2 ) 接口。下 作流功能组件完成过程的自动化或半自动化,接口则完成功能组件之间以及工作 流引擎之间交互的功能 4 l 。其中,互操作接口即参考模犁中的接口4 ,主要用于 工作流系统间的协作。由于实现的复杂性和难度,目前市场上的产品大多都没有 实现。本文的研究基于接口4 ,即工作流引擎之间的互操作。 工作流执行服务器使用一个或多个工作流引擎,为过程实例和活动提供运行 环境,负责解释和激活过程定义,与过程所需的外部资源进行交互【3 】。 d 巾山大学硕士学位论文基于b p e l 的工作流互操作研究 工作流引擎( w b r k f l o we n g i n e ) 是为r 作流实例提供运行时期的执行环境 的软件服务器或引擎【3 i ,是工作流管理系统的核心。本文选用的工作流引擎是 s h a r k 引擎。s h a r k 是完全根据w f m c 规范实施的,可扩展功能的工作流引擎, 它利用x p d l 来定义流程,同时还包括服务器端的用于活动节点执行的w f m c 工具代理a p i 。s h a r k 中的每个组件例如持久层,事物管理器,脚本引擎,流程 库,都是可以按照标准实施运用的,而且还可以被具体项目的模块扩展和替换。 s h a r k 和x p d l 定义工具的j a w e 同出名门,市场前景被很多人看好吼在分布 式的工作流执行服务器中,每个工作流引擎控制过程执行的一部分,并与这部分 过程中的活动所要用到的用户、应用工具进行交互。在分布式的执行服务器中有 公共的名称空间与管理范围的,从而过程定义、用户应用程序的名称在一致的 标准下被处理。分布式工作流系统,在工作流引擎间采用特殊的协议和信息转换 格式,来同步工作流引擎的操作、过程交换和活动控制信息。也许工作流相关数 据也要在工作流引擎间进行传递。在工作流引擎间需要一个标准的交换格式,来 实现异种产品间的调用。使用接口4 ,执行服务器可以把活动或者子过程转移到 另外一个( 异种) 执行服务器中执行。在工作流参考模型中,这被称作“工作流 引擎交互( w o r k n o we n 画n ei n t e r c h a n g e ) ”【3 l 。 根据w f m c 的定义,工作流互操作( 性) 是指两个或者多个工作流引擎之间通 过通信和协作的方式来协同工作的能力【6 。从广义的角度看,也可将工作流各个 功能部件通过接口与工作流引擎之间交互的能力视为工作流互操作性。 根据技术复杂性和实现的先后顺序,工作流管理系统的分布可以分为j 个层 次 第一工作流系统体系结构的分布。将工作流系统看作是一组相互协作的部 件,各个部件独立完成一定的功能,通过标准的互操作接口进行连接。工作流管 理联盟( w f m c ) 组织已经对此进行了规范和标准化,提出的参考模型已经充分体 现了这种分布性,目前的工作流产品也基本实现了这一层次的分布。 第二,工作流引擎的分布。工作流引擎负责过程实例的解释和执行,其性能 直接影响系统的效率。分布的工作流引擎是指采用一组分布在不同节点上的工作 流引擎共同协作完成过程实例的执行。各个引擎分别负责执行过程实例的不同部 分,不同的引擎之间通过可靠的通信机制实现协作。这是在工作流系统体系结构 中i i 大学硕+ 学位论文 基于b p e l 的工作流互操作研究 分布的基础上实现的更高层次的分布,如何解决凼为工作流引擎的分布带来的一 系列新问题,是目前工作流技术的一个重要研究方向。 第三,工作流模型的分布。工作流模型的分布是指在分布的环境f 由参与人 员共同完成个工作流模型的定义,即分布式建模。模型分布定义的难点是进行 模型的不同部分的集成。如何实现这一层次的分布止处于探索的阶段。 本文将着重研究和分析第二个层次的分布,即讨论工作流引擎的分布执行所 涉及的技术以及设计方案。如何解决因为工作流引擎的分布带来的一系列新闷题 是本文的重点。 1 3 本文研究的目标和意义 工作流是具有广泛应用价值的计算机软件技术,它的应用大幅度提高了对企 业业务流程建模、执行、管理、控制、分析、优化的程度。当今工作流的研究工 作十分活跃,也出现了多种工作流系统,并且在企业中得到了广泛而成功的应用。 然而目前工作流的应用多局限于单一企业的内部,难以应付企业之间业务处理的 协同工作。而随着i n t e m e t 和电子商务的发展,企业工作流系统能够协同操作是 工作流系统的发展趋势。 为了解决分布式敏捷l 【m s 系统的“实验室资源的分散性”问题和解决现代 企业信息系统的分布性和异构性,本文提出了基于工作流、w 曲s e r v i c e 、b p e l 等技术标准的分布式敏捷l i m s 系统的解决方案。 本文的研究目标是: 1 ) 研究多个工作流引擎之间的协同工作模型及实现技术; 2 ) 鉴于目前大多数工作流产品的工作流引擎的互操作功能都比较薄弱,本 文提出一种基于w e bs e t v i c e 、b p e l 的工作流互操作实现方案。在w f m c 定义的相关互操作规范的基础上,详细分析工作流参考模型的接口4 的 实现、工作流引擎互操作的l 数据交换格式和交互协议。 3 ) 用b p e l 描述w f m c 的四种协同工作模型,论述b p e l 对工作流互操作 的支持。 本文研究的意义: 1 ) 对工作流的四种协同工作模型进行了详细的分析与设计; 6 巾山大学硕士学位论文基于b p e l 的工作流瓦操作研究 2 ) 将b p e l 引入工作流,用于描述上作流引擎间互操作的协议,对后人的 研究有定的参考价值; 3 ) 为分布式敏捷u m s 系统的鱼:操作提供基础,具有一定的应用价值。 1 4 本文的组织结构 根据分布式敏捷l i m s 系统的互操作性要求,本文提出了一种基于w 曲 s e r v i c e 、b p e l 的工作流引擎之间互操作的设计方案。本文共分五章: 第一章为引言部分,介绍课题研究背景和工作流技术基础,定位本文的研究 目标。 第二章综述工作流技术及互操作技术的研究现状及应用现状。分析了当前工 作流系统的研究现状及工作流引擎互操作的研究现状,发现了目前工作流互操作 技术存在的不足。 第三章深入地分析了实现工作流互操作的关键技术,通过对多种技术的分析 比较,突出本文的设计方案。 第四章分别从逻辑资源模型、逻辑交互模型、分布式计算的实现方法、交互 消息的描述和互操作协议等方面进行详细地分析,给出工作流引擎互操作的设计 方案。对w f m c 的四种协同工作模型进行分析并用b p e l 描述四种模型,论述 b p e l 对工作流互操作的支持。最后,对分布式敏捷l i m s 系统的互操作进行初 步探讨。这一章为本文的重点。 第五章为小结。对本文进行总结,并对下一步工作进行展望。 巾山大学硕士学位论文 基于b p e l 的工作流互操作研究 第2 章工作流技术及互操作研究现状 2 1 工作流技术的理论研究现状 目前,在工作流理论研究与实施技术方面,主要的研究课题可以归纳为三个 方面【8 l : 第一方面是工作流的理论基础,包括工作流管理系统的体系、模型与定义语 言( 工作流的建模方法、工作流模型的形式化表示、工作流定义语言) 等的研究。 这部分工作目前相对来说比较薄弱,还有许多问题需要进一步研究。 第二方面是工作流的实现技术,包括工作流的事务特性、各种先进软件技术 的应用、工作流仿真。这方面研究工作的目标是提高工作流管理系统的性能,尤 其是提高工作流管理系统的可靠性及其在处理大规模复杂的且具有并行业务的 流程方面的能力。 第二三方面是工作流技术的应用,包括工作流实施技术在不同应用领域的应用 ( 如在企业经营过程重组、并行工程、敏捷制造) 方法、应用软件集成等。这几 方面研究的目标是发挥工作流管理系统的优势,为解决具体应用领域内的问题提 供有效实现手段。 2 2 工作流的互操作性规范 近年来,出现了一些互操作性标准,即工作流产品间交换信息的规范。我们 把这些互操作性规范分成两类:工作流建模和描述的规范( 即设计阶段) 以及运 行时的互操作性规范【9 。 第一类对应工作流管理联盟参考模型的接口1 ,工作流管理联盟的过程定义 语言( w p d l ) 属于这一类。另外一个例子是过程交换格式( p i f ) 。p i f 是一种 交换格式,它可以帮助不同的过程定义工具( 如过程建模器、工作流系统和过程 仓库等) 之间自动交换过程描述。通过把本地的过程描述格式转化为p i f 格式, 这些工具可以实现互操作,反之亦然。这样过程描述可以自动地交换,而不必为 每一对系统提供转换器。如果转换成p 腰或从p i f 转换回来不能够自动实现,就 巾j l j 大学硕士学位论文基于b p e l 的工作流互操作研究 必须有人的介入。p i f 格式还没有形成权威进而成为工业标准。然而,它的很多 思想已经被一种新的过程定义语言采纳:过程定义语言( p s l ) 。p s l 被n i s t ( 美 固国家标准技术研究所) 提出,它有一个比工作流管理联盟定义的w p d l 更加 广阔的适用范围。还有几个更加通用的标准,他们强调不同的方面,即u m l 标 准( 状态图、顺序图、协作图和活动图) 、针对高级p e t r i 网的i s o 标准和著名的 i d e f o 标准。这些标准化的努力是相互关联的,但是他们都没有提供设计阶段互 操作问题的解决方案。这是由于缺少概念模型( 或形式化核心模犁) 的缘故。 互操作性规范的第二类是指运行时的互操作性。这类规范对应接口2 、接 口3 和接口4 ,重点是接口4 。重点是支持运行时过程执行信息的交换。显然, 当在不同厂商的系统之间交换执行信息的时候,接口4 极其重要。最著名的几个 运行时互操作性规范是:工作流管理联盟的互操作性规范、s w a p 、w f - x m l 以 及0 m g 的j o i n t f l o w 。早在1 9 9 6 年,工作流管理联盟就发表了互操作性抽象规 范( w f m c - t c 1 0 1 2 ) 【l “。紧接着,有了所谓的互操作性互联网电子邮件m d d e 绑定规范( w f m c t c 一1 0 1 8 ) 【“j 。2 0 0 0 年5 月,工作流管理联盟发布了所谓的 互操作性w f - x m l 绑定规范( w f m c t c 1 0 2 3 ) 【1 2 】。w f - x m l 基于s w a p 描述 了使用x m l 的互操作性抽象规范的实现。s w a p ( 简单工作流访问协议) 是 个基于互联网的标准,而且得到了很多工作流厂商的支持。s w a p 主要使用h t t p 协议,能够用来控制和监控工作流过程。o m g 的i o i n t f l o w 基于c o r b a 架构, 并把工作流管理联盟的互操作性抽象规范作为出发点。j o i n t f l o w 标准由一套i d l 规范组成。运行时互操作性相关标准同工作流系统的实现密切相关。在电子商务 中,这些标准更加重要。不幸的是,目前这些标准还处在技术层面一 = ,没有真正 在业务层面上解决问题。比如虽然能够用w f - x m l 连接不同厂商的系统,但是 这并不意味着过程能够按照预期执行。 2 3 几种典型的分布式工作流系统实现方案 基于持久消息的e x o t i c 删q m 7 : i b ma l m a d e n 研究中心于1 9 9 5 年提出的完全分布执行的模型。它通过在 i b m 原有的工作流管理系统中结合消息传递队列扩展了其功能。整个工作流管 理系统由许多具有自治能力的节点组成,每一个执行节点都是相互独立的,工作 9 中山大学颁士学位论文基于b p e l 的工作流互操作研究 流过程的执行不以某一节点为中心,实现了完全分布。e x o t i c a i 可v i o m 解决了集 中式管理结构中的单点失败和性能瓶颈问题,形成了能够支持大规模复杂应用的 分布式二r :作流管理系统。 f m o m 将节点分为定义节点和执行节点两人类。工作流过程模型的建立在 定义节点卜进行。过程中的活动将在不同的执行节点上完成,各个执行节点根据 自己的能力完成一个或多个活动。过程定义完毕后,系统将对模型进行“编译”, 确定执行这个模型中各个活动的所有相关执行节点以及每个执行节点所需的信 息,并将活动与执行它们的节点进行绑定。每个节点都有一个节点管理器,具有 丁作流引擎的功能,负责与过程定义节点进行通信,并管理过程表。 过程定义节点向每一个参与过程实例运行的节点管理器发一条消息,通知它 们与该节点有关的过程模型信息。当节点管理器收到过程定义节点发出的消息 后,将为该过程模型的每一个过程实例创建一张过程表,表里存储过程实例运行 所需要的静态信息。接着节点管理器创建一个线程负责维护这个过程模型所有实 例的运行。这个线程的第一个任务就是生成一个该过程的消息队列,管理本过程 的所有实例,并负责接收有关该模型的所有实例运行过程中传递给该节点的消 息。节点管理器还为过程模型的每一个运行实例创建一张实例表,保存过程实例 运行中的数据。 具有自适应能力的工作流管理系统m e t e o r 口1 m e t e o r 是上世纪9 0 年代由左治亚大学的l s d l s 实验室开发的工作流管理系 统原型系统,目的是实现一个能够支持大规模复杂应用的自适应工作流管理系 统。该系统采用了完全分布的体系结构,在系统中设计并实现了分布调度模块来 完成工作流任务的最优调度。它能够支持多种系统,并采用了w e b 和c o r b a 等技术,为分布环境下的互操作提供了良好的支持。 m e t e o r 系统由建模工具、自动代码生成器、运行环境( 包括任务管理器和 任务) 、监控器和数据库( 包括工作流模型库和运行数据库) 组成。它为用户提 供了两种运行环境( 基于c o r b a 和基于w e b ) 以满足不同用户的需求。 基于c o r b a 的o r b w o r k 工作流执行系统以支持c o r b a 的软件o r b i x 作 为底层的通信支持系统,使用c o r b a 规范中对象和i d l 接口定义来实现系统 中对象间的互操作和数据源的封装。o r b w o r k 包括任务管理器和任务两个部分。 1 0 中山人学硕士学位论文 基于b p e l 的工作流互操作研究 任务管理器由代码生成器根据模型库中的模型自动生成,主要负责完成过程中任 务间的导航、激活相关联的任务,以及应用数据的传递。任务管理器的功能主要 包括任务的激活、任务的调用和监控、异常处理以及错误恢复。w e b 浏览器为 工作流管理系统提供了一种风格统一自然的用户界面和可靠的底层通信基础结 构。 w e b w o r k 就是m e t e o r 模型基于w e b 技术实现的工作流执行系统。 、e b w o r k 的代码生成器将模型中的一个活动模型生成三个部分:任务管理器、应 用任务和检验器。任务管理器的主要功能是从前驱活动中读取数据、为应用任务 准备必须的数据、激活应用任务、从应用任务中收集数据并准备一个输出的 h t m l 页面,以及异常处理和恢复。应用任务负责完成各种具体的应用操作,可 以是任何语言编写的应用程序。人工完成的任务的检验器由任务管理器输出的 h 删l 页面中内置的j a v a s c r i p t 代码组成,在浏览器端执行,其主要任务是检查 与用户的交互是否正确完成,并根据返回的结果确定下一步所执行的任务。对于 自动执行的任务,检验器和任务管理器合为一体,负责对数据进行检查并确定下 一步要执行的任务。该任务在服务器端执行。 基于e c a 规则的e v e 7 j e v e ( e 、,e n te n g i n e ) 是瑞士苏黎世大学的研究人员1 9 9 8 年提出的种基于事 件的工作流执行平台中间件体系结构,用于集成工作流执行过程中的分布式功能 组件。在工作流的建模中,使用e c a 规则建立业务过程的工作流过程模型。e c a 规则定义了对象在某一事件( e v e n t ) 下,当满足条件( c o n d j t i o n ) 时将执行的动作 ( a c t i o n ) 。 e v e 采用代理服务模型( b m k e r ,s e r v i c em o d e l ,b s m ) ,b s m 中将一个工作 流实现过程中的若干个事件指定给特定的代理来负责实旄。代理表示有特定功能 的处理实体。一个工作流系统由相互作用的一些代理组成。代理的行为由e c a 规则定义,功能由服务描述,多个代理之间通过不同的服务请求来取得联系,从 而完成一个工作流程。 e v e 中工作流的执行是通过分布在网络上的代理通过响应由e v e 服务器检 测到的事件来完成的,代理在提供服务的过程中又产生新的事件,以此推进。 d a r t f l o w 【7 1 - p 山大学硕士学位论文基于b p e l 的工作流互操作研究 d a n f l o w 是d a n m o u t h 大学开发的基于可移动代理( t r a n s p o r t a b l ea g e n t ) 的工 作流系统。该系统以嵌入j a v a a p p l e t 的w e b 浏览器作为前端,提供了安全的、与 平台无关的g u i :以可移动代理作为其骨干,具有较高的灵活性和可扩展性。 可移动代理是一段可以在自身的控制下由异构网络系统中的一台机器转移 到另一台机器上运行的程序,即可移动代理能够在执行到某一点时挂起自身程 序,将代码传递到另外的网络节点上去继续运行。可移动代理具有智能路由和并 行机制,为构建工作流管理系统提供了一种灵活、高效、具有较强容错能力的方 法。 d a r t f l o w 由用户界面、可移动过程代理、代理服务器和工作表服务器四个部 分组成,其结构与w f m c 的参考模型基本一致。 d a r t f l o w 的用户界面使用n e t s c a p e 的w e b 浏览器,通过嵌入j a v aa p p l e t 的页而 与用户进行信息交互。当用户通过用户界面提交一个表单时,将产生一个过程代 理,由过程代理自始至终负责这个过程实例的运行。过程代理携带数据和流控制 信息,并和适当的代理服务器通信,取得完成任务所需的信息。代理服务器实际上 是起服务器作用的代理,其中包含了信息路由、错误处理等d a r t f l o w 的核心功能。 代理服务器保存重要的组织和过程定义信息,并且在必要时向代理提供支持。当 任务完成之后,如果需要其它人员的参与,过程代理就转移到工作表服务器上,向 工作表服务器发出更新工作项的消息。然后将数据和自身保存在磁盘上。工作表 服务器的主要功能是保存工作表、更新活动客户上的信息、通知过程代理其它代 理服务器的修改。 i b m 的基于持久消息的e x o t i c a f m q m 和左治亚大学的m e t e o r 是完全分 布的工作流管理系统,它们各自有自己的特点和优势。但都有共同的不足,那就 是它们和其它工作流产品几乎彼此都不兼容。这就是由于当时分布式计算技术还 不够成熟,没有采用业界的标准所致。随着各种工作流管理系统产品的问世,如 何保证各种工作流管理系统之间的互操作性,更好地实现企业之间的过程集成, 逐渐成为工作流领域研究的热点。 中山大学硕士学位论文 基于b p e l 的工作流百操作研究 2 4 工作流引擎互操作的研究现状 通过对大量工作流产品的分析和查询i e e e 文献,发现目前对工作流互操作 的研究或应用都比较少,大多处于理论研究阶段。主要采用的技术有w e b s e r v i c e 、a g e n t 、组件模型、x m l 和w f _ x m l 等。代表性的研究成果有: 周世杰、秦志光、刘锦德对w f m c 的参考模型中的四种互操作模型进行了 研究【4 l ;龚晓庆、张远军、郝克刚对分布式工作流系统实现技术进行了分析: 这些都是一些初步的理论研究。 李红信、范玉顺对工作流的互操作模式进行了初步的研究【l3 1 。他们提出一 种基于w 曲s e r v i c e 的支持分布、异构工作流管理系统之间集成和互操作的实现 方法,同时论述了w 曲s e r v i c e 对异构工作流管理系统之间集成和互操作的支持。 该文章提出选用w 曲s e r v i c e 作为分布式计算的解决方案,用x m l 表示异构系 统之间所交换的信息,用s o a p 描述异构系统之间的访问协议。但是s o a p 没 有与业务流程相关的描述,因此用它来描述工作流引擎之间的交互,实现起来比 较麻烦。 w e i s h u a iy a n g 、s h a n p i n g “、m i n gg u o 提出了用移动代理来提高工作流互 操作能力1 “。该文章初步探讨将a g e n t 引入工作流中,用以提高工作流的互操作 能力。首先讨论了工作流互操作的一些规范以及用h t t p 作为传输绑定的不足, 论证了可以用m o b i l e a g e m 来作为工作流互操作的传输绑定,并提出了一个用 a g e n t 来提高工作流互操作的a e w f 模型。 杨青云、李景洲、王海洋提出基于c o r b a 组件模型的工作流互操作模型5 l 。 该文章给出了一个基于组件技术的分布式的面向对象工作流互操作模型,以实现 多个工作流管理系统之间的互操作,并对其接口和工作模式进行了分析,但是该 模型要求各个企业服务组件都定义统一的接口,这在实际应用中是很难办到的。 z u l k l a m m d m a l l a l i n 提出了一套用x m l 进行互操作能力的定义规则【1 6 】。廖 军,欧阳松提出基于x m l 实现企业工作流系统的互操作1 1 ”。文中提山利用x m l 描述工作流信息,使不同的企业工作流系统通过解析x m l 来共享工作流信息, 从而实现工作流系统的互操作。该文章的思路是不同企业的工作流系统的过程定 义统一使用x m l 来描述。这样系统之间才能共同理解这个过程定义,这属于工 r 川l 大学硕士学位沦文基于b p e l 的工作流互操作研究 作流参考模型接口1 的功能。实际上,w f m c 已经提出了使用基于x m l 的x p d l 来描述过程定义。 w f m c 的鱼操作性规范、s w a p 、w f - x m l 以及o m g 的i o i n t f l o w ,还有 j a m e sg h a y e s 提出了一个i n t e m e t 工作流互操作标准都可以作为参考。吉林 大学的边鹏提出的用w a p i 、w f _ x m l 和m i m e 等实现技术和方法设计的1 :作流 互操作模型1 ”。该论文采用了工作流互操作规范w f - x m l 来定义操作,用m i m e ( 多用途的网际邮件扩充协议) 来传递信息。设计实现工作流接口4 的功能的框 架;详细讨论如何构建w a p i 、使用w f _ x m l 编码、利用m i m e 传递等工作流 互操作的实现方法。这可以作为本文的重要参考。 2 5 目前工作流互操作技术存在的不足 目前,工作流互操作技术仍存在以下三个方面的不足【4 l : 1 ) 工作流模型缺乏描述互操作性的能力虽然w f m c 提出了一套工作流管 理系统的标准,也定义了工作流系统的参考模型f 37 ,但是该模型仅能通过w a p i 来实现工作流互操作,这显然不能完全描述和表达工作流系统的互操作。此外, 工作流参考模型及相关标准没有对工作流通信机制进行定义,而在工作流系统实 现时,对选择何种通信协议存在很大的分歧,很难实现真正意义上的互操作。 2 ) 工作流互操作过程中缺乏健壮性工作流实例在运行过程中可能出现资 源访问冲突,使得活动在数据操作上出现相互重叠。这种情况在工作流互操作过 程中表现尤为明显。目前,对互操作过程中工作流系统健壮性还很难保证。 3 ) 缺乏互操作情况下事务处理的能力目前大部分工作流系统不支持事务 的概念,不能保证在工作流系统之间互操作下一个活动执行的a c d ( a t o m j c i t v , c o n s i s t e n c y ,i s o l a t i o n ,d u r a b i l i t y ) 属性,而且当工作流菲正常中断时,也无法保证 正确的恢复数据。 随着各种工作流管理系统产品的问世,如何保证各种工作流管理系统之间的 互操作性、更好地实现企业之间的过程集成,逐渐成为工作流领域研究的热点。 目前工作流管理系统以及工作流互操作的发展还有许多问题亟待解决,而对这些 问题的解决也正是今后工作流管理系统和工作流互操作技术的发展方向。 1 4 巾山大学硕士学位论文 基1 二b p e l 的工作流百操作研究 第3 章实现工作流互操作的关键技术分析 在具体实现工作流互操作时,首先要选择合适的分布式计算的实现方法;其 次选择异构系统之间所交换信息的描述方法;除此之外,还要定义异构系统之间 的访问协议。下面我们从这三个方面来分析实现工作流互操作的关键技术。 3 1 分布式计算的实现方法 考察近年来的分布式计算技术,比较有代表性的有r m i 、c o r b a 、d c o m 等技术。他们在企业间的集成应用中已经取得了一定的成功,但是仍然存在种种 致命的缺点,使得它们的适用范围也比较狭窄。r m i ( r e m o t em e t h o di n v o c a t i o n ) 的实现需要通信的两端都有j a 、,a 运行环境,这从根本上阻碍了它的推广2 0 1 。 3 1 1c o r b a 、d c o m 和w e bs e r v i c e 比较 c o r b a ( c o m m o n0 b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e 通用对象请求代理结 构) 是对象管理组织( o m g ) 提出的分布式对象计算的规范,用于实现异卡勾平台上 的分布式应用开发以及不同应用系统问的集成。基于c o r b a 规范开发的应用之 间通过对象请求代理( o b j e c tr e q u e s tb m k e r ,0 r b ) 机制实现对象的通信。分布的 应用部件被封装在不同的c 0 r b a 对象中,通过接口定义语言( i d l ) 定义与外界 进行交互的接口,由编译器实现到不同实现语言的映射。o r b 负责将客户对象 的请求发送给服务对象,并返回相应的结果。o m g 在c o r b a 通用设施( c o m m o n f a c i l i t i e s ) 中也提供了工作流管理的规范。而且,c o r b a 的使用可以充分体现面 向对象的特性,如系统的开放性、可复用性,与原有系统的无缝集成和新功能的 快速开发等。这些特点说明,c o r b a 可以作为实现工作流解决方案的一种选择口】。 根本上说,c 0 r b a 成功地定义了一种语言无关的通信方式,但它却把实现

温馨提示

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

评论

0/150

提交评论