(计算机科学与技术专业论文)基于bpel工作流引擎的研究与实现.pdf_第1页
(计算机科学与技术专业论文)基于bpel工作流引擎的研究与实现.pdf_第2页
(计算机科学与技术专业论文)基于bpel工作流引擎的研究与实现.pdf_第3页
(计算机科学与技术专业论文)基于bpel工作流引擎的研究与实现.pdf_第4页
(计算机科学与技术专业论文)基于bpel工作流引擎的研究与实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机科学与技术专业论文)基于bpel工作流引擎的研究与实现.pdf.pdf 免费下载

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

文档简介

北京邮电火学计算机科学o j 技术学院硕上学位论文 基于b p e l 工作流引擎研究与实现 摘要 工作流起源于生产过程和办公自动化领域,它作为一个新的研究 方向受到人们的关注。工作流管理联盟成立后,该联盟致力于工作流 的标准化工作,白此,工作流的技术研究以及相关产品的开发进入了 繁荣的阶段,很多新技术被集成进来,文件管理系统,数据库,电子 邮件,移动计算,互联网服务等被容纳到工作流管理系统中。按照工 作流标准的发展,目前主要分为纯x m l 技术和w e bs e r v i c e 两大类。 w s b p e l2 0 作为基于w e b 服务的标准之一,它描述如何处理 输入的消息,把它看成x m l 形式的编程语言,将w e bs e r v i c e 组合 成控制流,将消息用s o a p 进行封装,通过w e bs e r v i c e ,应用程序 可以用标准的方法把功能和数据暴露出来,供其他系统使用。 本文的研究以华电工程公司企业门户改造项目为背景,该系统用 于该公司办公自动化系统的信息分类与分析,并集成原有的业务系 统,需要在各异构系统间进行人工参与,如单据填报,报表提交等。 本文首先介绍了工作流技术背景、工作流产品以及国内外研究现 状;介绍了工作流的基本概念、理论依据、参考模型、相关规范等知 识;最后,根据项目需求,设计并实现了一个轻量级的工作流引擎, 该引擎支持人工任务,并通过验证引擎可用性而成功部署到企业门户 中。 关键词:工作流b p e lw e b 服务工作流引擎 北京邮电大学计算机科学i 技术学院硕! l :学位论文 t h ed e s i g na n di m p l e m e n t a t i o n0 f w o r k f l o we n g i n ef o rb p e l t h ew o r kf l o wt e c h n o l o g yo r i g i n a t e df r o mt h ef i e l do fp r o d u c t i o n p r o c e s sa n do f f i c ea u t o m a t i o n a st h en e wd e v e l o p i n gd i r e c t i o n ,i t i s c o n c e m e db ym o r ep e o p l e 。s i n c ew o r k f l o wm a n a g e m e n tc o a l i t i o nw a s s e t u p i tc o m m i t st ot h es t a n d a r d i z a t i o nw o r k f r o mt h e no n ,w o r k f l o w t e c h n o l o g yr e s e a r c ha n dt h ed e v e l o p m e n to fr e l a t e dp r o d u c t st oe n t e rt h e p r o s p e r o u s ,a n dal o to fn e wt e c h n o l o g yh a sb e e ni n t e g r a t e di n ,d o c u m e n t m a n a g e m e n ts y s t e m s ,d a t a b a s e s ,e - m a i l ,m o b i l ec o m p u t i n ga n di n t e r n e t s e r v i c e sr i gt oa c c o m m o d a t ew o r k f l o wm a n a g e m e n ts y s t e m i n a c c o r d a n c ew i t ht h ed e v e l o p m e n to fs t a n d a r d sf o rw o r k f l o w ,t h ek e yi s p u r ee x t e n s i b l em a r k u pl a n g u a g ea n dw e bs e r v i c e st e c h n o l o g yt w o c a t e g o r i e s a so n eo ft h ec r i t e r i ab a s e do nw e bs e r v i c e ,b u s i n e s sp r o c e s s e x e c u t i o nl a n g u a g ef o rw e bs e r v i c ev e r s i o n2 0d e s c r i b e sh o wt o p r o c e s st h ei n p u tm e s s a g e si nt h ew a y o fan e wk i n do fp r o g r a ml a n g u a g e c o n t r o l l i n gv a r i e so f 朊bs e r v i c ea n du s i n gs i m p l eo b j e c ta c c e s s p r o t o c o lt of o r m a tt h em e s s a g ei nt h ef o r mo fx m l s o m ei n f o r m a t i o n s y s t e mc a ne x p o s et h e i rf u n c t i o no rs o m ed a t ai nt h es t a n d a r df o r m st o p r o v i d et oo t h e rp a r t i e st h r o u g ht h e 、e bs e r v i c e t h er e s e a r c hi sb a s e do nap r o j e c tc a l l e d c h e ce n t e r p r i s e i n f o r m a t i o np o r t a l t h i ss y s t e mi su s e df o ro as y s t e m si n f o r m a t i o n c o l l e c t i n g ,a n a l y z i n g a n d i n t e g r a t i n g t h e o r i g i n a ls y s t e m b e t w e e n v a r i e t i e sd i f f e r e n ts y s t e m s ,s o m eo p e r a t i o n ,f o re x a m p l e ,t h ef o r m sf i l l i n g a n dp r o p o s i n g ,a r ee a s yt ob ed o n e 3 f i r s t l y ,t h i sp a p e ri n t r o d u c e s t h e b a c k g r o u n do f t h ew o r k f l o w t e c h n o l o g y ,s o m ep r o d u c t so fw o r k f l o wa n dt h er e s e a r c hs t a t u sq u oa t h o m ea n da b r o a d s e c o n d l y ,t h i st h e s i sd e s c r i b e ss o m eb a s i cc o n c e p t so f t h ew o r kf l o w ,t h et h e o r e t i c a lb a s i s ,t h er e f e r e n c es t a n d a r dw o r k f l o w m o d e l ,t h er e l e v a n tn o r m sa n dr e l a t e dt e c h n o l o g ya n do t h e rk n o w l e d g e a t l a s t ,a c c o r d i n gt h ep r o j e c tn e e d s ,id e s i g na n di m p l e m e n tal i g h t w e i g h t w o r k f l o we n g i n et h a ts u p p o r t sh u m a nt a s k s a n dt h r o u g ht e s t i n g ,t h i s e n g i n eh a sb e e nd e p l o y e do nt h ee n t e r p r i s ep o r t a l k e yw o r d s :w o r k f l o w , b p e l ,w e bs e r v i c e ,w o r k f l o we n g i n e 4 北京邮也人学计算机科学与技术学院硕上学位论文 索引 w o r k f l o w工作流 w f m cw o r k f l o wm a n a g e m e n tc o a l i t i o n ,工作流管理联盟 x p d lx m l - b a s e dp r o c e s sd e s c r i p t i o nl a n g u a g e ,基于x m l 的流程定 义语言 o a s i s o r g a n i z a t i o nf o rt h ea d v a n c e m e n to fs t r u c t u r e di n f o r m a t i o n s t a n d a r d s ,结构化信息标准促进组织 w 3 cw o r l dw i d ew e bc o n s o r t i u m ,万维网联盟 w s c d lw e bs e r v i c e sc h o r e o g r a p h yd e s c r i p t i o nl a n g u a g e ,w e b 服务 编排描述语言 w s f lw e bs e r v i c ef l o wl a n g u a g e ,w e b 服务流程语言 soas e r v i c e o r i e n t e da r c h i t e c t u r e ,面向服务的构架 b p e lb u s i n e s sp r o c e s se x e c u t i o nl a n g u a g e ,商业流程可执行语言 s o a p s i m p l eo b j e c t a c c e s sp r o t o c o l ,简单对象访问协议 u d d iu n i v e r s a ld e s c r i p t i o n ,d i s c o v e r ya n di n t e g r a t i o n ,统一描述,发 现和集成 w s d lw e bs e r v i c ed e s c r i p t i o nl a n g u a g e ,w e b 服务描述语言 x m le x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言 o r c h e s t r a t i o n ,编制 c h o r e o g r a p h y ,编排 p o r t a l 门户 c o r b a c o m m o no 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 ,公共对象请求代 理体系结构 d c o md i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ,分布式组件对象模型 5 5 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论 本人签名: 处,本人承担一切相关责任。 日期:型:生! ! : 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在校 攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国家有关部 门或机构送交论文的复印件和磁盘,允许学位论文被奄阅和借阅;学校可以公布学位论 文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后遵守此规定) 北京邮电大学计算机科学与技术学院硕上学位论文 1 。1 。工作流技术背景 1 1 1 工作流发展史 第一章绪论 工作流起源于生产过程和办公自动化领域,后来作为一个新的研究方向,受 到人们的关注。工作流的概念是在现代信息系统建设中逐步发展起来的,按其发 展历程把它划分为三个阶段: 电子数据流阶段:主要是指人们为了减轻在作业流程中的计算强度,针 对企业单项业务进行处理,不涉及管理的内容。 事务处理流阶段:主要是指人们针对企业的局部业务的管理,如设计一 套流程来管理物资采购和供应。 信息管理流阶段:主要是指人们开始针对企业的全局业务的管理,为了 完成同一目标而相互衔接、自动进行的一系列业务活动或业务。 工作流标准的发展,如图1 1 所示,为工作流技术的发展提供了方向和依据。 b p e l 4 w s1 0 b p e l 4 w si i w s - c d l x l a n gw s f l ( m i c r o s o f t )( i b m ) d l i o ( w f m c ) d l2 0 b p e l 4 p c o p l e & & w s - h m n a n t a s k ( w f m c )( o a s i s ) 图卜1 :工作流标准发展进程 从上图可以看出,b p e l 4 w s ( b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g ef o rw e b s e r v i c e s ,网络服务商业流程执行语言) 1 0 1 1 l 的前身是m i c r o s o f t 的x l a n g l 2 l 和 i b m 的w s f l 3 j ( w e bs e r v i c er o wl a n g u a g e ,服务流程语言) 。2 0 0 2 年,i b m 、 m i c r o s o f t 和b e a 为了规范和和统一业务流程建模,结合了w s f l 和x l a n g 两 种语言的特点,联合发布了b p e l 4 w s ,它的发布并没有引起业界的广泛关注, 它只是拉开了b p e l 发展的序幕。随后,在s i e b e l 和s a p 的协力帮助下,b p e l 4 w s 北京邮f 乜人学计算机科学j 技术学院硕l :学位论文 1 0 的改良版b p e l 4 w s1 1 【4 】在2 0 0 3 年5 月发布,这是一次具有里程碑式的版本 升级,同时,b p e l 被移交给o a s i s ( o r g a n i z a t i o nf o r t h ea d v a n c e m e n to fs t r u c t u r e d i n f o r m a t i o ns t a n d a r d s ,结构信息标准化促进组织) ,o a s i s 成立了w s b p e lt c ( t e c h n i c a lc o m m i t t e e ,技术委员会) 来负责b p e l 的升级和技术支持。这使得 b p e l 开始转变成为业界的标准,此后b p e l 引起了业界2 0 0 多家大公司( 包括 i b m 、m i c r o s o f t 、o r a c l e 等) 和科研机构的重视和拥护,成为b p m ( b u s i n e s sp r o c e s s m a n a g e m e n t ,商业流程管理) 在w e b 服务编排领域事实上的标准。2 0 0 7 年4 月 1 2 日,w s b p e lt c 表决通过了b p e l2 0 标准【5 1 ,使得b p e l 在语言完整性、 严谨性上更进一步。为了完善b p e l 规范,处理好与用户界面之问的交互问题, o a s i s 发布了b p e l 4 p e o p l e1 0 规范1 6 l 和w s h u m a n t a s k1 0 规范 7 1 ,用来支持在 b p e l 流程中进行人工交互。 工作流发展至今天,已有超过1 0 家工作流标准组织定制不同的工作流标准, 较有影响力的三家为w f m c ( 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 ,工作流管理联盟) 的x p d l2 0 ( x m l - b a s e dp r o c e s sd e f i n i t i o nl a n g u a g ev e r s i o n2 0 ,基于x m l 的 流程定制语言,版本2 0 ) f 引、o a s i s 的w s b p e l2 0 1 5 j 以及w 3 c ( w o r l dw i d ew e b c o n s o r t i u m ,万维网联盟) 的w s c d l l 0 ( w e bs e r v i c e sc h o r e o g r a p h yd e s c r i p t i o n l a n g u a g ev e r s i o n1 0 ,w 曲服务编排描述语言,版本1 0 ) 9 1 。 1 1 2 工作流产品 目前,市场上已出现了针对不同行业领域的工作流引擎产品,根据工作流标 准的不同以及发展阶段不同,大致分为两类: 1 以开源项目s h a r k 为代表的,根据w f m c 的x p d l 来定义流程的工作流 引擎;s h a r k 中的每一个组件例如持久层,事务管理器,脚本引擎,流 程库都是可以按照标准实施运用的,而且还可以被具体项目的模块扩展 和替换。类似的工作流产品还有:o f b i z ,o b e ,o s w o r l 【f 1 0 w 等。 2 另一类以a c t i v ee n d p o i n t s 公司的a c t i v e b p e l 为代表的新一代支持w e b 服务的工作流引擎【l l j ;a c t i v e b p e l 可以执行用户按w s b p e l2 0 规范 编写的业务流程。类似的工作流产品还有:b o n i t a ,t w i s t e r 等。 1 1 3 研究现状 由于目前工作流标准没有统一的界定,全球各标准组织各执一词,坚定的推 行自己的标准。在众多标准之中,x p d l ,w s b p e l ,w s c d l 为三大主流标准。 本小节描述了关于w s b p e l 的研究现状,同时也介绍了与其他二者的不同。 2 北京邮电人学计算机科学1 j 技术学院磺f :学位论文 1 1 3 1 国外研究现状 国外研究工作流起步较早,研究的课题也较为前沿,随着世界各标准机构制 定的工作流标准的发布,国外对于工作流标准的争论也始终围绕着应该采用哪种 标准作为业界统一的规范来开发工作流引擎及工作流管理系统。 1 1 3 11x p d l 与w s b p e l 的区别 w f m c 是最早致力于制定工作流标准的国际标准组织,它的宗旨是围绕着商 业流程管理的生命周期来建立标准。目前该组织推行x p d l2 0 工作流标准。 与o a s i s 推行的w s b p e l 2 0 标准有如下不同【m j : w s b p e l 更专注于支持基于w e bs e r v i c e 的自动化业务流程,随着 b p e l 4 p e o p l e 扩展规范的发布,进而支持人工参与。 w s b p e l 使用s e q u e n c e ,i f e l s e ,p i c k ,l i n k s 等结构化x m l 元素来表 述对w e bs e r v i c e 的调用顺序关系。 w s b p e l 使用a s s i g n ,f r o m t o 等x m l 元素来执行流程属性的赋值运算。 而面向服务的构架( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s o a ) 强调服务的概念, 应尽可能的集成和整合社会遗留系统和信息服务孤岛,以便更好的完成系统功 能。从这个角度来看,w s b p e l 更适合今后的发展趋势。 1 1 3 1 2 w s c d l 与w s b p e l 的区别 要了解w s c d l 和w s b p e l 的区别,首先必须了解编制( o r c h e s t r a t i o n ) 和编排( c h o r e o g r a p h y ) 的概念。 编制是指从b p e l 流程自身角度出发,以自我流程为中心调用所需要的w e b 服务,达到一个更新的w e b 服务的集成目标,w e b 服务支持方并不知道自己所 在整个流程中的角色和作用,所以整个系统缺乏宏观的概念。而编排就给出了较 为完整的视角。它从整个合作场景出发,将每一个服务组织起来,利用每一个资 源的优点,各司其职,从而完成一项大的任务。如图1 2 及图1 3 所示: 3 北京邮电人学计算机科学与技术学院硕l :学位论文 图卜2 :编制 图卜3 :编排 w s b p e l 属于w e b 服务编制标准,而w s c d l 则属于w e b 服务编排标准。 这两种标准是不同层面上的概念,且两者看问题的角度不一样。例如,在一个涉 及购买方,贩卖方,银行,运输四个参与者的场景,需要按照每一个参与者的角 度书写4 个b p e l 流程,并做并行执行来描述这个场景,同时也可以写一个c d l 流程作为整个场景的描述。c d l 的开发模型是自上而下的,而b p e l 的开发模 型的自底向上的。但是由于c d l 还没有一个编译器能够实现,并且在实际开发 当中尚在探索阶段,就算不引进c d l 开发也是可以进行的。故在本系统中使用 b p e l 来进行开发。 1 1 3 2 国内研究现状 相对国外而言,国内对于工作流技术的研究起步相对较晚,虽然有许多研究 机构和部分公司在进行工作流产品的研究和开发,但是由于没有形成统一的联盟 和标准组织,产品和成果零散,发展缓慢。 清华大学的吴澄院士、范玉顺教授以及史美林教授首先展开了对工作流技术 4 北京邮电人学计算机科学与技术学院硕j :学位论文 的研究。吴澄院士和范玉顺教授就工作流技术的理论基础、工作流建模与仿真、 工作流引擎的执行与效率分析、工作流管理系统的实现等,展开了工作流技术在 现代集成制造系统应用上的研究,并实现了基于w e b 和c o r b a ( c o m m o no b j e c t r e q u e s tb r o k e ra r c h i t e c t u r e ,公用对象请求代理体系结构) 的工作流管理系统 1 1 2 j 【1 3 】。而史美林教授则对工作流的实现技术、工作流的异常处理及恢复等提出 了独到的看法,同时也实现了基于互联网的工作流处理系统1 1 4 l i l 5 】。西北大学郝 克刚教授在有关工作流建模工具,工作流管理系统中的异常处理和工作流的实现 技术等方面具有独到见解,并与公司协同合作,实现了商业意义的工作流管理系 统s y n e c t f l o w ,取得一定的成就1 1 6 1 1 2 主要工作 本课题以中国华电工程( 集团) 有限公司信息门户系统为项目背景,其中的 工作流系统作为该平台一个不可缺少的一部分被加以研发。该系统用于该公司办 公自动化系统的信息分类与分析,并集成原有的业务系统,需要在各异构系统间 进行人工参与,如单据填报,报表提交等。其中核心部分为基于b p e l 规范的轻 量级的工作流引擎。 在毕设期间作者完成了以下工作: 1 本文首先介绍了工作流的背景、发展史和一些工作流产品等知识以及当 前研究的热点和问题。 2 分析和研究了w s b p e l2 0 规范、b p e l 4 p e o p l e1 0 规范和 w s h u m a n t a s k1 0 规范,并提出一种分层数据结构设计来保存流程文 件。 3 分析工作流引擎工作机制,提出多线程并发的调度模型,提高运行效率。 4 完善b p e l 在人工任务方面的功能缺陷,根据最新的b p e l 4 p e o p l e 扩展 规范及w s h u m a n t a s k 扩展规范,给出b p e l 工作流引擎核心框架。 5 开发b p e l 工作流引擎。 6 基于华电工程公司的企业信息门户平台,对本引擎的执行情况进行了验 证。 5 北京邮i 乜人学计算机科学j 技术学院硕j :学位论文 第二章相关理论及规范 本章介绍工作流的相关理论及规范。首先介绍了工作流的基本概念,其次, 介绍了工作流的理论根据p e t r i 网理论,工作流系统,包括工作流引擎的参 考模型,为本引擎设计提供了标准规范,并对本引擎的采用的工作流标准 w s b p e l2 0 规范及b p e i a p e o p l e1 0 和w s h u m a n t a s k1 0 扩展规范进行了描 述和讲解。 2 。1 工作流基本概念 1 9 9 3 年,w f m c 成立,标志着工作流技术开始进入相对成熟的阶段。w f m c 给出的工作流的定义为:工作流就是一类能够完全或者部分自动执行的经营过 程,它根据一系列过程规则,文档、信息或人物能够在不同的执行者之间进行传 递与执行。 在工作流领域,过程是最受关注的本体。一个离散事件称为一个案例,例如: 设计房屋,制造床铺等。这些案例工作都是离散的,都有着开始和结束,并在一 个特定的流程中被执行。一个流程是由许多被执行的任务和一系列决定任务执行 次序的条件构成。 作为流程的一个例子,如图2 1 所示为一个公司采购流程: 6 北京邮电大学计算机科学与技术学院硕上学位论文 2 1 1 案例 图2 一l :公司采购流程 工作流管理系统的基本目的是处理案例。保险索赔,抵债申请,税收申报, 下订单,就诊等等都是案例。每个案例都有一个惟一标识,且每个案例的生命周 期都是有限的。以采购原料为例,提出采购订单意味着案例在工作流系统中出现, 直到订单处理结束,它就会从工作流系统中消失。一个案例在出现和消失之间都 会处于一种特定的状态,该状态由三个元素组成:( 1 ) 案例相关属性值;( 2 ) 已 经满足的条件;( 3 ) 案例内容。 当处理采购订单时,案例属性不能说明案例的进展,但是条件可以,可以把 条件看作一个任务被执行的前提,只有当某案例满足了一个任务的所有条件后, 任务才能被执行。除了属性和条件以外,工作流系统不保存案例内容的细节。 2 1 2 任务 任务是一个工作的逻辑单元,它不可被分割且必须完整执行。如果在执行任 务期间发生任何错误,任务必须回滚。任务有三种类型:手动的,自动的,半自 动的。任务泛指一般的工作单元,并非某案例活动的一次具体活动。而工作项是 指案例和将要执行的任务的结合体。只要案例状态允许,工作项就被创建。工作 项是要被执行的实际的工作块。活动就是指工作项的实际执行。三者关系类似于 7 北京邮1 1 1 人学计算机科学o j 技术学院硕l 学位论文 基类,继承父类的子类,对象。 2 1 3 流程 流程由任务和条件构成。流程指出了哪些任务需要被执行,以什么次序执行。 流程定义了案例的生命周期,每个流程都有开始和结束,用来分别标识案例的出 现和完成。 2 1 4 路由 流程决定了案例的生命周期,其称之为案例的“路由 。沿着特定分支的路 由决定哪些任务需要被执行。路由有4 种基本的结构:( 1 ) 顺序执行;( 2 ) 并行 路由;( 3 ) 选择路由;( 4 ) 循环路由。 2 2 p e t ri 网 1 9 6 2 年,c a r la d a mp e t r i 提出了p e t r i 网理论,它作为一种过程建模和分析 的工具,被证明是图象化描述过程的强有力工具。利用p e t r i 网理论进行过程建 模与分析是一种严格的过程形式化方法。统一利用p e t r i 网理论避免了模糊性、 不确定性和矛盾性。尽管p e t r i 网是图形化的,但是它有坚实的数学基础。本节 主要介绍基本的p e t r i 网理论知识。 p e t r i 网由库所和变迁组成,用圆圈表示库所,用矩形表示变迁,库所和变 迁都用有向弧连接。有两种类型的弧:从库所到变迁,从变迁到库所。从库所到 库所和从变迁到变迁都是不允许的。库所内可以容纳标记,用黑点表示。如图 2 2 : 图2 2 :传统p e t r i 网 p e t r i 网的结构是固定的,但是库所中的标记是可变的。变迁记录从库所中 获取标记并放到库所中处理,这一行为称之为对变迁记录的实施1 1 7 1 。 8 北京邮电大学计算机科学与技术学院硕- j :学位论文 2 3 参考模型 w f m c 发布的工作流系统参考模型为本引擎开发提供了模型参考。如图2 3 所示,工作流管理系统的核心是工作流运行引擎。 图2 3 :工作流管理系统参考模型 接口1 是工作流运行服务和工作流定义工具间的接口,包括工作流模型的 解释和读写访问; 接口2 是工作流运行服务和客户方应用之间的接口,这是最主要的接口规 范,它约定所有客户方应用和工作流运行服务之间的功能访问方式; 接口3 是工作流引擎和供调用应用间的接口,实现该接口规范的功能应用可 以被工作执行服务模块( 工作流引擎) 调用; 接口4 是工作流管理系统之间的互操作接口,这是构造大规模分布式工作流 系统的重要接口标准,通过该接口,不同的工作流管理系统可以实现互连或集成: 接口5 是工作流运行服务和工作流管理工具之间的接口,对工作流进行监控 和协调的功能模块可以通过该接口获取工作流实例和活动的运行状态和其它信 息,也可以修改活动的运行状况。【1 8 】 2 4 相关规范 9 北京邮i u 人学计算机科学j 技术学院硕i :学位论文 2 4 1 w s - b p e l2 0 规范 w s b p e l 2 0 规范规定,b p e l 语言建立在以下规范之上:w s d l l 1 【1 9 l ( w e b s e r v i c e sd e s c r i p t i o nl a n g u a g e ,w e b 服务描述语言) ,x m ls c h e m a1 0 【驯和 x p a t h l 0 1 2 。其中w s d l 消息和x m ls c h e m a 类型定义为b p e l 提供了数据类 型;x p a t h 为数据操作提供了支持;所有的外部资源都由w e b 服务来表示。在 b p e l 中流程及其伙伴都被建模成w e b 服务,而业务流程定义了怎样协调流程实 例与他的伙伴之间的交互。 b p e l 的思想就是利用细粒度的w e b 服务整合出一个新的、粗粒度w e b 服 务。将这个整合过程看成一个业务流程。而整合了w e b 服务后,这个流程可以 单独的发布为一个w e b 服务,其接口也能被w s d l 描述成p o r t t y p e 的集合。 b p e l 在w e b 服务堆栈中是处于一个高层的位置,得到低层w e b 服务相关 标准的支持,如图2 4 所示: 图2 4 :w e b 服务堆栈 从上图可以看出,与b p e l 关系较为密切的是:w s a d d r e s s i n g l 2 2 1 、 w s s e c u r i t y l 2 3 】、w s d l l 2 4 j 【2 5 l 等。 为了使描述更形象具体,这里引述公司采购原料的流程来了解w s b p e l 2 0 规范。图2 5 为公司采购原料的b p e l 流程图: 1 0 北京邮电大学计算机科学0 技术学院硕。l 二学位论文 f r o mp o r t a l r e c e i v e 、 、 r c r e d i t c o r d i n nc r e d i tc h e c kl c a t e g o r v s e r v i c e 厂 铺3 a s u 刚衙6一【s u p p l 衙 【p r i c e1 -g e t p r i c e r a p i d i 向p r i c es d e a 哥p r i c e q u o t e 【 丑q i i o t c i 油i c e9ws e r v i c e - 厂 同步服务,如c r e d i tc h e c ks e r v i c e ; 异步服务,如:r ds u p p l i e rp r i c eq u o t es e r v i c e 以及m as u p p l i e rp r i c e q u o t es e r v i c e 等。 例如:c r e d i tc h e c ks e r v i c e 提供c r e d i t c h e c k s t a t u s p t 端口类型,通过它可以 使用c r e d i t c h e c k s t a t u s 操作来检查账户状态,如图2 6 所示: 北京邮i 乜人学计算机科学j 技术学院硕一i :学位论文 图2 6 :账户查询w e b 服务 而查询供货商价格w e b 服务是异步调用;因此需要指定两个端口类型 p r i c e a v a i l a b l i t y p t 用于查询价格。为了返回结果,供货价格查询w e b 服务指定 了第二个端口类型p r i c e c a l l b a c k p t 。此端口类型制定p r i c e c a l l b a c k 操作。而供 货价格查询服务方只提供p r i c e a v a i l a b l i t y p t 的实现,p r i c e c a l l b a c k p t 需作为w e b 服务客户端的b p e l 流程来实现。 例如s u p p l i e rp d c eq u o t es e r v i c e ,如图2 7 : 2 4 1 1 伙伴链接类型 图2 7 :查询供货商价格 伙伴链接类型表示b p e l 流程与相关方( 包括b p e l 流程调用的w e b 服务 以及调用b p e l 流程的客户端) 之间的交互。 在这里选取两个合作伙伴链接类型来阐述: c r e d i t c h e c k l t :用于描述此b p e l 流程与账户查询w e b 服务之间的交互。 此交互是同步交互。此合作伙伴链接类型在账户查询w e b 服务的w s d l 中定义。 s u p p l i e r l t :描述此b p e l 流程与查询供货商价格w e b 服务之间的交互。此 交互是异步交互,且航空公司w e b 服务对此b p e l 流程调用一个回调。此合作 伙伴链接类型在供货商w e b 服务的w s d l 中定义。 每个合作伙伴链接可以拥有一个或两个角色,必须为每个角色指定它使用的 p o r t t y p e 。对于同步操作,由于操作只是单向调用,因此每个合作伙伴链接类型 1 2 北京邮电大学计算机科学与技术学院硕i :学位论文 仅有一个角色。对于异步回调操作,必须指定两个角色。第一个角色描述客户端 操作调用。第二个角色描述回调操作调用。 例如:与帐户查询w e b 服务交互时伙伴链接类型如下所示: 由于此链接为同步通信,所以只需定义一个角色。而与供货方查询价格w e b 服务的链接为异步通信,故在交互时伙伴链接类型如下所示: p i n k :r o l en a m e = ”s u p p l i e r p r i c e q u o t e s e r v i c e ” p o r t t y p e = ”p o s :p r i c e a v a i l a b i l i t y p t ) 2 4 1 2 伙伴链接 在b p e l 中,与业务流程交互的服务被描述为成伙伴链接( p a r t n e r l i n k ) 。每 个合作伙伴链接都与描述其特性的特定p a r t n e r l i n k t y p e 相关。 以本示例中的c r e d i t c h e c k s e r v i e e 链接为例,其伙伴链接定义如下: 当为同步操作时,一般只需描述p a r t n e r r o l e 就可以了;但是如果为异步操 作时就应该说明m y r o l e 和p a r t n e r r o l e 。 伙伴链接的数目决定于该流程有多少个交互方,如果在支撑流程的服务有n 个,面向客户的链接有m 个,那么原则上伙伴链接应该有n + m 个。而每个伙伴 链接大多包含n a m e ,p a r t n e r l i n k t y p e ,p a r t n e r r o l e ,m y r o l e 这些属性。n a m e 表示 伙伴链接的名字,用p a r t n e r l i n k t y p e 来描述伙伴链接的种类,所以一个 p a r t n e r l i n k t y p e 可以描述多个伙伴链接。业务过程本身的角色一般都是使用 m y r o l e 属性来描述,而相对的伙伴角色用p a r n t e r r o l e 来表示。 2 4 1 3 基本活动与结构化活动 b p e l 业务流程等待客户端传入消息,以启动业务流程的执行。以下为b p e l 流程定义文档的基本结构: x m l n s :s p r = “h t t p :e x p e r i m e n t c o m s e r v i c e s u p p l i e r r d ” b p e l 流程主体指定调用合作伙伴w e b 服务的顺序。它通常以 ( 用 】4 北京邮电大学计算机科学j 技术学院硕卜学位论文 于定义多个将按顺序执行的操作) 开始。在顺序中,首先指定启动业务流程的输 入消息。使用 构造( 它等待匹配消息,在本示例中为 p u r c h a s e o r d e r r e q u e s t 消息) 实现此目的。接下来按照参与 的执行路 由介绍语法规则。 2 4 1 3 1 r e c e i v e r e c e i v e 行为允许一个业务流程处于一个阻塞或等待的状态,直到某个符合 条件的消息到来。r e c e i v e 的可选属性c r e a t e l n s t a n c e 代表是否需要在消息到来之 时将构建一个流程的实例并启动业务流程。其v a r i a b l e 属性来指定输入消息的格 式。 r e c e i v e 格式如下: 2 4 1 3 2 a s s i g n a s s i g n 行为用于更新变量的值,一个a s s i g n 行为允许多个c o p y 元素。 使用r e c e i v e 传入p u r c h a s e o r d e r r e q u e s t 后,接下来调用c r e d i t c h e c k s e r v i c e w 曲服务,用a s s i g n 操作来为该服务准备输入。通过c h e c k c r e d i t s e r v i c e 的w s d l , 需要发送关于账户的信息,操作如下: 北京邮电人学计算机科学j 技术学院硕i :学位论文 2 4 1 3 3 i n v o k e 调用其他w e b 服务,一般都用来激活一个流程,他允许企业流程调用一个 由伙伴提供的一个p o r t t y p e 上的单向的或请求响应的操作:即调用某个w e b 服

温馨提示

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

最新文档

评论

0/150

提交评论