




已阅读5页,还剩61页未读, 继续免费阅读
(计算机软件与理论专业论文)基于wsbpel的web服务组合技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 w e b 服务为互联网应用提供了一种共享数据和功能的有效手段,较好地解决 了异构应用之间及松散耦合环境下的互操作、集成和协作的问题。随着w e b 服 务技术的日益成熟,越来越多的稳定易用的w e b 服务共享在网络上。但单个的 w e b 服务能够提供的功能有限,为了更加充分地利用共享的w e b 服务,有必要将 共享的w e b 服务组合起来,提供更为强大的服务功能,加快系统开发的速度, 快速满足用户需求。目前,通过w s - b p e l 规范编写的业务流程组合w e b 服务 已成为组合w e b 服务的主流方法。 w s - b p e l ( w e bs e r v i c e sb 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 w 曲服务 业务过程执行语言) 是基于x m l 的语言,它能使用户用w e b 服务来描述业务 过程的各项活动,同时定义如何能将它们连接起来去完成特定的任务。w s b p e l 提供类似于程序语言的控制结构,如顺序、分支、并行、循环等以及图示的连接, 表示结构中附加的次序限制。支持基本活动和结构化活动,对业务伙伴和角色的 建模,使用变量的数据持久性,提供了事务和异常处理。 本文介绍了w e b 服务,w e b 服务组合和w s b p e l 的相关知识。分析了各 种w e b 服务组合开源服务组合引擎。介绍了使用b p e l 设计流程系统的开发模 式,之后介绍了如何创建一个将一系列虚拟的、与旅行相关的w e b 服务结合起 来的示例业务流程,然后将其部署到o r a c l eb p e lp r o c e s sm a n a g e r 运行时环境。 关键词:w e b n 务;v c s b p e l ;w e b 服务组合;业务流程; a b s t r a c t b a s e do n w s b p e l a b s t r a c t w e bs e r v i c ep r o v i d e sa ne f f e c t i v ew a yf o rs h a r i n gd a t aa n df u n c t i o n so nt h e i n t e m e t i tp r o v i d e sag o o ds o l u t i o nf o rt h ei n t e r o p e r a b i l i t ya n di n t e g r a t i o no f h e t e r o g e n e o u sa p p l i c a t i o n si nal o o s e - c o u p l e de n v i r o n m e n t a sw e bs e r v i c ec o m e st o m a t u r i t y , m o r ea n dm o r es t a b l ea n de a s yu s ew e bs e r v i c ea r es h a r e do nw e b b u t s i n g l ef u n t i o ns u p p l i e db yw e bs e r v i c ei sl i m i t e d ,i no r d e r t ou s es h a r e dw e bs e r v i c e s s u f f i c i e n t l y , i ti sn e c e s s a r yt oc o m p o s i t es h a r e dw e bs e r v i c et os u p p l ym o r ep o w e r f u l s e r v i c ef u n c t i o n ,a n da c c e r a l a t et h es y s t e md e v e l o ps p e e d ,t oq u i c k l ym e e tc u s t o m e r s r e q u i r e m e n t a tp r e s e n t ,b yu s i n gw s b p e ls p e c i f i c a t i o nt ow r i t eb u s i n e s sp r o c e s s c o m p o s i t ew e bs e r v i c eh a sb e e nt h em a i nm e t h o df o rc o m p o s i t i n gw e bs e r v i c e w s b p e l ( w e bs e r v i c e sb 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 ) i sb a s e do n x m l ,i tm a k e sc u s t o m e ru s ew e bs e r v i c et od e s c r i b ee a c ha c t i v i t yi nb u s i n e s sp r o c e s s , a tt h es a f f l et i m et od e f i n eh o wt oc o n n e c tt h e mt of i n i s hs p e c i f i e dt a s k w s - b p e l s u p p l y sc o n t r o ls t r u c t u r ew h i c hi ss i m i l a rt op r o g r a m m el a n g a g e ,e g ,o r d e r , b r a n c h ,i n p a r a l l e ,l o o pa n ds oo na n dd i a g r a mc o n n e c t i o nt oi n d i c a t ea d d i t i o n a lo r d e rl i m i t i o n s i ns t r u c t u r e i ts u p p o r t sb a s i ca c t i v i t ya n ds t r u c t u r e da c t i v i t y , i tc r e a t em o d e lf o r b u s i n e s sp a r t n e ra n dr o l e s ,i tu s ev a r i a b l ed a t ad u r a t i o n ,i tp r o v i d e st r a n s a c t i o na n d e x p e c t i o np r o c e s s t h i sp a p e ri n t r o d u c e sk n o w l e d g ea b o u tw e bs e r v i c e ,w e bs e r v i ec o m p o s i t i o na n d w s b p e l i ta l s oa n a l y z e ss o m eo p e ns o u r c ew e bs e r v i c ec o m p o s i t i o ne n g i n e ,i t i n t r o d u c e sd e v e l o pp a t t e r nw h i c hb p e lu s e st od e v e l o pb u s i n e s sp r o c e s s t h i sp a p e r i n t r o d u c e sh o wt o c r e a t ea na r r a yo fv i r t u a ls a m p l eb u s i n e s sp r o c e s sw h i c hi s c o m p o s i t e db yw e bs e r v i c ew h i c hi sa s s o c i a t e dw i t ht r i p ,a n dh o wt od e p l o yi tt o o r a c l eb p e lp r o c e s sm a n a g e re x e c u t i o ne n v i r o n m e n t 1 1 a b s t t a c t k e yw o r d s :w e bs e r v i c e ;w s - b p e l ;w e bs e r v i c ec o m p o s i t i o n ;b u s i n e s sp r o c e s s ; i i i 西北大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版。 本人允许论文被查阅和借阅。本人授权西北大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。同时授权中国科学技术信息研 究所等机构将本学位论文收录到中国学位论文全文数据库或其它 相关数据库。 保密论文待解密后适用本声明。 学位论文作者签名:曼堕聋 指导教师签名: ) 刃8 年莎月,9 日 知口分年月刀日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。据我所知,除了文中特别加以标注和致谢的地方外,本论文不包含其他人已经 发表或撰写过的研究成果,也不包含为获得西北大学或其它教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签名:马,岛晔 二刃矛年月,? 日 绪论 1 1 研究背景 第一章绪论 日益竞争的全球一体化和市场的瞬息万变,使得企业的业务系统不仅要灵活 适应变化多端的新需求,而且还要跨越企业级边界,形成跨i n t e m e t 企业间动态 联盟。而如何有效完成企业间业务集成,已经成为新一代企业信息系统集成面临 最大挑战之一。以跨平台性和灵活性为核心的w e b 服务,以及由w e b 服务为核 心而发展的s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) 和s o i ( s e r v i e e o r i e n t e d i n t e g r a t i o n ) ,为分布、异构的企业级w e b 应用组合或协作提供了有效的技术和方 法。同时w e b 服务由标准、开放的协议构成,这为企业应用提供一个分布式、 灵活的、松散耦合的分布式计算环境1 4 。 w e b 服务是通过将服务提供者( 业务组件或企业组俐9 1 ) 与服务接口描述分 离、服务查找和服务绑定,来使企业可以根据需求变化调整服务提供者及其服务 的功能。但是,企业组件提供的功能有限,这使得将一些相关服务按照一定的逻 辑顺序进行组合成为必要。以下通过动态服务组合和分布式服务组合这两方面, 来阐述基于工作流的思想进行服务组合研究的相关领域。 1 在动态服务组合研究上,通过在服务组合运行前或运行时动态选择服务 副本,而不是在设计时指定具体服务提供者,从而提高组合服务( c o m p o s i t ew e b s e r v i c e s ) 的灵活性。同时为服务选择【”】【2 引、服务预绑定、服务再绑定( r e b i n d i n g ) 嘲、 服务质量、组合时服务间参数动态匹配问题( 2 7 1 和组合服务执行管理研究开辟新的 研究领域。 2 在分布式服务组合研究上,通过将组合服务流程按照特定算法进行合理 拆分成本地流程【2 】【5 】【1 2 】【1 9 】【2 0 1 ,通过这些本地流程进行自动协同工作,来实现并行 数据的最大化。在系统重度负载情况下,保持服务系统的高吞吐量和高响应速度。 而这为分布式服务发布、分布式查找、分布式服务组合的服务路径选择【2 3 1 、分 布式服务组合时动态优化【to 】和分布式服务组合运行时管理【l 】【3 】提供新的研究方 向。 本文通过将分布式服务组合和动态服务组合思想进行融合,在总结这两方面 绪论 的研究现状及其成果后,提出了在分布式环境下,动态服务组合的整体架构。在 通过对a x i s ( 服务引擎) p 8 1 开源项目和b e x e e ( 服务组合引擎) 3 7 l 开源项目进行分析 和修改,实现分布式动态组合服务引擎。 1 2 研究现状 在上述这种技术背景下,国内外许多大学和研究机构开展了大量基于b p e l 的服务组合的研究项目,并取得了众多研究成果。以下是动态服务组合和分布式 服务组合的研究方面的当前现状: 1w e b 服务组合方面研究现状: ( 1 ) 以i b m 印度研究中心的分布式服务编排研究项目,将全局服务组合 流程通过算法自动分解成本地服务组合流程。分解算法是基于p d g ( p r o g r a m d e p e n d e n c eg r a p h ) 思想进行流程分解。该算法研究详情参见参考文献【2 】。 ( 2 ) s e l f s e r v 是澳大利亚n e ws o u t hw a l e s 大学开发的、基于对等服 务协调模型的服务组合系统,通过状态图对业务流程逻辑进行建模。当执行过程 进入复合状态( 服务组合) 触发包含其中的简单状态( w e b 服务) ,直到所有状态都 到达结束状态。使用该引擎设计组合服务方法参见参考文献 1 7 。 对于( 1 ) 中将服务组合逻辑通过分解算法,自动生成本地服务组合流程, 分解算法较多,如参考文献 2 ,5 ,1 2 ,1 9 ,2 0 分别描述了不同的分解算法。但 是对于服务组合流程中的异常处理、补偿以及服务组合中的事务处理进行对等分 解,则比较复杂。对于( 2 ) 复合状态和简单状态的管理是在服务社区中,基于中 间件进行的,因此使得服务执行的动态控制较为困难。 2 w e b 服务组合方面服务发布和查找研究现状: 在分布式服务查找和服务发布,即分布式u d d i 的研究上,服务提供是 直接将服务发布到本地u d d i 。服务查找是通过在所有的u d d i 中,进行查找, 通过合并结果集,来得到要查找的w e b 服务的查询结果,具体查找过程参见参 考文献 2 7 】。为了使得分布式u d d i 及时感知到服务提供者动态服务特性变化, 提出主动式w e b 服务注册发现机制,具体注册发现过程参见参考文献【3 9 】。 2 绪论 1 3 论文主要工作 本文介绍了w e b 服务,w e b 服务组合和w s b p e l 的相关知识。分析了各种 w e b 服务组合开源服务组合引擎。介绍了使用b p e l 设计流程系统的开发模式, 之后介绍了如何创建一个将一系列虚拟的、与旅行相关的w e b 服务结合起来的 示例业务流程,然后将其部署到o r a c l eb p e lp r o c e s sm a n a g e r 运行时环境。 1 4 论文的组织 全文共六章。 第一章绪论 介绍了本文研究的背景、现状及主要工作。 第二章w e b 服务概述 介绍了w e b 服务概念,w e b 服务体系结构,w e b 服务相关协议。w e b 服务实 现j 2 e e 平台上的实现。 第三章w e b 服务组合概述 介绍了w e b 服务组合定义,服务组合和综合服务区别,服务组合的种类, 服务组合面临的问题,服务组合关键技术,服务组合系统架构。 第四章w s b p e l 概念及相关技术 介绍了w s b p e l 概念及相关规范,w s b p e l 元模型,w s b p e l 活动, 伙伴链接类型,端1 2 引用,消息属性,消息相关性,关联集,数据处理,错误处 理。 第五章利用w s b p e l 创建业务流程 介绍如何创建一个将一系列虚拟的、与旅行相关的w e b 服务结合起来的示 例业务流程,然后将其部署到o r a c l eb p e lp r o c e s sm a n a g e r 运行时环境 第六章总结与展望 总结本文的研究成果,指出了需要进一步开展的工作。 3 w e b 服务概述 第二章w e b 服务概述 2 1w e b 服务技术概述 2 1 1w e b 服务概念及特点 w e b 服务作为一种新兴的w e b 应用模式,是一个崭新的分布式计算模型,是 w e b 上数据和信息集成的有效机制。w e b 服务是松散耦合的、可复用的软件模块。 针对不同的应用背景,w e b j 艮务的应用对象也不同,目前被广泛应用的w e b 服务可 分为如下4 类【5 1 :面向企业应用( b u s i n e s s - o r i e n t e d ) 的服务、面向消费者 ( c o n s u m e r - o r i e n t e d ) 的服务、面向设备+ ( d e v i c e - o r i e n t e d ) 的服务和面向系统 ( s y s t e m - o r i e n t e d ) 的服务。尽管对w e b 服务进行描述的出发点或应用类型不同, 但是它们均具有以下共同特征【5 l : ( 1 ) 互操作性:任何w e bs e r v i c e s 都可以与其它w e bs e r v i c e s 进行交互。 由于w e bs e r v i c e s 采取简单的,易理解的标准协议作为描述规范,完全屏蔽了 不同软件平台的差异,还因为可以使用任何语言来编写w e bs e r v i c e s ,开发者 无需更改他们的开发环境就可开发和使用w e bs e r v i c e s 。可以说是实现了在当 前环境下最高程度的可集成性。 ( 2 ) 自描述:w e bs e r v i c e s 互操作性的目的是提供从一个软件应用程序到 另外一个软件应用程序无缝的、自动的连接。s o a p ,w s d l 和u d d i 协议定义了一 种自描述的方式,使计算机能够在程序级上发现并调用w e bs e r v i c e s ,从而实 现这种无缝、自动的连接。 ( 3 ) 松散耦合:以前的分布式对象模型,如m i c r o s o f r 的c o m + ,o m g 的c o r b a 和s u n 的r m i ,虽然也是松散耦合的,但是这些系统有一个共同的缺点,那就是 他们无法扩展到i n t e r n e t 上。因为他们要求一个同类基本结构,这样的系统比 较脆弱:如果一端的执行机制发生变化,那么另一端便会崩溃。w e bs e r v i c e s 技术使得分布式对象之间的耦合更加松散。当w e bs e r v i c e s 的实现发生改变的 时候,只要它的调用接口不变,调用者是不会感到这一变化的。w e bs e r v i c e s 实现的任何改变对他们来说都是透明的。 4 w e b 服务概述 ( 4 ) 易于集成:w e bs e r v i c e s 使用开放的标准协议进行描述、传输和交换, 这种方式很容易集成服务。 2 1 2w e b 服务体系结构 图2 - 1w e b 服务体系结构的基本组伊q w e b 服务体系结构( 图3 1 ) 描述了服务请求者、服务提供者和服务注册中心 三个角色以及查找、发布和绑定调用这三种操作。服务提供者通过客户端发布代 理在服务注册中心( 通常采用u d d i ) 注册配置和发布服务;服务请求者需要使用 某个w e b 服务时,根据服务信息在服务注册中心查找所需的服务,注册中心返回 服务的接口描述文档( w s d l ) ;服务请求者根据获取的服务接口描述文档,通过 s o a p 协议绑定服务提供者并调用提供者所提供的服务。 2 1 3w e b 服务相关协议 s o a p 、w s d l 和u d d i 是w e b 服务交互中所使用的核心协议,这些协议使应用 程序之间能够以一种独立于特定编程语言、操作系统和硬件平台的方式进行通 信。s o a p 提供了一种在w e b 服务与其他应用程序之间进行通信的机制;w s d l 提 供了一种向其他程序描述w e b 服务的统一方法;u d d i 创建可搜索的w e b 服务注 册中心唧9 1 。 w e b 服务协议栈如表2 - i 所示【8 】【1 0 】: 5 w e b 服务概述 表2 - 1w e b 服务协议栈 p r o c e s sw s b p e l u 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 y , a n di n t e g r a t i o nu d d l s e r v i c e sd e s c r i p t i o nw s d l m e s s a g i n g s o a p e x t e n s i b l em a r k u pl a n g u a g ex m l t r a n s p o r tp r o t o c o l s h t t p 、s l v r r p 、f t p 等 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) x m l 1 作为一种可扩展标记语言,具有以下特点:( 1 ) 语言独立性:它不依赖 于应用程序的实现语言,很容易被应用程序处理;( 2 ) 可以在i n t e r n e t 之上直接 使用;( 3 ) 文档结构简单、容易理解,因此也容易创建;( 4 ) 可以描述复杂数据类 型;( 5 ) 可扩展性。由于x m l 内容的独立性,以及它的规范性、结构化、可扩展 性及简洁性,它已经成为网络通讯消息传送的主要形式。 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) s o a p 【1 2 】是一种用来在分布式环境中交换结构化信息的轻量级协议,s o a p 主 要包括四个部分:s o a p 封包( e n v e l o p ) 、s o a p 编码( e n c o d i n g ) 、s o a pr p c 和s o a p 绑定( b i n d i n g ) 。s o a p 封包采用x m l 标准以文本形式封装信息,定义了一个描述 消息中的内容是什么,是谁发送的,谁应当接受并处理它,以及如何处理它们的 框架;s o a p 编码定义了一套规则对s o a p 数据模型进行编码,支持x m l 数据的序 列化和反序列化;r p c 机制定义了远程过程调用和应答的协定;通过s o a p 绑定, 可以将s o a p 消息在h t t p 、s m t p 等协议上进行传送。与s o a p 消息进行交互的两 个重要实体分别是s o a p 客户端与s o a p 服务端。s o a p 客户端是创建s o a p 消息、 以便与w e b 服务进行交互的软件;s o a p 服务端是为w e b 服务处理s o a p 消息的软 件0 3 1 。 w s d l ( w e bs 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 s d l t l 4 】是用于描述w e b 服务的一种x m l 语言,它将w e b 服务描述为一组对消 息进行操作的网络端点【1 5 】。在i n t e r n e t 上发布的w e b 服务都有与之相关联的w s d l 文档。一个w s d l 服务描述包含对一组操作和消息的抽象定义,包含绑定到这些 操作和消息的具体协议等。为了帮助在注册中心发布和查找w s d l 服务描述,w s d l 6 w e b 服务概述 文档被分为两个部分:服务接口和服务实现。这样每个部分都可以独立定义并被 其他部分重用。服务接口是w e b 服务的抽象定义,并被用于描述某种特定类型的 服务,包括b i n d i n g 、p o r t t y p e 、m e s s g e 和t y p e 四部分:服务实现文档包含实 现一个服务接口的服务的描述,包括s e r v i c e 和p o r t 两部分,一个服务实现文 档可以包含对多个服务接口文档的引用。一个完整的w s d l 服务描述是由一个服 务接口和一个服务实现文档组成的。 服务接口和服务实现所包含的元素如下所示【1 4 1 : t y p e s :数据类型定义的容器,它使用某种类型系统( 一般使用x m ls c h e m a 中的类型系统) 。 m e s s a g e :通信消息的抽象类型化定义。使用t y p e s 所定义的类型来定义 整个消息的数据结构。 o p e r a t i o n :对服务中所支持的操作的抽象描述,包括请求和响应消息。 p o r t t y p e :对于所支持的操作的抽象集合,这些操作可以由一个或多个 服务访问点来支持。一个p o r t t y p e 可以包含若干个o p e r a t i o n 。 b i n d i n g :特定端口类型的具体协议和数据格式规范的绑定。 p o r t :定义为协议数据格式绑定与具体w e b 访问地址组合的单个服务访 问点。 s e r v i c e :相关服务访问点的集合,即端口( p o r t ) 的集合。 u d d i ( u n i f i e dd e s c r i p t i o nd i s c o v e r yi n t e g r a t i o n ) u d d i ( 通用描述、发现和集成) 定义了一套标准的w e b 服务操作,用于存储、 查找有关其他w e b 服务的信息。且p u d d i 为w e b 注册表定义了一个基于s o a p 的标准接 口,用户可以用u d d i 注册表查找特殊类型的w e b n 务,或查找由指定机构提供的 w e b 服务【1 6 1 。 u d d i 注册使用的核心信息模型由x m ls c h e m a 定义。u d d i 信息模型包含以下 五个组件:商业信息、商业服务信息、绑定信息、服务规范信息以及发布者声明 信息。u d d i 信息模型如图3 - 2 所示: w e b 服务概述 关于两方之间关系的信息 图2 2u d d i 信息模型【1 7 1 u d d i 定义的五个主要数据结构及其功能如下【3 4 1 : ( 1 ) b u s i n e s s e n t i t y :表示提供w e b 服务的商业或机构。包括企业名称、描述信 息、联系信息、所提供的w e b 服务以及身份和分类信息。 ( 2 ) b u s i n e s s s e r v i c e :包含关于某企业所提供的产品和服务的技术数据。 ( 3 ) b i n d i n g t e m p l a t e :表示w e b 服务到其访问点( u r l ) 以及到t m o d e l 的技术绑 定。包含有关w e b 服务的技术信息,规定了客户如何连接某个w e b 服务。 ( 4 ) t m o d e l :表示一个特殊类型的技术( 如s o a p 、w s d l ) 或者表示一种分类系统 ( 如d _ u _ n s 编号) 。 ( 5 ) p u b l i s h e r a s s e r t i o n :表示两个商务实体之间的关系。 2 2w e b 服务的实现 2 2 1j 2 e e 相关技术 j 2 e e 平台为开发人员提供了一系列的接口来访问x m l 文档,以及对x m l 文档 进行操作处理,使开发w e bs e r v i c e s 变得更容易、效率更高。这些接口包括了 x m l 解析接口( j a x p ) ,x m l 远程过程调用接口( j a x - r p c ) ,x m l 消息接口( j a n ) , x m l 注册接口( j a x r ) 。其中j a x p 是一套用来处理x m l 的j a v a 本地接口。它提供 了可插入到一种转换x m l 格式的机制( x s l t ) ,引擎中的x m l 解析简单接口( m a x ) 和文档对象模型( d o m ) ,这些是解析和处理x m l 文档的基础。j a x r p c 提供的一 般化机制使开发人员可以用x m l 远程过程调用来生成和访问w e bs e r v ic e s 。它 8 w e b 服务概述 一般使用s o a p 作为应用程序协议,用h t t p 作传输协议,它可以发送完整的文档 或文档片断,可以发送各种消息,除了通常的请求响应形式之外,还扩展了异 步消息调用方式。在运行时要遵循s o a p l 1 规范和s o a p l 1 附件规范,但是 j a x - r p c 并不依赖于s o a p ,而是依赖于w e bs e r v i c e s 描述语言w s d l 。j a x m 提供 了从j a v a 平台上发送x m l 文档的标准方法,更重要的是,它提供了一套非常具 有针对性的a p i 来处理基于x m l 的消息传送。而j a x r ( j a v aa p if o rx m l r e g i s t r i e s ) 为j a v a 软件开发人员提供了一套能够访问各种各样的x m l 注册表的 统一的标准j a v aa p i ,即提供了一个w e bs e r v i c e 的发布和发现的标准,允许 任何一个客户端通过j a x r 提供者对任何一个商业注册中心进行访问和互操作。 从这种意义上讲,j a x r 提供的是“一次编写,处处运行 的注册操作a p i ,从而 可以大大简化w e bs e r v i c e s 的开发和集成。 2 2 2j 2 e e 平台上w e b 服务的实现 在j 2 e e 平台上,开发w e bs e r v i c e s 有两种不同的方式:j a x r p c 方式和j a n 方式,j a x m 和j a x r p c 开发w e bs e r v ic e 的比较如表2 - 2 所利1 8 】: 表2 - 2j a x m 和j a 】( 一r p c 开发w e bs e r v i c e s 的比较 比较项目 j a x m j a x r p c 服务端j a x ms e r v l e ts e r v l e t 、m e s s a g e 、无状态 会话b e a n 。 消息的类型 o n ew a y ( 异步) 、支持异步m e s s a g e ( 如邮) , r e q u e s t r e s p o n s e ( 同步) 也可以同步调用。 服务端编程服务端s e r v l e t 扩展j a x m定义服务端点,服务端点扩 s e r v l e t ,只要实现o n m e s s a g e 展j a v a r m i r e m o t e 接口; 方法即可。 服务端点实现类实现了服务 端点接口。可以使用一些工 具生成服务端框架 9 w e b 服务概述 ( s k e l e t o n 实现类,服务接 口) 。 客户端编程创建s o a p 连接,创建s e r v i c e 对象, 创建s o a p 消息,创建c a l l , 在s o a p 消息里增加数据发送设置c a l l 的一些属性, 消息,获得结果,对s o a p 应答 调用w e b 服务, 进行处理。 对结果进行处理。 编程难度 对于处理s o a p 消息比较复杂,可以不直接处理s o a p 消息, 但是编程模型比较简单。 这个过程是通过s t u b 和 s k e l e t o n 完成。编程模型比 较复杂,但是要编写的代码 比较少。 通过上面的比较,可以看出,在一般情况下,推荐使用j a x r p c 实现w e b s e r v ic e s 。基于x m l 远程过程调用的j a v aa p i ( j a v aa p if o rx m l b a s e dr e m o t e p r o c e d u r ec a l l s ,j a x - r p c ) 提供了一种机制,使得可以借助基于s o a p 的消息 通过网络调用对象。j a x - r p c 允许实现由w s d l 文档描述的服务。与其它分布式 系统如d c o m 和c o r b a 不同的是基于x m l 的r p c 可以跨越体系结构使用,而不需 要在支持软件上做太多工作,所需要的只是在每个网络结点增加处理x m l 文档的 功能。而处理系统及其所存在的软硬件环境则无关紧要。 j a x r p c 是j 2 e e 平台中w e b 服务的核心技术,具有以下特点: 是一种远程调用,类似于r m i ; 规定了j a x r p c 的运行环境; 定义了x m l 数据类型到j a v a 类型的映射方法: 定义了w s d l 到j a v a 之间的映射; 定义了j a x - r p c 客户端编程模型( s t u b 接口、动态代理、动态调用) ; 定义了基于s e r v l e t 的服务端点模型; 定义了s o a p 消息h a n d l e r 框架; 1 0 w e b 服务概述 提供了复杂j a v a 数据库类型映射的扩展框架。 2 3w e b 服务的调用平台 现在出现了多种w e b 服务开发和部署平台,其中以n e t 和j 2 e e 最具代表性。 从服务描述、发现和服务的发布与绑定,以及服务的调用和执行角度看,j 2 e e 和n e t 的支持基本不相上下。尽管n e t 支持多种开发语言,但目前仍然无法在 w i n d o w s 平台之外使用。j 2 e e 经过几年的发展已经被证明是一个相当稳定和成熟 的平台,包括4 种j 2 e ew e bs e r v i c e sa p i ,即j a x - r p c i l 引、s a a j l l 9 1 、j a x r 【2 0 1 、 j a x p t 2 n ,其中最重要的a p i 是j a x r p c ,基于j a x - r p c 对w e b 服务的调用方法有 如下几种【1 8 】: 1 基于s t u b 方式 这种方式就是在客户端生成w e b 服务的s t u b ,用户通过s t u b 调用服务端的 w e b 服务。而s t u b 和s k e l e t o n 之间的通信由s o a p 引擎( 如a p a c h ea x i s ) 来完 成。本文中的客户端与服务端的通信就采用这种方式,其中不足之处就是每个客 户端都必须有w e b 服务相应的s t u b 。 2 动态代理方式 j a x - r p ca p i 提供了一种s t u b 动态代理。通过动态代理的方法,只需要获得 目标w e b b 艮务的名称,名称空间,目标地址和端点的名称就可以调用w e b 服务。 3 动态调用方式 在动态代理方式中需要使用服务端点接口来调用目标服务,而采用动态调用 方式只需要获得名称空间就可以调用了。 w e b 服务组合概述 第三章w e b 服务组合概述 3 1w e b 服务组合定义 w e b 服务的粒度在基于构件系统中,一般将分布式组件或业务组件进行封 装。而这些组件的粒度不是很大,实现的功能也不是很复杂。而如果要实现更为 复杂业务功能则应将相关业务组件组合在一起形成业务组件系统。也就是在原有 组件系统上,实现业务增值的过程闱。基于这种思想,服务组合被提出来。在 原有基于s o a 的w e b 服务系统中,通过相关服务进行合理的编排或协调,使得 元服务或基本服务( e l e m e n t a r yw e bs e r v i c e 或参与服务编排的服务) 4 8 1 基于一定 的上下文,来完成服务组合。经过组合的服务称为组合服务( c o m p o s i t ew e b s e r v i c e ) 。组合服务部署到服务组合引擎上,组合服务具体执行过程就是服务组 合( w e bs e r v i c e sc o m p o s i t i o n ) 。 服务组合以服务增值为目标。以高效性、灵活性以及重用性为原则。通过描 述元服务( e l e m e n t a r yw e bs e r v i c e ) 间的控制流和数据流来描述服务组合业务流程 的定义,来完成在w w w 或w e b 服务组织中提供增值服务。服务组合本质是一 个分布式的设计过程。特点是在原有服务基础上进行扩展和限定,而不是原始开 发。 3 2 服务组合和组合服务区别 服务组合( w e bs e r v i c e sc o m p o s i t i o n ) 和组合服务( c o m p o s i t ew e bs e r v i c e ) 是 一个很容易混淆的概念【4 l 】。 要搞清这两者概念,首先让我们熟悉一个概念,服务组合定义。服务组合是 提供描述元服务( e l e m e n t a r yw 曲s e r v i c e ) f 司交互顺序和交互方式。组合服务定义 则是具体描述这些交互的内容,即b p e l 文件。 组合服务是一个名词,表示一个东西。也就是说组合服务是服务组合定义所 代表的一个具有特定新功能的服务包括组合服务定义和其w s d l 描述文件。即 组合服务是一个w e b 服务,但不是w e b 服务执行过程。 1 2 w e b 服务组合概述 服务组合是一个动词,表示一个动作或一系列动作。客户同w s d l 描述规 范调用组合服务定义w s b p e l 描述功能时,服务组合引擎执行服务定义的过程, 即元服务( e l e m e n t a r yw e bs e r v i c e ) 交互实施的过程,就是服务组合。 3 3 服务组合的种类 按照组合服务执行时,即服务进行组合时,按照元服务( e l e m e n t a r yw e b s e r v i c e ) 的提供者是否被指定或绑定进行分类,可以分为静态服务组合和动态服 务组合【4 6 】【4 7 l 4 s 。 1 静态服务组合。静态服务组合是在服务组合设计阶段已经将元服务 ( e l e m e n t a r yw i e bs e r v i c e ) 的提供者进行指定,也就是元服务以事先协商好的方式 进行交互,对于处于上下文的元服务间参数匹配已经确定。因此在服务组合执行 中,服务提供者改变或无法提供服务时,都会引起服务组合的失败。静态服务组 合特点:简单、效率高和好维护,但是不灵活。 2 动态服务组合。动态服务组合与静态服务组合相反,在服务执行中,元服 务( e l e m e n t a r yw e bs e r v i c e ) 的提供者尚未指定,可以动态选择服务的提供者,或 对处于进行上下文间元服务参数进行运行时动态匹配。同时提供服务组合中的 q o s 进行限定和其它非功能属性进行约束。动态服务组合特点:灵活,支持非功 能属性约束。缺点,不易实现,管理复杂,参数动态匹配困难。 3 4 服务组合面临问题 w e b 服务组合在很大程度上与商务过程管理具有相同的要求。在一个组合 中,它们都需要协调服务调用结果,都需要管理服务之间的数据流,而且需要管 理组合服务作为一个事务单元来执行。除此之外,它们都需提供高性能的服务, 如,可获性、可靠性和可扩展性。然而,由于自动化和w e b 服务的异构性,w e b 服务集成非常困难。特别是w e b 服务组合是基于w e b 服务基础上,在异步构式 下,被作为自治w e b 服务计算单元,要在一个分布式计算环境,自动应用w e b 服务相关协议,完成服务增值则会出现很多待解决问题【4 3 】【4 4 1 【4 5 1 。 1 服务组合定义的语言描述【4 5 】。基于工作流服务组合描述简单但缺少服务 w e b 服务组合概述 语义描述和服务功能限定,基于语义的服务组合虽然有语义和部分非功能描述, 但是基于语义组合现在被认为是太好而不能实现( t o og o o dt ob et r u e ) ,现在提出 基于语义半自动组合解决这个问题。 2 服务组合事务问题。为了使服务组合执行中遵守a ( a t o m i e i t y ) 、 c ( c o n s i s t e n e y ) 、i ( i s o l a t i o n ) 、d ( d u r a b i l i t y ) 特性,在服务组合设计和服务引擎设 计是应使组合服务具有事务性。这个问题至今尚未完全解决。 3 动态服务组合问题。当前服务组合的定义基本上是手工编写的,既费时又 容易出错,因此提出基于语义服务组合,但是语义服务组合不易实现0 0 0g 0 0 d t o b et r u e ) 。使得最近提出基于语义在通过指定组合计划完成服务组合。动态服务 组合上下文元服务( e l e m e n t a r yw e bs e r v i c e ) 问服务参数匹配问题。在组合服务数 量大,而服务不断变化,仅靠服务组合设计者在服务组合的定义阶段进行辨别和 理解,是异常复杂和繁琐。 3 5 服务组合关键技术 为了解决服务组合面临问题,应通过对以下关键技术进行攻克【4 3 】1 4 8 1 。 1 服务模型描述。在服务协同模型中,服务为封装了一定业务逻辑的,完成 一定功能的处理单元。为了使各个服务能够协作,交换信息来完成共同的任务, 需要标准的方式来描述服务的各种信息。 完整描述
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游民宿退房协议范本及清洁维护标准
- 理发店员工招聘与职业规划辅导劳务合作合同
- 跨学科研究生委托培养与技术转移转化合同范本
- 产业园区物业合同终止及产业创新服务协议
- 建筑工程合同审计与财务管理要点解析
- 企业核心技术人员竞业禁止补偿标准合同范本
- 离婚后共同财产分割与同居期间居住权益协议范本
- 签订国际贸易合同时的汇率风险管理与法律应对
- 离婚财产分割补充协议涉及遗产继承权与分割调整
- 通信工程施工合同签订所需的技术标准及通信保障协议
- 监控维修培训
- 中医基础理论经络培训课件
- 亚麻籽油在营养保健领域的应用考核试卷
- 《雷军的管理哲学》课件
- 尿液标本临床微生物实验室检验操作指南
- 电影《白日梦想家》课件
- 正常人体结构课程标准
- 员工上下班交通安全培训课件
- GB/T 15843.2-2024网络安全技术实体鉴别第2部分:采用鉴别式加密的机制
- 初中语文八年级上册13 唐诗五首 《钱塘湖春行》活动式公开课一等奖创新教学设计
- 职业技能大赛-电工职业技能竞赛理论题库(附参考答案)
评论
0/150
提交评论