(计算机应用技术专业论文)基于web服务的分层工作流过程模型研究与设计.pdf_第1页
(计算机应用技术专业论文)基于web服务的分层工作流过程模型研究与设计.pdf_第2页
(计算机应用技术专业论文)基于web服务的分层工作流过程模型研究与设计.pdf_第3页
(计算机应用技术专业论文)基于web服务的分层工作流过程模型研究与设计.pdf_第4页
(计算机应用技术专业论文)基于web服务的分层工作流过程模型研究与设计.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

基于w e b 服务的分层工作流过程模型研究与设计 摘+ 要 工作流管理技术是从通过提高企业整体协作效率来提高企业生产效率的角 度出发,以企业业务过程为核心,以对企业的业务过程的过程逻辑为基础,不仅 提供对业务过程中的单个活动的支持,而且对活动之间的联系提供自动化或半自 动化的支持。因此,在企业信息系统中采用工作流管理技术,可以减少业务过程 中间环节的人为因素,提高活动之间的协调和控制的效率,从而达到企业整体业 务过程效率的最大化。随着现代企业的经营规模和生产规模的日益扩大,企业所 包含的信息资源迅速增长,相应的业务过程也越来越复杂,随着实际应用的不断 深入,人们对工作流技术提出更高的功能要求。伴随着企业的全球化和网络技术 的迅速发展,现代企业信息系统的分布、异构和自治等特性越来越明显,这要求 工作流管理系统能够经常运行在分布异构的松散环境下。 w e b 服务是一种部署在w e b 上的对象,它具有对象技术的优点,同时它还 是建立在以x m l 为主的、开放的w e b 规范技术基础之上,因此具有比任何现有 的对象技术的开放性。w e b 服务的出现,为实现在异构分布的松散环境下的企业 信息系统的集成提供了简便快捷的方案。 工作流管理系统实施是提高企业核心竞争力的有力措施,而工作流过程模型 是整个工作流管理系统的基础,本文在分析了现有工作流技术的研究状况的基础 之上,为了适应工作流管理系统对当前企业环境的需要,解决当前工作流管理系 统对分布异构松散的企业环境的支持的不足,在w e b 服务技术基础之上,提出 了一种层次化的工作流过程模型,该模型分为业务层和逻辑层,其中:业务层由 w e b 服务描述语言w s b p e l 建模,逻辑层采用基于e c a 规则的活动网络图进 行建模,而逻辑层和业务层通过活动和w e b 服务绑定的方法实现模型统一。由 于业务层的实现是基于w e b 服务的,能够轻易的在分布异构系统环境下轻易的 集成和执行,同时本文在过程模型中增加了事务活动和事务节点元素,为构建事 务工作流系统提供了模型支持。本文最后,在提出的工作流过程模型的基础之 上,给出了一个基于w e b 服务的面向虚拟企业的工作流管理系统的体系结构。 关键字:工作流;w e b 服务;过程模型;b p e l ;事务; t h er e s e a r c ha n dd e s i g no f l a y e r e dw o r k f l o wp r o c e s s m o d e lb a s e do n 臃bs e r v i c e s a b s t r a c t w o r k f l o wm a n a g e m e n tt e c h n o l o g yt a k e st h eb u s i n e s sp r o c e s s e sa st h ec o r ea n di t i sb a s e do nt h el o g i co ft h ep r o c e s s f o ri m p r o v i n gt h ep r o d u c t i v i t ye f f i c i e n c yo f e n t e r p r i s e s ,i tp r o v i d e sb o t hs u p p o r tf o r t h es i n g l ea c t i v i t i e so fb u s i n e s sp r o c e s s e sa n d a u t o m a t e do rs e m i a u t o m a t i o ns u p p o r tf o rt h el i n kb e t w e e nt h ea c t i v i t i e s t h e r e f o r e , a d o p t i n gw o r k f l o wm a n a g e m e n tt e c h n o l o g yt ot h ee n t e r p r i s ei n f o r m a t i o ns y s t e mc a n r e d u c et h eh u m a nf a c t o ri nt h eb u s i n e s sp r o c e s sa n di m p r o v et h ee f f i c i e n c yo fb o t h c o o p e r a t i o na n dc o n t r o l l i n go ft h ea c t i v i t i e s a n dt h a tc a nh e l pt oa c h i e v et h e e f f i c i e n c yo ft h eo v e r a l le n t e r p r i s e w i t ht h ei n c r e a s i n go fm o d e me n t e r p r i s e ss c a l eo f o p e r a t i o na n dp r o d u c t i o n , b u s i n e s sp r o c e s s e sa r ec o v e r e db yt h ec o o p e r a t i o no f r e s o u r c e sb e t w e e nd i f f e r e n tr e g i o n sa n db u s i n e s sp r o c e s s e sh a v et oo f t e nc h a n g et o a d j u s tt ot h ec h a n g i n gm a r k e td e m a n d w i t ht h ec o n t i n u o u sd e e p e n i n go ft h ep r a c t i c a l a p p l i c a t i o n , ah i g h e rf u n c t i o n a lr e q u i r e m e n ta b o u tw o r k f l o wt e c h n o l o g yi sn e e d e d d i s t r i b u t i o n ,h e t e r o g e n e i t ya n da u t o n o m yo fm o d e me n t e r p r i s ei n f o r m a t i o nb e c o m e m o r ea n dm o r er e m a r k a b l ew i t ht h ef a s t d e v e l o p m e n to fi tt e c h n o l o g ya n d e n t e r p r i s e sg l o b a l i z a t i o n t h i sm e a n sw o r k f l o wm a n a g e m e n ts y s t e ms h o u l dr u no n t h ed i s t r i b u t i o n ,h e t e r o g e n e i t ya n da u t o n o m ye n v i r o n m e n to f e n t e r p r i s e s t h ee m e r g e n c eo fw e bs e r v i c e sp r o v i d e sas i m p l ea n dq u i c ks o l u t i o nf o rt h e r e a l i z a t i o no ft h ee n t e r p r i s ei n f o r m a t i o ns y s t e mi n t e g r a t e di nt h eh e t e r o g e n e o u s , d i s t r i b u t i o na n dl o o s ee n v i r o n m e n t w e bs e r v i c ei so n eo ft h eo b j e c t sd e p l o y e do nt h e w e b ,i th a st h ea d v a n t a g e so fo b j e c tt e c h n o l o g y , a n di ti sb u i l to nt h ex m l - b a s e da n d o p e nt e c h n o l o g yo fw e bs t a n d a r d s ,s ow e bs e r v i c e s a r ev e r ys u i t a b l ef o r t h e e s t a b l i s h m e n to fd i s t r i b u t i o na n dh e t e r o g e n e o u sa p p l i c a t i o n s w o r k f l o wm a n a g e m e n ts y s t e mi m p l e m e n t a t i o ni st h ee f f e c t i v em e a s u r e st o i m p r o v et h ee n t e r p r i s e sc o r ec o m p e t i t i v e n e s s a n dt h ew o r l d l o wp r o c e s sm o d e li st h e b a s i so fw o r k f l o wm a n a g e m e n ts y s t e m f o ra d a p t i n gw o r k f l o wm a n a g e m e n ts y s t e m t ot h ec u r r e n tb u s i n e s se n v i r o n m e n tn e e da n dr e s o l v i n gt h e m a n a g e m e n ts y s t e ms u p p o r tn o te n o u g h t ot h ed i s t r i b u t i o na n dh e t e r o g e n e i t y e n t e r p r i s ee n v i r o n m e n t ,u n d e rt h ea n a l y s i so ft h ee x i s t i n gr e s e a r c ho ft h ew o r k f l o w t e c h n o l o g y , t h i sp a p e r r a i s e san e wh i e r a r c h i c a lw o r k f l o wp r o c e s sm o d e l i ti sd i v i d e d i n t ot w ol a y e r s :b u s i n e s sl a y e ra n dl o g i cl a y e r b u s i n e s sl a y e ri sb u i l tw i t hw s - b p e l a n dl o g i cl a y e ri sb u i l tw i t ha c t i v i t yd i a g r a mb a s e do ne c ar o l e s t h et w ol a y e r sg e t u n i f i e dt h o u g hb u n d l e dw e bs e r v i c e b e c a u s eb u s i n e s sl a y e ri sb a s e do nw e bs e r v i c e s , t h i sm o d e lc a l le a s i l yb eb u i l ta n dr t l ni nt h eh a de n v i r o n m e n t a n dn e we l e m e n t sa r e a d d e dt ot h ep r o c e s sm o d e l :t r a n s a c t i o na c t i v i t ya n dt r a n s a c t i o nn o d e ,t h i sp r o v i d e s t h et r a n s a c t i o nw o r k f l o ww i t hm o d e ls u p p o r t f i n a l l y , u n d e rt h ew o r k f l o wp r o c e s sm o d e lr a i s e di nt h i sp a p e r , t h i sp a p e r r a i s e sa w o r k f l o wm a n a g e m e n ts y s t e ma r c h i t e c t u r ew h i c hb a s e do nv i r t u a le n t e r p r i s ea n dw e b s e r v i c e s k e yw o r d s :w o r k f l o w ;w e bs e r v i c e s ;p r o c e s sm o d e l ;b p e l ;t r a n s a c t i o n i i i 独创声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含未获得 l 洼! 垫逡查墓丝霞要壁型重盟鲍:奎拦亘窒2 或其他教育机构的学位或证书使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 学位论文作者签名:寡寥蒡主字日期:沙2 年多月砂日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人 授权学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用 影印、缩印或扫描等复制手段保存、汇编学位论文。同时授权中国科学技术信息 研究所将本学位论文收录到中国学位论文全文数据库,并通过网络向社会公 众提供信息服务。( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 本痨 签字日期:硎年6 , e l 日 导师签字: 签字隰, t - 伽庐厂月了日 基于w e b 服务的分层工作流过程模型研究与设计 1 绪论 1 1 研究背景 1 1 1 工作流技术概述 工作流起源于2 0 世纪7 0 年代的生产组织和办公自动化领域。它是针对日常 工作中具有固定程序的活动而提出的一个概念。提出的目的是通过将工作分解成 定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监 控,达到提高办事效率、降低生产成本、提高企业生产经营管理水平和企业竞争 力的目标【1 1 。 自2 0 世纪9 0 年代以来,随着计算机技术和网络的飞速发展,特别是在i n t e m e t 应用日益普及的形势下,计算机的处理模式发生了巨大的变化,从集中式处理向 分布协作式处理发展。在这种新的处理模式中,人们可以更加精确地对高层的系 统行为进行建模,所开发的系统要求能够更快地对应用需求的变化做出反应。因 此,应用系统不仅仅要求处理单个的任务,还要能控制、监视和支持处理过程的 逻辑,即管理组织机构内部的工作流。在这种应用需求下,工作流管理的术语就 应运而生了【1 j o 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 ) 成立,标志着工作流技术开始进入相对成熟的阶段 2 1 。 1 1 2 工作流研究现状及其不足 自2 0 世纪7 0 年代以来,世界市场已经由传统的相对稳定逐步演变成动态多变 的市场,企业之间的竞争也由过去的局部竞争演变成全球范围内的竞争,同行业 之间、跨行业之间相互渗透、相互竞争日趋激励。在企业竞争日益国际化、白热 化的同时,当今企业所面临的社会、经济、制造环境与客户需求也已经发生了巨 大的变化。而同时,随着计算机的普及、网络的延伸,现代企业信息系统的分布 性、异构性和自治性的特性越来越显著,相应的企业信息资源也分在异构的计算 机环境中,信息源之间的连接表现出松散耦合的特点,这样的信息系统环境简称 h a d 环境( 异构、自治、分布) 。企业物理位置的分散性和决策制定过程的分散性 1 基于w e b 服务的分层工作流过程模型研究与设计 特征日益明显,对日常业务活动详尽信息的需求日益提高,c l i e n t s e r v e r 体系结 构和分布式处理技术( c o r b a 、w w w 、o l e 、j a 、,a ) 的广泛应用,都说明了 这样一个事实:集中式信息处理的时代已经过去,取而代之的是大规模的异构分 布式执行环境,使得相互关联的任务能够高效运转并接受密切监控已成为一种发 展趋势网,在这种不可抗拒的市场形势与客观技术背景下,要求工作流系统满足 以下分布环境要求【1 ,7 ,8 】: 支持异构、自制和分布( 札蛐) 环境下各种部件的集成和互操作。 能够在并发和失败的情况下保证应用的正确性和可靠性。 当经营过程被重组时,支持对工作流应用和部件系统的升级、更新和添 加。 能够在异构、自制和分布( 】m 姬i ) 的环境下根据经营或信息过程的定义支 持工作流应用软件。 w e b 服务技术的出现,为实现上述要求提供了便利性。 而同时,据调查显示,工作流系统( w o r l d l o wm a n a g e m e n ts y s t e m s ) j 丕处于技术 发展曲线( t e c h n o l o g yh y p ec u r v e ) 上的初级阶段。这可以和关系数据库系统 ( r d b m s ) 做一个对比,如图1 - 1 : 套 d t e c h n o k x s y 阳啦o fi 羁瞎l a t e d衲u g 扣o f s l o p eo f p l a t e 窘uo f t r i g g e r取喇i l y t s i l t u s i o n r r 憋r a :白u g h 啪懒咖d 耻d v 脚 m a t u r i t y 图1 1 工作流v s 关系数据库 导致形成这种状况的原因之一,是在工作流中使用了过多的概念。在这个领 _ 2 基于w e b 服务的分层工作流过程模型研究与设计 域中的大量规范和工具没有一个是相似的。当然,它们相互之间有重叠并且会相 互参考弓li i e t g 。工作流管理主要有以下不足之处1 1 , 9 , 1 0 1 : ( 1 ) 工作流管理的定义不明确以及缺乏统一的概念模型 目前工作流管理发展的状况非常类似于7 0 年代初关系数据模型和e r 模型 出现以前数据库管理系统的发展状况,大家各持己见,没有一个统一的标准,所 开发的产品大部分相互之间不兼容,使得很多用户不愿意使用商品化的工作流管 理产品。虽然w f m c 在工作流概念和接口标准化方面做出了很多努力,但是这 些标准仅仅是停留在技术层次上,而且重点放在语法上而不是语义上。在概念层 次上至今仍没有统一的意见。 ( 2 ) 工作流产品缺乏互操作性 在工作流管理系统开发的早期,由于缺少统一的标准,大多数工作流产品之间 互不兼容。后来工作流管理联盟虽然提出了一套工作流管理系统的标准,但要实 现工作流之间无缝的互操作,还需要开展相当多的工作。 ( 3 ) 工作流产品在并发访问和发生错误时缺乏正确和可靠的支持 工作流实例在运行过程中,可能出现多个活动同时访问共享资源的情况,各个 活动在数据操作上会相互重叠。为了保证系统正常运行,必须进行并发控制,防止 出现“脏数据 等现象。另外,当工作流非正常中断时,如何恢复数据的一致性也 是需要解决的问题。 ( 4 ) 性能问题 大多数工作流产品无法满足企业每天处理上万个、甚至每小时处理几千个业 务的需求。 ( 5 ) 工作流产品对异构自治分布的信息系统环境支持不足 工作流管理系统是一个典型的分布式系统。许多工作流系统采用c o r b a 作 为底层支持技术,但是不同厂商的c o r b a 产品之间很难进行互操作,对于用户 来说,如果一旦选定某个厂家的解决方案,就很难再去使用其他厂家的产品了。 虽然o m g 在后来发布了h o p ( i n t e m e ti n t e r o p e r a b l eo r bp r o t o c 0 1 ) 规范,但是 h o p 在效率和性能上表现欠佳。另一种可采用的分布式计算环境是微软的分布 式组件对象模型d c o m ,它也是一种以面向对象的方法解决异构信息源集成问 题的方案。但由于它完全依赖微软,在非w i n d o w s 平台上有很大的局限性,这 和企业内部异构分布环境很不协调,因此限制了它在工作流领域内的应用【1 ,7 ,踟。 3 基于w e b 服务的分层工作流过程模型研究与设计 1 1 3w e b 服务技术概述 w e b 服务【1 1 , 1 2 】定义了应用程序如何在i n t e m e t 上实现互操作,它极大地拓展 了应用程序的功能,实现了软件的动态提供。w e b 服务源于它蕴含的商业价值及 其可能带来的巨大商业利益,它同时也代表着i n t e m e t 技术的重大发展。w e b 服 务已经给大量企业带来巨大的利润,而w e b 服务技术将会使这种商业价值和商 业利益更大化。 w e b 服务是一种部署在w e b 上的对象,它们具有对象技术所承诺的所有优 点,同时w e b 服务建立在以x m l 为主的、开放的w e b 规范技术基础上,因此 具有比任何现有的对象技术更好的开放性,是建立可互操作的分布式应用程序的 新平台。w e b 服务平台是一套标准,它定义了应用程序如何在w e b 上实现互操 作性,我们可以用任何语言,在任何平台上编写所需要的w e b 服务。 w e b 服务可以有以下定义: ( 1 ) 自包含的、模块化的应用程序,它可以在网络中被描述、发布、查找以 及调用。 ( 2 ) 基于网络的、分布式的模块化组件,它执行特定任务,遵守具体的技术 规范,因而能与其他兼容的组件进行互操作。 ( 3 ) 由企业发布的能完成其特别业务需求的在线应用服务,其它企业和应用 软件能够通过i n t e m e t 访问来使用这些应用服务。 w e b 服务技术的出现,使处于大规模异构平台上的各种信息资源之间的交互 变得简单,为工作流技术在大规模复杂异构环境中的应用提供了重要的技术支 持,与传统的分布式计算技术d c o m 、c o r b a 比较,w e b 服务具有以下优势: ( 1 ) 良好的封装性 w e b 服务既然是一种部署在w e b 上的对象,自然具备对象的良好封装性,而 对于使用者而言,仅能够看到该对象提供的功能列表。 ( 2 ) 松散耦合 当一个w e b 服务的内部实现发生变更的时候,调用者是不会感觉到的。对于 调用者来说,只要w e b 服务的调用接口不变,w e b 服务实现的任何变更对他们 来说都是透明的。 ( 3 ) 使用标准协议规范 4 基于w e b 服务的分层工作流过程模型研究与设计 作为w e b 服务,其所有公共的协约完全需要使用开放的标准协议进行描述、 传输和交换。同时,相比一般对象而言,其界面调用更加规范化,更易于机器理 解。 ( q 高度可集成能力 由于w e b 服务采取简单的、易理解的标准协议作为组件界面描述,所以完全 屏蔽了不同软件平台的差异,无论是c o r b a 、d c o m 还是f _ a b 都可以通过这一 种标准的协议进行互操作,实现了当前环境下高度的集成性。 w e b 服务的主要目标是实现跨平台的互操作,为了达到这一目标,w e b 服务 完全基于x m l 、x s d 等独立于平台、独立于软件供应商的标准,它是创建可互 操作的分布式应用程序的新平台。在以下场合使用w e b 服务将会带来极大的好 处: 跨防火墙的通信 应用程序集成 b 2 b 的集成 软件和数据重用 w e b 服务在需要通过w e b 进行互操作或远程调用的情况下使用,但是在下面 的情况,w e b 服务根本不能带来任何好处: 单机应用程序 局域网的同构应用程序 1 2 研究基于w e b 服务的分层工作流过程模型的必要性 工作流管理系统实施是提高企业核心竞争力的有力措施,而工作流过程模型 是整个工作流管理系统的基础。但是现有的工作流管理系统不能很好地适应企业 的大规模复杂的分布异构环境的要求,而w e b 服务的出现为实现这一要求提供 了更快捷、更便利的实现方案。但是,目前存在的一些基于w e b 服务的工作流 技术的研究,都是以w e b 服务为核心,采用现有的w e b 服务描述语言w s f l 、 x l a n g 、b p e l 或其他w e b 服务描述语言建模,而抛弃了原有工作流模型建模 方法的优点,导致模型强调了对业务流程的异构特性的支持,却忽略了复杂业务 的逻辑规则复杂性以及动态性,对工作流复杂逻辑的业务规则描述困难。而现有 的工作流建模方法在描述状态逻辑业务规则以及支持动态建模方法已经比较成 s 基于w e b 服务的分层工作流过程模型研究与设计 熟。单纯的采用w e b 服务描述语言对工作流过程模型建模,不能很好地借助现 有建模方法,同时,这样会让模型过多专注于业务流程,使得状态和流程不能很 好地分离,不利于工作流模型逻辑状态变换的控制。所以,本文提出将状态和业 务流程分离的这样一种分层的过程模型,在逻辑层侧重描述状态模型的业务规则 逻辑状态,而在业务层侧重描述业务流程。 1 3 本文的研究内容和研究意义 本文主要是在工作流技术和网络信息快速发展的背景下,结合新兴的w e b 服务技术和w s b p e l 工作流描述语言,在分析当前对工作流管理技术的研究成 果的基础上,提出了一种基于w e b 服务的分层的工作流过程模型,通过把工作 流过程模型分为逻辑层和业务层分离的方法,实现了工作流逻辑状态控制和业务 流程模型的分离,由于模型基于w e b 服务,和现在流行的w s b p e l 工作流描述 语言,所以模型能够适应当前企业的h a d 环境。同时,由于分布式工作流系统 经常会有并发控制逻辑,为了保持其执行结果的正确性一致性,本文在参考了现 有事务工作流研究成果的基础上,通过在模型中增加新的元素:事务活动和事务 节点,为事务工作流提供了模型支持。本文最后,在本文提出的过程模型的基础 之上,根据事件驱动的分布式工作流系统设计了一个面向虚拟企业【1 3 j 基于w e b 服务的分布式工作流管理系统体系结构。 1 4 本文的组织结构 本文的组织结构如下: 第一章绪论部分简单介绍了本课题的研究背景和本文的研究目的。 第二章主要介绍了工作流描述语言w s b p e l 以及和其相关的技术。 第三章介绍了工作流管理技术相关概念。 第四章提出了一个新的基于w e b 服务的分层的工作流过程模型。 第五章提出了面向虚拟企业基于w e b 服务的分布式工作流管理系统的体系 结构 第六章是总结与未来所要研究的方向; 6 基于w e b 服务的分层工作流过程模型研究与设计 2w s b p e l 语言及相关技术 2 1w e b 服务相关技术 2 1 1w e b 服务的体系结构;s o a ( 面向服务的体系结构) 绑定 图2 - 1 面向服务的体系结构 s o a 结构中共有三种角色: ( 1 ) 服务提供者:负责发布自己的服务,并且对服务请求进行响应。 ( 2 ) 服务注册中心:注册已经发布的w e b 服务,对其进行分类,并提供搜索 服务。 ( 3 ) 服务请求者:利用服务注册中。t l , 查找所需的服务,然后使用该服务。 s o a 体系结构中的组件必须具有上述一种或多种角色,它们之间使用以下三 种操作: ( 1 ) 发布操作:使服务提供者可以向服务注册中心注册自己的功能及访问接 口。 ( 2 ) 查找操作:使服务请求者可以通过服务注册中心查找特定种类的服务。 ( 3 ) 绑定操作:使服务请求者能够真正使用服务提供者提供的服务。 为支持结构中的三种操作,s o a 需要对服务进行一定的描述,这种服务描述 应具有下面几个重要特点: ( 1 ) 它应声明服务提供者提供的w e b 服务的特征。服务注册中心根据某些特 征将服务提供者进行分类,以帮助查找具体服务。服务请求者根据特征来匹配那 些满足要求的服务提供者。 ( 2 ) 服务描述应该声明接口特征,以访问特定的服务。 ( 3 ) 服务描述还应该声明各种非功能特征,以用来帮助服务请求者提查找 7 基于w e b 服务的分层工作流过程模型研究与设计 服务。 ( 4 ) s o a 中的组件之间必须能够进行交互,才能进行上述三种操作。所以w c b 服务体系结构还要遵循使用标准的技术的原则,包括服务描述、通信协议以及数 据格式等,以达到开发者可以开发出来平台独立、编程语言独立的w e b 服务【1 1 。 2 1 2w e b 服务核心技术 w e bs e r v i c e s 涉及的最基本的技术规范包括x m l e l 6 1 ,w s d l t l 5 1 ,s o a p 1 7 】和 u d d i f l 8 1 。w s d l 是程序员描述w 曲s e r v i c e s 的编程接1 :2 。w 曲s e r v i c e s 可以通 过u d d i 来注册自己的特性,其他应用程序可以通过u d d i 找到需要的w e b 服务 s o a p 则提供了应用程序和w - e b 服务之间的通信手段。而w s d r _ , s o a p 和u d d i 都建立在x m l 基础之上。 ( 1 ) x m l x m l 是一种元语言,是i n t e r a c t 环境中跨平台的、依赖于内容的技术,也是 当今处理分布式结构信息的有效工具;x m l 是一套定义语义标记的规则,这些 标记将文档分成许多部件并对这些部件进行标识,它是元标记语言,即定义了用 于定义与其他特定领域有关的、语义的、结构化的标记语言句法的语言。 x m l 语言具有以下特征: x m l 是一种类似于h t m l 的标记语言 x m l 是用来描述数据的 x m l 的标记不是在x m l 中预定义的,任何人可以定义自己的标记 x m l 使用文档类型定义( d t d ) 或者模式( s c h e m a ) 来描述数据 x m l 语言的优点: x m l 使用标记来界定内容,允许用户定义任意复杂度的结构,具有良好的 扩展性;它具有自描述性,适合数据交换和共享 x m l 另一个优点是无关性,独立于具体的平台和厂商,确保了结构数据的 统一。目前x m l 已成为开放环境下描述数据信息的标准技术,也是w e b s e r v i c e s 中信息描述和交换的标准手段。 x m ls c h e m a : x m l 使用x m ls c h e m a 作为建模语言。它具有丰富的数据类型,支持类型继 承,能对x m l 文件进行严格的合法性检查;使用与x m l 完全一致的文法,统一了 g 基于w e b 服务的分层工作流过程模型研究与设计 分析和处理方式;引入了命名空间的概念,解决了可能的名称重复问题。x m l s c h e m a 是w e bs e r v i c e s 中协议制订的标准语言,它和x m l 共同构成w e bs e r v i c e s 的基石。 ( 2 ) s o a p x m l 使数据易于理解和共享,但应用实体之间要发送和接收x m l 文档,还需 对网络协议、访问点等细节达成共识w e bs e r v i c e s 实体间交互使用的是简单对象 访问协议( s i m p l eo b j e c ta c c e s sp r o t o c o l ,s o a r ) 。它提供了i n t e r n e t 中交换结构 化信息的轻量级机制,实现异构应用之间的互操作性。s o a p 包括三个部分:封装 结构、编码规则和r p c 机制。封装结构定义了一个整体框架,描述消息内容、 内容的属性以及谁负责处理。编码规则定义了交换应用程序数据的一系列机制, 它支持x m ls c h e m a 中全部的简单数据类型、以及结构和数组;r p c 机制定义 了远程过程调用和应答的协定,通过s o a p 绑定可以将s o a p 信封在h t y p 、 s m t p 等协议上进行传送。网络节点在基于x m l 消息传递的分布式计算中作为 提供者和请求着,它具有构建、解析s o a p 消息的能力,以及在网络上通信的能 力。应用程序与s o a p 的集成可以通过四个步骤来实现【1 1 】:如图2 - 2 。 b c d + s o a p 网络协议 网络协议 s o a p 牟 l 请求 图2 2 使用s o a p 的x m l 消息传递 图2 2 中: a 代表:服务请求者的应用程序创建一条s o a p 消息,服务请求者将此消息和服 务提供者的网址一起提供给s o a p 基础结构,s o a p 基础结构与一个底层网络协 议交互,然后在网络上将s o a p 消息发送出去; b 代表:网络基础结构在将消息传送到服务提供者的s o a p 基础结构,s o a p 基 础结构负责将x m l 消息转换为特定于编程语言的对象,这个转换由消息中可以 我到的编码模式来控制。 9 基于w e b 服务的分层工作流过程模型研究与设计 c 代表:w e b 服务负责处理请求信息并生成一个响应,该响应也是一条s o a p 消息。响应的s o a p 消息在被提供给s o a p 基础机构,其目的是服务请求者,将 s o a p 消息响应发送到网络上的服务请求者。 d 代表:响应消息会经过整个s o a p 基础结构,可能会将x m l 消息转换为目标 编程语言中的对象,然后,响应消息会被提供个应用程序。 ( 3 ) w s d l 在应用程序调用一个w e bs e r v i c e 之前,必须知道其调用接口。w e bs e r v i c e s 具有松散耦合和自动集成的特点,要求接口描述方式能够被机器自动识别。w e b s e r v i c e s 采用w s d l ( w 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 s d l 采用x m ls c h e m a 定义,能够对各种语言实现的服务接口进行描述,具有语言无关 性。w s d l 将w e bs e r v i c e 定义为网络端点的集合,使用类型、消息、端口等元素 来描述服务接口。请求者据此可以知道服务要求的数据类型、消息结构、传输协 议等,从而实现对w e bs e r v i c e 的调用。 ( 4 ) u d d i 为了使服务申请者能够查找需要的服务,业界制订了注册和查找w e b 服务的 u d d i 技术规范。u d d i 注册中心是对所有提供公共u d d i 注册服务站点的统称, 凡是实现u d d i 规范的站点都可被称为u d d i 操作入口站点,站点之间通过复制 机制保持彼此间的内容同步。服务提供者可以在服务注册中心发布自己提供的服 务,服务请求者则在注册中心查找期望的服务。 2 2w s b p e l 语言 2 2 1w s b p e l 的历史 在2 0 0 2 年7 月,b p e l 业务流程执行语言被第一次提出,并推出b p e l l 0 规范,其中m m ,微软,b e a 等公司做出了共同的努力。由于,将一系列服 务调配为一个端到端的过程流,这需要一系列新的技术( 绑定到异种系统、同步 和异步的消息交换模式、数据操作、流协调、异常管理、非确定性事件、补偿事 务、并行版本控制、运行中实例的管理和审计) ,b p e l 的目的就是为了满足这 些需要而制定的一个更丰富却更简单的抽象概念标准。虽然这是个相当新的标 准,但它利用了m i c r o s o f t 和m m 在x l a n g 和w s f l 方面十余年的研究和 1 0 基于w e b 服务的分层工作流过程模型研究与设计 开发成果。一年后,s a p 公司和s i e b e ls y s t e m s 公司加入到b p e l 的发展工作中, 在2 0 0 3 年5 月,推出了b p e l ! 1 版本,该版本的推出得到了更多的关注和支持, 一些支持b p e l l 1 的引擎开始出现。2 0 0 7 年5 月推出b p e l 2 0 版本【1 9 ,2 0 。b p e l 支持两种截然不同的使用情形:实现可执行的业务流程和描述不可执行的抽象流 程。作为可执行流程的实现语言,b p e l 的作用是将一组现有的w e bs e r v i c e 整 合起来,从而定义一个新的w e bs e r v i c e 。 2 2 2w s b p e l 与w e b 服务之间的关系 w e b 服务自2 0 世纪末诞生以来,备受业界人士的关注。基于w e b 服务构架 企业分布式应用系统的思想在m i c r o s o f t ,m m ,s u n 等公司的支持下得到了迅 速推广。由于w e b 服务是一种崭新酌技术,还没有形成完整的规范和成熟的框 架设计体系,目前的w e b 服务就像是互联网上孤立的逻辑程序单元,不能很好 地融合起来。如何冲破这种孤立,进行w e b 服务的集成,继而形成企业分布式应 用系统成为w e b 服务发展的一个重要的问题。为了解决这一问题,出现了一个 崭新的发展方向! l k 务流程,它充分体现了w e b 服务集成的思想,将不同的 w e b 服务按照指定的业务需求或功能需求联系起来实现一个更复杂的功能体。基 于业务流程开发企业分布式应用系统成为当前基于w e b 服务开发应用系统的主 流方案。2 0 0 2 年8 月,m ,m i c r o s o f t 和b e a 联合提出了有关w e b 服务集成 的新规范一基于w r e b 服务的业务流程执行语言b p e l 4 w s ( 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 曲s e r v i c e s ) 。b p e l 4 w s 是基于x m l 的流程定义语言, 可以定义如何使业务流程相互配合。b p e l 4 w s 的出现取代了原有的田m 的w e b 服务流程语言( w e bs e r v i c ef l o wl a n g u a g e ,w s f l ) 和微软的a n g ,它集w s f l 和x l a n g 两家之长( 前者支持面向图形的流程,后者则支持流程的结构化构造) , 形成了一个支持以很自然的方式实现各种类型的业务流程的规范。b p e l 4 w s 支 持两种截然不同的使用情形:实现可执行的业务流程和描述不可执行的抽象流 程。作为可执行流程的实现语言,b p e l 4 w s 的作用是将一组现有的w e b 服务整 合起来,从而定义一个新的w e b 服务。本文介绍的工作流采用b p e l 作为业务 层建模语言。b p e l 需要w s d l 和s c h e m a 的支撑。其中w s d l 对w s b p e l 语 言的影响最大,w s b p e l 流程模型位子w s d l l 1 所定义的服务模型之上【2 l , 2 2 1 。 b p e l 中的元素内容与w s d l 中相应的元素有一定的依赖关系,如图2 3 所示 1 1 基于w e b 服务的分层工作流过程模型研究与设计 - 一琏椿越问= 构啦豢 图2 - 3b p e l 与w s d l 元素之间的依赖关系 2 2 3w s b p e l 核心概念 w s ,b p e l 描述的业务流程指定了一组w e b 服务操作的可能执行顺序及其相 互依赖关系、提供w e b 服务的合作伙伴及其在业务流程中扮演的角色、服务间 共享的数据、故障及补偿处理等等一列问题。为了实现这些功能,w s b p e l 引 入了变量、合作伙伴链接、活动、相关性、作用域等关键元素。 ( 1 ) b p e l 语言的基本结构 和其他语言一样,b p e l 4 w s 语言有自己的基本结构f 她2 1 捌,其结构如下所 示: ? + ? + 1 2 基于w e b 服务的分层工作流过程模型研究与设计 + ; ? + ? + 拳 a c t i v i t y ? a c t i v i t y ? a c t i v i t y ? ? + a c t i v i t y 基于w e b 服务的分层工作流过程模型研究与设计 幸 a c t i v i t y a c t i v i t y ( 2 ) 最高级别的属性 q u e r y l a n g u a g e 这个属性指定了在赋值、特性定义和其他使用中用于选择节 点的x m l 查询语言。这个属性的缺省值是x p

温馨提示

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

评论

0/150

提交评论