(计算机软件与理论专业论文)基于bpel引擎的多级流程协同定义和部署.pdf_第1页
(计算机软件与理论专业论文)基于bpel引擎的多级流程协同定义和部署.pdf_第2页
(计算机软件与理论专业论文)基于bpel引擎的多级流程协同定义和部署.pdf_第3页
(计算机软件与理论专业论文)基于bpel引擎的多级流程协同定义和部署.pdf_第4页
(计算机软件与理论专业论文)基于bpel引擎的多级流程协同定义和部署.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机软件与理论专业论文)基于bpel引擎的多级流程协同定义和部署.pdf.pdf 免费下载

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

文档简介

中山大学硕士论文 基于b p e l 引擎的多级流程协同定义和部署 论文题目: 专业: 硕士生: 指导教师: 基于b p e l 引擎的多级流程协同定义和部署 计算机软件与理论 张伟斌 余阳副教授 摘要 本文的研究是以广州市重点攻关项目“分布式突发卫生事件信息调查系统” 为背景的,在此项目中使用了开源的a c t i v e b p e l 引擎。原有的流程定义工具 a c t i v e b p e ld e s i g n e r 在实际应用中并不能完全满足分布式突发卫生事件信息调 查系统的需求,因此本文提出了基于b p e l 引擎的多级流程的协同定义和部署, 主要用来协调异地流程管理员,实现分布式流程的快速定义和部署,从而提高整 个系统的执行效率和反应速度。 工作流技术是一项快速发展的技术。随着计算机网络技术的发展,特别是 i n t e r n e t 的日益普及,现代企业信息的分布性决定了传统的集中式工作流已逐 渐成为过去。而在分布式工作流管理系统中,如何有效地协调异地流程管理员之 问定义流程,如何在流程定义完之后使其能快速地得到部署和执行已成为分布式 工作流管理系统面临的一个急需解决的问题。目前,对分布式工作流建模期的相 关研究,大都只是停留在集中式工作流管理系统的状态,未系统地对分布式工作 流管理系统中异地流程管理员之间协同工作的各个方面进行综合的考虑。 针对这些不足,本论文在对前人工作总结和分析的基础上,提出了基于b p e l 引擎的多级流程协同定义和部署,解决了分布式突发公共卫生事件信息调查系统 的敏捷性问题。同时,目前对工作流模型的分布式定义和部署研究较少,本文对 这方面的研究也具有相对比较重要的意义。本文采用了s t r u t s + h i b e r n a t e + s p r i n g 的技术进行开发。这项技术是一个m v c 设计模式的框架,它强制性地将系统的 表示层和业务逻辑层分离出来,从而便于系统的开发和维护。这也将为后续的研 究打下良好的基础。此外。在涉及到数据传递方面,本文使用了w e b 服务技术。 对于同类型的工作流管理系统也具有一定的参考价值。 关键字:工作流技术,分布式工作流,多级流程的协同定义和部署,a c t i v e b p e l 引擎,a c t i v e b p e ld e s i g n e r 中山大学硕士论文基于b p e l 引擎的多级流程协同定义和部署 m u l t i - l e v e lp r o c e s s e s c , o - d e f i n i d o aa n dc o - d e l o 蛐a e a tb a s eo nb p e l e n g i n e c o m p u t e r s o i h a r e a n d t h e o r y w e i b i nz h a n g p r o f e s s o r y u y a n g a b s t r a c t t h er e s e a r c hi nt h i sp a p e ri ss u p p o r t e db yg u a n g z h o ut e c h n o l o g yp r o j e c t d i s t r i b u t e dh e a l t he m e r g e n c i e ss u r v e ys y s t e m i nt h i sp r o j e c tw e 瑚t h ea c t i v e b p e l e n g i n e o r i g i n a lp r o c e s sd e f i n i t i o nt o o ln a m e da c t i v e b p e ld e s i g n e r 锄tm e e tt h e p r o j e c t sr e q u e s tc o m p l e t e l y , s oan e wm u l t i l e v e lp r o c e s s e s c o - d e f i n i t i o na n d c o - d e p l o y m e n tb a s eo nb p e le n g i n ei sp r o p o s e d i ti sm a i n l yu s e dt oc o o r d i n a t et h e p r o c e s sm a n a g e r sw h o l o c a t ei nd i f f e r e n t # a c e st od e f i n ep r o c e s s w o r k f l o wt e c h n o l o g yi sar a p i d l yd e v e l o p i n gt e c h n o l o g y w i t ht h ec o m p u t e r n e t w o r kt e c h n o l o g yd e v e l o p m e n t , p a r t i c u l a r l yt h eg r o w i n gp o l a r i t yo f i n t e m e t , t h e d i s t r i b u t i o no f t h ee n t e r p r i s ei n f o r m a t i o nm a k e st h ec e n n a l i z e dw o r k f l o wg r a d u a l l y b o c o m eat h i n go f t h e p a s t b u ti nd i s t r i b u t ew o r k f l o wm a n a g e m e n ts y s t e m ,h o w t o c o r d i n a t et h ep r o c e s sm a n a g e r sw h ol o c a t ei nd i f f e r e n t # a c e st od e f i n ep r o c e s s e sa n d h o wt od e p l o ya n de x e c u t et h ep r o c e s sa f t e rt h ep r o c e s s e sh a v eb e e nd e f i n e db e c o m e t r o u b l e s c m - r e n t l y , m o s tr e s e a r c h so nt h em o d e l i n gp e r i o do f t h ed i s t r i b u t ew o r k f l o w o n l ys t a yi nc e n t r a l i z e dw o r k f l o ws y s t e ma n dh a v e n tp r o p o s e dag e n e r a ld i s t r i b u t e m o d e lt oc o r d i n a t et h ep r o c e s sm a n a g e r sw h ol o c a t ei nd i f f e r e n tp l a c e st od e f i n ea n d d e p l o yt h ep r o c e s sw h i c hc o n s i d e r st h ev a r i o u sf a c t o r sa f f e c t i n gt h ep r o 懈s 船 d e f i n a t i o na n dd e p l o y m e n t o nt h eb a s i so f s u m m a r i z i n ga n da n a l y s i so f t h er e l a t e dr e s e a r e h s , an e w m u l t i - l e v e lp r o c e s s e s c o - d e f i n i t i o nm a dc o - d e p l o y m e n tb a s eo nb p e le n g i n e , w h i c hc o n s i d e r st h ev a r i o u sf a c t o r sa f f e c t i n gt h ep r o c e s s e s d e f i n a t i o na n d d e p l o y m e n t ,i sp r o p o s e dt os o l v et h i ss y s t e m sa g i l ep r o b l e m m e a n w h i l e , t h e r e s e a r c ho nt h ed i s t r i b u t e dw o r k f l o wp r o c e s sd e f i n i t i o na n dd e p l o y m e n ti sv e r yp o o r , i h i | | 蜘,i|莓 s 主坐查堂塑主堡苎 苎王! ! 坠! ! 竺塑墨堑堕翌堡旦塞墨塑塑墨 t h i si r a p e rc a nb em e a n i n g f u lr e l a t i v e l y s t r u t s + h i b e r n a t e + s p r i n gt e c h n o l o g yi s u s e dt od e v e l o pt h i ss y s t e m t of a c i l i t a t et h ed e v e l o p m e n ta n dm a i n t e n a n c e ,t h ev i e w l a y e ri sd e p a r t e df t o ml o g 沁l a y e r i na d d i t i o n , w e bs e r v i c et e c h n o l o g y i su s e dt o t h a n f e ri n f o r m a t i o n g e n e r a l l ys p e a k i n g , t h i sp a p e rc a l lg i v es o m oa d v i c et ot h e w f m sw h i c hu s eb p e l a st h e i rp r o c e s sl a n g u a g e k e y w o r & :w o r k f l o wt e c h n o l o g y ,d i s t r i b u t ew o r k f l o w ,m u l t i l e v e lp r o c e s s e s c o - d e f i n i t i o na n dc o d e p l o y m e n t ,a c t i v e b p e le n g i n e ,a c t i v e b p e ld e s i g n e r l v 中山大学硕士论文 基于b p e l 引擎的多级流程协同定义和部署 1 1 课题背景 第1 章引言 本文的研究以广州市重点攻关项目“分布式突发公共卫生事件信息调查系 统”( 广州市科技计划项目) 为背景而展开的。该项目属于“广州市重点发展技术 领域”中的“2 1 4 数据交换平台技术及产品”。在过去的几年,国家经历了s a r s 危机、毒酒事件、乙脑疫情、霍乱疫情、擒流感危机等等一系列突发的公共卫生 事件。这些事件都对整个社会安定造成巨大威胁,对国家经济造成巨大损失。然 而,在这些危机的处理过程中,信息技术支持的滞后使我们面对这些突发事件无 法基于先进技术及时汇集、处理、分析信息,并进行科学地指挥调度,以最大程 度地减少、甚至避免损失。国外的成功经验表明,分布式技术和突发公共卫生事 件信息调查系统的结合已成为必然的趋势。 在分布式突发公共卫生事件信息调查系统的开发实践中,它的敏捷性问题是 必须解决的关键问题之一。敏捷性,即系统的调查流程和调查表能快速地根据各 种疫情的异同进行重用、调整或重构。只有具有敏捷性的分布式信息调查系统才 能满足对疫情数据的快速收集,辅助决策,预测预警各种疫情的能力同时,适 应改革发展带来的机构重组和调查流程优化这将极大的降低应用成本,为指挥 调度提供依据,并以最大程度地减少,甚至避免损失 工作流技术是进入9 0 年代以后计算机应用领域的一个新的研究热点。工作 流技术 2 】提供了业务过程逻辑与r r 操作支持的分离,从而可以通过修改过程规 则来重定义业务过程,是实现过程重组( 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 ) 的最佳方法。 由于工作流技术高度的灵活性和对流程变化强大的适应性,它可作为本系统 的基础平台。针对本系统的特点,结合当前我们提出的最新的基于b p e l 的分布 式工作流管理系统,可以更好的支持调查流程的重用、调整和重构,从而解决本 r 系统的敏捷性问题。 因此,将工作流技术引入本系统具有相当重要的意义。一个工作流管理系统 主要有两个组成模块【3 】:业务流程建模模块和工作流执行控制模块。在分布式工 中山大学硕士论文 基于b p e l 引擎的多级流程协同定义和部署 作流管理系统中,业务流程建模时期需要协调异地流程管理员定义和部署流程。 业务流程建模时期的效率将直接影响到整个系统的反应速度和灵敏度。所以,在 流程建模时期,如何定义、规范和协调异地流程管理员的工作对分布式工作流管 理系统的应用和发展具有举足轻重的作用。 1 2 本文的研究工作及意义 1 2 1 本文的研究工作 本文的研究以广州市重点攻关项目“分布式突发公共卫生事件信息调查系 统”为背景而展开的。该项目属于“广州市重点发展技术领域”中的“2 1 4 数据 交换平台技术及产品”突发公共卫生事件的信息调查系统一直是国内研究开发 的一个薄弱环节,本项目的研发将进一步提高广东省在该领域的理论和应用水 平。 为了解决分布式突发公共卫生事件信息调查系统的敏捷性问题,系统使用了 工作流管理技术。在工作流参考模型中,流程定义接口是系统中的一个重要接口。 在集中式工作流管理系统中,这个接口可为一个简单的图形化的流程定义工具, 而在分布式工作流管理系统中,仅仅一个图形化的流程定义工具是远远不能满足 系统需求的。因为它不仅要满足本地流程管理员定义编写流程,还需要能协同异 地流程管理员之间定义流程,同时,它还要对定义好的相关流程进行统一地部署。 这正是本文需要解决的问题。 本文的主要工作: ( 1 ) 提出了一个系统的分布式流程建模的解决方案,对分布式流程定义和部 署的各个因素进行了综合的考虑,对各种情况进行了细分。 ( 2 ) 给出了如何从已定义的b p e l 流程中自动提取下级流程定义信息的方 法,并将相关信息整合成一个任务自动地发布到下一级。 ( 3 ) 实现了对流程定义任务状态的监控,同时流程管理员可对相关的任务进 行相应的挂起调查部署和恢复调查都署的操作。 ( 4 ) 把相关的解决方案和方法结合开源的b p e l 引擎和a c t i v e b p e l d e s i g n e r ,应用于分布式突发公共卫生事件信息调查系统中,实现该系统调查流 程的快速定义和部署,解决该系统的敏捷性问题。 2 中山大学硕士论文基于b p e l 引擎的多级流程协同定义和部署 由此,给出了一个基于b p e l 引擎的多级流程的协同定义和部署的整体解决 方案 1 2 2 研究的意义 工作流技术是实现企业业务过程的分析、建模、优化、管理与集成,以及最 终实现业务过程自动化的核心技术 2 3 。实现这一技术的系统称为工作流管理系 统它提供了三个主要功能:构造功能、运行控制功能和运行交互功能 2 1 。分布 式工作流管理系统则是相对于早期的集中式工作流管理系统而言的。 根据技术复杂性和实现的先后顺序,工作流管理系统的分布可分为三个层次 【3 】: 第一,工作流系统体系结构的分布。将工作流系统看作是一组相互协作的部 件,各个部件独立完成一定的功能,通过标准的互操作接口进行连接。工作流管理 联盟( w f m c ) 组织已经对此进行了规范和标准化,提出的参考模型已经充分体现 了这种分布性,目前的工作流产品也基本实现了这一层次的分布。 , 第二,工作流引擎的分布。工作流引擎负责过程实例的解释和执行,其性能直 接影响系统的效率。分布的工作流引擎是指采用一组分布在不同节点上的工作流 引擎共同协作完成过程实例的执行。各个引擎分别负责执行过程实例的不同部 分不同的引擎之间通过可靠的通信机制实现协作。这是在工作流系统体系结构 分布的基础上实现的更高层次的分布,如何解决因为工作流引擎的分布带来的一 系列新问题,是目前工作流技术的一个重要研究方向 第三工作流模型的分布。工作流模型的分布是指在分布的环境下由参与人 员共同完成一个工作流模型的定义,即分布式建模。模型分布定义的难点是进行 模型的不同部分的集成。 当前学术界研究的分布式多为第一层次和第二层次的分布式,而如何实现第 三层次的分布式正处于探索的阶段或只停留在集中式工作流管理系统上。因此, 如何使得异地的流程管理员能共同实现工作流模型的定义和部署,使得分布式工 作流管理系统的流程能快速地、高效地定义和部署是一个急需解决的问题。由此 可以看出,本文提出的多级流程的协同定义和部署将对这一层次的分布式研究具 有重要的现实意义。 3 中山大学硕士论文 基于b p e l 引擎的多级流程协同定义和部署 1 3 本文的组织结构 本文首先扼要地介绍了课题的研究背景和阐述了论文所用到的理论及技术 基础。在此基础上,文章提出了基于b p e l 引擎的分布式流程建模的总体解决方 案。同时,详细介绍了每一个模块的实现过程和算法。 在论文的结构上,全文共分为5 章,其中第一,二章主要是对现有的理论和 研究的总结和分析,第三,四章是本文的重点,也是作者主要的研究成果。各章 内容说明如下: 第一章,主要介绍了本课题的研究背景,对本文的研究内容和范围做出一个 界定,指出本文研究的意义,并对全文的组织做一个概要性的总结。 第二章中,分别介绍了本文所用到的主要的理论基础和相关的技术,并对流 程的分布式建模的现状进行了归纳和总结,分析现有的国内外相关的研究。 第三章中,作者根据项目的需求和对开源a c l t i v e b p e l 引擎、b p e l 流程的分 析,描述了整个系统流程管理员的工作,主要用例的顺序图和类图,最后,提出 了基于b p e l 引擎的分布式流程建模的设计思路和解决方案。 第四章中,作者使用了伪代码的方法,详细描述了各个类图的主要方法的分 析,设计与实现。 最后,第五章对本文的研究做出一个总结,并指出下一步需要进行的工作。 4 中山大学硕士论文 基于b p e l 引擎的多级流程协同定义和部署 第2 章相关技术与研究现状 2 1 基于服务的工作流管理系统 2 1 1 - r 作流技术综述 工作流技术是进入9 0 年代以后计算机应用领域的一个新的研究热点。工作 流技术【2 】提供了业务过程逻辑与r r 操作支持的分离,从而可以通过修改过程规 则来重定义业务过程,是实现过程重组( b p r ) 的最佳方法。这对现代企业强调 以过程为中心的管理模式具有相当重要的意义 根据w f m c 定义【2 】,工作流参考模型标识了构成工作流管理系统的基本模块 和这些基本部件交互使用的接口这些基本部件包括:工作流执行服务器、工作 流引擎、流程定义工具、客户端应用、应用程序,管理监控工具。 工作流管理系统一般提供以下三个功能【2 】;即模型建立阶段、模型实例化阶 段和模型执行阶段。在模型建立阶段,通过利用工作流建模工具,完成企业经营过 程模型的建立,将企业的实际经营过程转化为计算机可处理的工作流模型。模型 实例化阶段,给每个过程设定运行所需的参数,并为每个活动分配所需要的资源。 模型执行阶段,完成经营过程的执行,主要是完成人机交互和应用的执行。工作流 管系统的体系结构如图2 1 所示。 5 串山大学硕士论文基于b p e l 引擎的多级流程协同定义和部署 柙 嚣基 工作流管理系统【习是一种能定义、创建和管理工作流执行的软件系统。它通 过管理工作活动序列,调用与各种活动步骤相关的人员、r r 资源,对业务过程 提供自动化处理。根据体系结构的不同,工作流管理系统可以是集中式也可以 是分布式。集中式工作流控制结构主要由一个i 作流弓i 擎和多个客户应用组成。 另外还有其他部件如建模工具、管理和监控工具,如图2 2 ( a ) 所示。这种控制 结构较为简单,适用于小规模的群体协作活动。分布式工作流控制结构是由分布 在不同站点的多个工作流引擎组成,多个工作流引擎共同解释执行一个过程定 义,如图2 2 ( b ) 所示。这种控制结构比较复杂,工作流引擎之间在执行过程中要 交换应用数据和控制信息,当数据分布地存储于不同地点时涉及到数据表示和 6 中山大学硕士论文基于b p e l 引擎的多级流程协同定义和部署 ,集中式控乱龆柯t b ) 分布式控制绪相 图2 22 1 2 作流控制结构 随着计算机网络技术的发展,特别是i n t e r n e t 的日益普及,现代企业信息的 分布性、异构性、松散耦合的特点决定了传统的集中式工作流已逐渐成为过去。 如何更好地构建分布式工作流管理系统已成为急需解决地问题。 2 a 2 分布式工作流管理系统实现技术分析 在当今学术界分布式工作流的实现技术主要有以下几种: ( 1 ) 消息传递 消息传递是一种在分布式应用之间进行异步通信的方式,不同的应用通过发 送和接收消息实现互操作嘲。常用的机制是使用本地队列,供应用程序放置和检索 消息,由消息系统负责将放入队列的消息发送给远程机器上适当的队列这种机 制与协议无关,并且可以使用持久队列防止因失败而导致消息被破坏 目前已有许多消息系统的产品,其共同特征是为上层的应用隐藏了复杂的通 信实现代码。并屏蔽了操作系统和网络协议的异构性消息系统一般通过a p i 函 数为应用提供各种消息服务,比较适合连接分布式应用消息传递可以作为工作 流管理系统的底层通信技术。在工作流引擎之间、工作流引擎与用户之间通过消 息传递进行信息交互 ( 2 ) c o r b a 技术 c o r b a 是对象管理组织( o m g ) 提出的分布式对象计算的规范【6 】用于实现 异构平台上的分布式应用开发以及不同应用系统问的集成。基于c o r b a 规范 开发的应用之间通过对象请求代理( o b j e c tr e q u e s tb r o k e r ,o r b ) 机制实现对象 的通信分布的应用部件被封装在不同的c o r b a 对象中,通过接口定义语言 ( 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 ) 中也提供了工作流管理的规 ? 中山大学硕士论文基于b p e l 引擎的多级流程协同定义和部署 范而且,c o r b a 的使用可以充分体现面向对象的特性,如系统的开放性、可复 用性,与原有系统的无缝集成和新功能的快速开发等这些特点说明,c o r b a 可 以作为实现工作流解决方案的一种选择 ( 3 ) 代理( a g e n t ) 技术 代理的概念最早出现在分布式人工智能( d a i ) 和多代理系统( m a s ) 中,目前代 理的种类日趋多样。并且在许多不同领域中都得到了应用。代理作为一种智能的 资源管理器,可以简化分布式计算。代理系统对底层基本通信原型和其它高层次 应用进行了封装,可以从较高层次上对用户的操作加以反应,屏蔽了具体的实现方 法。代理之间通过协作完成过程的执行推进。使用代理实现分布式工作流管理系 统,将有利于提高工作流系统的柔性与实用性。 ( 4 ) i n t e r n e t 和w e b 技术 w e b 是i n t e r n e t 的一个主要应用用户通过w e b 浏览器可以方便地访问各 种信息w e b 技术不仅能够提供静态信息,而且可以实现与后台数据库的集成,已 经发展成一种有力的分布式交互方式,并且在实现工作流管理系统方面具有一定 的优势首先,w e b 浏览器具有瘦客户端的特点,可以代替工作流系统中的客户端 应用,为用户提供一个通用、友好且风格一致的界面再者,在跨平台方面,由于底 层的网络协议都是基于t o p i p ,可以很容易地将w e b 布置在多个平台上另外, 相对于其它产品,w e b 有价格上的优势。因此,基于w e b 的工作流管理系统虽然 起步较晚,但是其发展十分迅速。已经成为一种流行的趋势 通过分析以上几种技术的特点和基于这些技术的系统可知,基于消息传递, c o r b a 技术和代理( a g e n t ) 技术的分布式工作流管理系统虽然能跟同构的系 统之间进行无缝结合,同时也利用分布式的特点能很好地解决单点失败,性能瓶 颈等问题,但它们在和异构系统的互操作方面的缺点严重阻碍了它们的进一步应 用和推广。如果采用i n t e m e t 和w e b 技术,也就是基于服务的分布式工作流管理 系统,就可以很好的解决采用其他技术所带来的互操作的问题。因此基于服务的 分布式工作流已成为一种不可阻挡的趋势。 中山大学硕士论文基于b p e l 引擎的多缓流程协同定义和部署 2 2w e b 服务与服务组合 2 2 1 w e b 服务 w 曲服务m 是一种全新的w e b 应用程序分支,它是自包含、自描述、模块 化的应用,可以发布、定位,并通过w e b 进行方便的调用。w e b 服务可以执行 从简单的请求到复杂商务逻辑处理的任何功能。一旦部署以后,其它w e b 服务 应用程序就可以通过通用的协议发现并调用它公布的服务w e b 服务可以把商 务逻辑划分为一个个的组件,然后在整个互联网的范围内被共享。所以,它是构 造分布式、模块化应用程序的最新技术发展趋势。 w e b 服务【8 1 主要由以下几部分构成: 简单对象访问协议s o a p ( s i m p l eo b j e c ta c o e s sp r o t o c 0 1 ) 是一个轻量级的 封装协议。客户端的调用请求,服务端返回的结果都被封装成s o a p 数据包; w e b 服务描述语言w s d l ( w 西s e r v i c ed c s c r i p t i 0 1 1l a n g u a g e ) 对外描述如 何调用w e bs e r v i c e 接口。它向调用者提供服务地址、端口信息、接口名称、调 用参数等内容; 通用描述、发现和综合注册u d d i ( u n i v e r s a ld e s a - i p t i o nd i s c o v e r y 锄d i n t e g r a t i o n r e g i s t r y ) ,提供发布、查找w e bs e r v i c e 的功能。 w e b 服务本身不是系统实现的主体,它的作用在于通过x m l 描述服务内容, 同时定义了基于x m l 的数据封装方式。由于x m l 是一种开放的文本格式,这就 使得各种平台都能实现对服务的调用,调用者与被调用者完全地解耦。 2 2 2 业务流程执行语言 b p e l 4 w s 全称为w e b 服务的业务流程执行语言( b u s i n e s sp r o c e s se x e c u t i o n l a n g u a g e 矗竹w 曲s e r v i c e s ,简称b p e l 4 w s 或b p e l ) 1 9 1 ,它结合了i b mw s f l 和 m i c r o s o f tx l a n g 两门语言的优点,同时摈弃了一些复杂繁琐的部分,形成一门较 为自然的描述商业活动的抽象语言。b p e l 基于w s d l1 1 、x m ls c h e m a1 0 、 x p a t h1 0 及w s - a d d r e s s i n g 等x m l 规范,提供了一套x m l 语法来对业务流程 交互过程中的w e b 服务行为及控制逻辑进行描述,可以将孤立的、无状态的w e b 服务进行整合,从而发挥w e b 服务技术作为应用集成平台的全部潜力。 采用什么建模语言对工作流进行建模是一个流程能否顺利执行的重要因素。 9 中山大学硕士论文基于b p e l 引擎的多级流程锛同定义和部署 工作流模型“”作为工作流管理系统的起点,对业务过程逻辑及其业务活动依赖关 系进行抽象表示,已成为当前工作流建模的重点。工作流模型应能适应用户在建 模和分析过程中所提出的各种要求。对工作流模型通常有以下几点要求:( 1 ) 形式 化语义。( 2 ) 较完整的表达能力。( 3 ) 层次性。( 4 ) 便于工作流性能的分析和优化。 ( 5 ) 图形化特征。( 6 ) 易构性。 如何针对过程的变化及时对工作流过程模型升级的动态建模是工作流过程 模型柔性需要解决的问题。这需要过程模型易修改和可重用,即过程模型应能反 映工作流的实际。采用模型元素的构件化设计,是提高模型的可重用性和可扩展 性的有效方法。 b p e l n l 3 支持的业务流程能够指定一组w e b 服务操作的可能执行顺序,这些 w e b 服务间共享的数据、业务流程涉及哪些伙伴以及这些伙伴在业务流程中扮演 什么角色,一组w e b 服务的共同异常处理以及关于多个服务和组织是怎样参与的 其他问题。从这里我们可以看出,在开发w e b 服务的分布式工作流管理系统方面, b p e l 跟其他语言相比都具有自己独特的优势。 2 2 3a c t i v e b p e l 引擎 a c t i v c b p e l 引擎【1 2 】是一个开源的执行d o b p e l 语言定义的过程的工作流引 擎它能识别b p e l 过程定义,创建并执行过程实例。引擎具体结构如图2 3 所示。 图2 3 引擎结构 a c t i v e b p e l 引擎在结构上有三个主要的方面:引擎,流程和活动。引擎执行 l o 中山大学硕士论文基于b p e l 引擎的多级流程协同定义和部署 相匹配的一个或多个b p e l 流程,流程由活动组成,并按照活动的顺序或包含的 链接执行。a c t i v e b p e l 弓 擎根据b p e l 流程的定义o m l 文件) 创建流程实例,并 执行这个流程。 2 2 a t i v e b p e ld e s i g n e r a c t i v e b p e l d e s i g n e r 基于图形界面的b p e l 设计工具。借由这个工具,用户 可以在完全不同b p e l 格式的情况下,完成活动的编捧、参数的设定等流程定义 工作。它是一个单机的集中式的b p e l 流程定义工具。 2 3 协同技术 协同技术“”本身随着计算机和网络通讯技术的不断发展,其技术概念及范围 也在不断延扩,技术手段和内容也在不断丰富。协同技术从广义上讲,包含人员 和人员之间在计算网络设备支持下的工作协同( 这是协同的传统定义。如csc 霄) 、系统和系统间的协同( 自动化业务流程) 、人与系统问的协同( 人员工作 流和系统工作流的统一) 三种划分。 人员和人员之间在计算网络设备支持下的工作协同又可分为通讯协同和流 程协同。通讯协同是指传统上人们之间通过网络化电子化的通讯手段而进行的信 息交流和共享,如电子邮件、即时消息、i p 语音和视频实时交流、短信彩信的 信息传播、日程计划、网上讨论区、项目管理和任务跟踪等。流程协同是目前协 同技术发展乃至软件多方面技术发展的关键领域。其中,采用web 服务技术, 来实现业务流程交互、集成,用s0a 已成为基于流程协同实现的主流趋势。 流程的协同定义可分为两种: 一种是不同部门之间分别定义流程,然后进行协同。这种协同方式可以节省 时间,提高任务执行的并行度,但由于没有一个完整的核心流程,容易出现各级 定义出来的流程需要大面积修改的情况。 另一种就是先定义某一关键流程,然后其它部门围绕这个流程进行流程定 义。这种协同方式需要一级一级进行流程定义,下级只有在上级完成定义后才能 进行,但流程定义好以后基本不会出现需要大面积修改的情况。 这两种流程的协同定义都将会在本系统中提供给用户根据实际情况参考选择使 用。 中山大学硕士论文基于b p e l 引擎的多级流程协同定义和部署 2 4 流程定义和部署的现状分析 在集中式工作流定义方式中,工作流模型的建立一般采用由顶向下的阶梯建 模方法,工作流模型由建模人员用建模工作,按照逐步分解,逐步细化的方法完成。 这就要求建模人员熟悉全部的企业业务过程。然而当工作流模型不只是在一个企 业内部时,或者由于系统保密,过程定义必须由不同的企业不同的建模人员协作完 成,最后采用由底向上的方法进行模型的连接和匹配,从而形成整个工作流模型, 然而模型的集成实现最为困难。 工作流模型的分布式定义是指在一个分布的环境下由参与人员协作完成工 作流模型的定义。对于流程定义和部署,国内外的学者进行了不少研究。 褚红伟【1 4 】等将主业务流程中子流程的建模分布在其他工作流系统上。不同的 企业伙伴各自完成其内部流程模型的建立,并只对外公开这些内部模型的相关交 互接口以便实现不同企业工作流模型之间的连接。这样的工作流模型是自底向 上综合和自顶向下分解两种方法的组合【1 5 1 。自顶向下的分解过程完成整个跨工 作流系统、跨企业流程的分解,各个企业伙伴完成其内部流程建模后,采用自底向 上综合进行模型的连接和匹配,从而形成整个工作流模型。主业务流程建模时,对 于外部过程节点,若对w 曲服务采用静态调用,在建模时直接指定其u 甩若按动态 绑定方式,即在流程运行时,向注册中心设定一个查询条件,依据查询结果通过 s o a p 协议和w 曲服务中的远程对象绑定,实现调用,在建模时需指定查询条件;对 于内部过程节点,设置相关调用参数,并将返回结果设置到流程模型中。 曹军【1 6 】等建议建模人员统一进行流程定义,然后将定义好的流程编译成 x p d l 文件的格式,最后将x p d l 流程进行分片执行。这是典型的采用集中式建 模,分布式执行的一种方法。 付松龄n 刀等提出在流程建模阶段,管理员通过管理员用户w e b 界面,用w s f l 以及其它工作流建模工具进行工作流建模。其中建模工具可以装在客户端,也可 以装在服务器端( 作为服务器端的“原有应用组件”) 。如果装在服务器端则由 主控工作流机进行调用和管理,而建模工具则根据需要调用中央模型库中的元模 型以完成建模工作。建模完成之后由主控工作流机分配各工作流节点给各执行工 作流机。 李达【”】等将流程建模阶段分为准备阶段和流程定制阶段。在准备阶段主要使 1 2 中山大学硕士论文基于甄引擎的多级流程协同定义和部署 用w s d l a f 成工具将企业原有的各个系统功能模块封装成w s d l 支:档供工作流 引擎调用。而在流程定制阶段使用流程定制工具定义流程。 m a r t i np m - v i s 19 】等提出的分布式工作流管理系统的流程定义工具是一个基于 j h o t d r a w 包【2 0 】的网格编辑器。它提供的图形化的流程编辑界面,并能将流程以文 本格式的形式储存在一个文件里。同时,在流程管理员对流程进行定义和编辑时 提供语法检查的功能。但是,这种流程定义工具制作的不同流程文件之间没有建 立关联,缺乏相互沟通的机制。 b a ix i a o m i n g 2 1 】等提出了基于s o a 的安全的分布式工作流管理系统的架构。 他提出了一种工作流流程的定义和监控工具。通过这个工具可以详细的制定流程 的任务和相关约束。定义任务时必须输入任务的名字和执行的时间。定义任务之 间的约束关系则必须指定子任务和父任务。如何一个流程必须调用一个异地流程 作为其子流程,则必须向安全的流程服务器注册中心申请。然后,安全流程服务 器查找相关的流程定义提供给流程定义和监控工具当流程定义好后,该流程则 被注册到安全流程服务器以供其他流程调用。 m i n k y ul c d 2 2 1 等为了解决工作流流程在并行执行时的访问冲突的问题,提出 了结构化的工作流定义语言。它通过执行时期的设置参数来解决并行流程的工作 流访问冲突的问题。 文献【1 6 1 7 , 埔9 1 ,虽然实现了定义流程的分布式执行,但在流程定义初期都 保留了集中式工作流管理系统的统一定义流程的缺点,未考虑到分布式工作流管 理系统中异地流程管理员之间的协同工作的重要性文献【2 ,虽然能够解决数 据访问冲突的问题,但是并没有提出具体方案和工具来定义流程,实现流程的 分布式的定义和部署。文献f 1 ,2 l 】都提出了基于服务的工作流流程的定义方法, 但是它们均没有全面考虑分布式流程定义时面临的问题,只考虑了其中的某方面 的因素。同时,文献2 1 1 也没有考虑到基于服务的工作流流程部署的问题。 1 3 中山大学硕士论文 基于b p e l 引擎的多级流程协同定义和部署 第3 章分布式协同建模的设计 本文研究是以广州市科技项目“分布式突发卫生事件信息调查系统”为背景 的。根据这个项目的应用背景,采用当前的热门技术分布式工作流技术,我 们提出了这个整体解决方案。同时,其中所涉及的问题对分布式工作流技术的研 究也具有重要的意义。下面我们将从需求分析中引入我们的总体方案。 3 1 项目需求概述 分布式突发公共卫生事件信息调查系统是一个多级树型结构的系统,如省级 负责监控市级,市级则负责管理到区县,这样一级级向下直到终端用户,如图3 1 所示。一个调查过程可分为定义、发布、部署、启动、执行、数据采集、过程监 控等。 在调查过程中,每一级都可以根据自己的需要自行地发起调查。每一次调查 都可能需要一个或多个下级定义相应的流程与之配合。在这个过程中,上一级可 以在定义好自己的流程之后发布,系统则自动提取流程定义任务发送到指定的下 级,也可以先分析所需的流程定义任务发布出去再详细定义自己的流程。上级还 可以根据自己的需要管理调查和对各级任务的执行情况进行查看监控,以确保调 1 4 基于b p e l 引擎的多缓流程协同定义和部署 直的顺利完成。 系统的数据流如图3 2 所示。上级向下级传递的数据主要是流程定义、调查表 定义和元数据,下级向上级传递调查数据。 在分布式突发公共卫生事件调查中,每一次调查都需要定义不同的流程。这 就要求系统能灵活地根据不同的调查进行不同的流程定义,由此可以看出,突发 公共卫生事件调查系统和工作流技术能很好的结合在一起。工作流技术能为系统 提供高度灵活的多级流程定义和部署功能。如何使多级流程得到快速,准确地定 义和部署是此项目需重点解决的关键问题之一。这也是本人主要负责解决的问 题。 从用户的角度上出发,我们可以得出流程管理员从定义调查,部署调查,直 至启动调查的步骤如下: 1 完成本级流程的构思 2 使用a c t i v e b p e ld c s i g n e r 摧i 述流程的w s d l 3 使用a c t i v c b p e ld c s i g n c r 面i b p e l 流程,生成b p e l 文件 4 使用a c t i v e b p e ld e s i g n e r 进行部署描述生成p d d 文件 5 使用x f o n n d 、- r 具对e p id a t a 进行转换生成流程相关的x f o r m 表单登陆系 统 1 5 中山大学硕士论文基于b p e l 引擎的多级流程协同定义和部署 6 将第2 ,3 ,4 步生成的w s d l ,b p d ,p a d 等文件读入系统并绑定第6 步完成的 x f o r m ( 流程级绑定1 7 对每个活动进行x f o r m t 邦定( 活动级绑定) 8 选择需要定制分配策略的活动( 人工活动) 9 对相应的人工活动进行各方面策略的定制 l o 将调查进行扩展操作,将扩展的流程定义任务发布到下一级 1 1 等待下级返回完成调查部署的信息 1 2 确认所有下级调查已经部署完毕 1 3 使用a e t i v e b p e ld e s i g n e r 进行调查的发布 1 4 启动调查 根据以上的步骤分析和对调查定义和部署期的深入研究可知,流程管理员定 义和部署调查的具体步骤如下: 1 首先使用a c t i v e b p e ld e s i g n e r 进行流程定义 2 登录本系统,将定义好的流程存入系统中。调查相关的信息主要有调查 名、调查u r l 、w s d l 文件、p d d 文件、b p e l 文件、x f o r m 表单。同时, 系统将流程状态自动设置为“未提取任务”,调查类型设置为“发起”。 3 选择需要未提取任务的调查进行任务提取,并将刚提取的任务状态设置 为“未发送”。任务信息主要有所需子调查的u r l 、所需子调查的输入信 息、所需子调查的输出信息和发起任务的流程管理员m 。这些任务信息 大部分来自父调查的信息。 4 查看父调查提取的所有任务,并对相关的任务添加相关的任务说明。 5 流程管理员将需要发送的任务发送出去,同时该任务的状态自动设置为 “已发送”。发送任务的过程就是调用相应下级提供的部署服务的任务接 收操作,同时根据流程管理员的相关信息分配该任务。 6 当父调查相关的所有任务都发送完之后,系统自动将该父调查设置为“已 发布”。 7 下级流程管理员登录系统后便可看到

温馨提示

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

评论

0/150

提交评论