(计算机软件与理论专业论文)web服务组合中的若干关键技术.pdf_第1页
(计算机软件与理论专业论文)web服务组合中的若干关键技术.pdf_第2页
(计算机软件与理论专业论文)web服务组合中的若干关键技术.pdf_第3页
(计算机软件与理论专业论文)web服务组合中的若干关键技术.pdf_第4页
(计算机软件与理论专业论文)web服务组合中的若干关键技术.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机软件与理论专业论文)web服务组合中的若干关键技术.pdf.pdf 免费下载

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

文档简介

摘要 摘要 面向服务的w 曲服务构架带来了w e b 技术的革命,为系统集成中遇到的语 言差异、平台差异、协议差异、数据差异提供了解决方案。w e b 服务在数据集成、 电子商务平台、企业应用集成等领域都有广阔的应用前景。w e b 服务实现了资源 共享和服务共享,这种松散耦合的分布式结构给资源和服务的重用提供了方便, w e b 服务组合就是实现服务和资源集成的一种有效方式。 w e b 服务组合通过重用已经存在的服务来实现新的、功能更加复杂的业务。 本文通过分析w e b 服务组合中存在的问题,提出了从业务流、数据流、基本服 务管理三舍层面对w e b 服务组合技术进行深入研究,并且针对上述三个层面存 在的问题,分别给出了动态环境中的服务选择技术、接口s o a p 消息的处理技术、 服务社区化管理技术。本文主要贡献有下面三个方面: 基于排队论理论,针对组合服务的业务流层面,提出了w 曲服务的选择 和调度技术。在执行过程中,可以动态的计算每个服务的当前服务质量, 根据服务质量进行服务选择,使得组合服务能够获得较高的执行效率。 该服务选择算法充分考虑了服务的等待时间、执行时间,能适应动态的 网络环境,并且实验证明该算法能够达到一个较高的系统性能。 通过相似度的计算,使得相同或者相似的服务注册在相同的注册中心 ( 服务社区) ,注册中心又采用对等网络进行路由和信息管理,以提高 服务查找效率。为适应系统的动态变化,还给出对服务社区进行调整的 算法,在文中称为社区重组算法。并且提出了社区饱和度,来平衡各个 社区的负载。实验证明,给出的杜区管理方法和社区调整算法能够提高 服务组合在服务选择时的查找效率。 针对组合服务数据流层面,为了解决服务组合中接口的不匹配问题,采 用了基于文法的s o a p 消息处理。由于s o a p 消息是一个x m l 文档, 所以采用了x t g 来进行符合特定模式的x m l 到x m l 的转化,并且提 出了缓存、图规约、路径扩展等多种优化算法。 关键词:w e b 服务,w e b 服务组合,服务选择,服务社区,s o a p 消息 中图分类号:t p 3 1 1 a b s t r a c t a b s t r a c t w e bs e r v i c e s ,b a s i n go ns 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 ,h a sa r o u s e dar e v o l u t i o n o nt h ew e b ,a n da l s op r o v i d e st h en o v e ls o l u t i o n so fs y s t e mi n t e g r a t i o ne n c o u n t e r e d w i t ht h ed i f f e r e n c e so fp r o g r a m m i n gl a n g u a g e ,p l a t f o r m ,p r o t o c o l ,a n dd a t af o r m a t m e a n w h i l e ,w e bs e r v i c e si sa n t i c i p a t e dt ob et h r i v i n go ns u c ha r e a sa sd a t a i n t e g r a t i o n ,e - b u s i n e s s ,e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ,a n d s oo n t h i s l o o s e l y c o u p l e dd i s t r i b u t e ds y s t e ma r c h i t e c t u r eh a sh u g ec o n v e n i e n c ef o rr e - u s i n g r e s o u r c e ;t h e r e f o r e ,w e bs e r v i c e s ,e s p e c i a l l yw e bs e r v i c e sc o m p o s i t i o n ,i se x c e l l e n t f o rs h a r i n gr e s o u r c ea n ds 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 ng i v e saw a yt oi m p l e m e n tm o r ec o m p l e xb u s i n e s s l o g i cb yc o m b i n i n go t h e rw e bs e r v i c e s i nt h i sp a p e r ,s t u d yi s s u e so ns o m eu n d e r l y i n g t e c h n o l o g i e so fw e bs e r v i c e sc o m p o s i t i o n ,s u c ha ss e r v i c es e l e c t i o na n ds c h e d u l ei n d y n a m i cw e be n v i r o n m e n t s ,s o a pm e s s a g et r a n s f o r m a t i o n ,s e r v i c ec o m m u n i t y m a n a g e m e n t , a n ds oo n b ya d o p t i n gt h o s et e c h n o l c l g i e s ,w e c a nc h o o s em o r e e f f i c i e n ts e r v i c e si nt h er e a lt i m ea n dr e s o l v et h ed i f f i c u l t yo fm i s m a t c h i n gi n t e r f a c e s ( s o a pm e s s a g es c h e m a ) b e t w e e n s e n d e ra n dr e c e i v e r ,a n dt h e r e f o r e t h o s e t e c h n o l o g i e se n s u r et h ec o m p o s i t ew e bs e r v i c e sm o r ef e a s i b l ea n de f f i c i e n tf r o md a t a f l o wa n dl o g i cf l o w t h em a i nc o n t r i b u t i o n so f t h ep a p e ra r ea sf o l l o w s : p r o p o s ean o v e ls t r a t e g yf o rw e bs e r v i c es e l e c t i o na n ds c h e d u l eb a s e do nq u e u i n g t h e o r y i nt h eh i g h l yd y n a m i ca n dd i s t r i b u t e dn a t u r eo fw e be n v i r o n m e n t , d 3 d s e r vc a l c u l a t e st h eq u a l i t yo fs e r v i c ei nt h er u nt i m ea n ds e l e c t so p t i m a l s e r v i c e sd u r i n gd y n a m i c a l l ye n m p o s i t i n gw e bs e r v i c e s t h es e l e c t i o na l g o r i t h m t a k e sa c c o u n to ft w oc r i t e r i a :e s t i m a t e de x e c u t i o nt i m ea n dw a i t i n gt i m e o u r e x p e r i m e n t a lr e s u l t ss h o w e dt h a tt h ec u r r e n tl o a d so f t h es e r v i c ep r o v i d e r sa sw e l l a st h e i rs e r v i c ei m p l e m e n t a t i o np e r f o r m a n c ea r ec o n s i d e r e d b yc o m p u t i n gs i m i l a r i t yb e t w e e np e e r sa n dc o m m u n i t y , t h es a m eo r s i m i l a r s e r v i c ep r o v i d e ro rs e r v i c er e q u e s t o rw i l lr e g i s t e ri nt h es a n l ec o m m u n i t y , a n d t h ec o m m u n i t i e sa r eo r g a n i z e dw i t hp e e r - t o - p e e rn e t w o r k i n gt om a k es e a r c ho r f i n de f f i c i e n t l y f u r t h e r m o r e ,s o m ee f f i c i e n ts t r a t e g i e s o fc o m m u n i t y r e o r g a n i z a t i o n ,i e s i m p l e ,t h r e s h o l d , d e m a n d - d r i v e nr e o r g a n i z a t i o n ,a r e d r o p o s e df o rt h ef i r s tt i m e ,a sw e l la st h ec o m m u n i t ys a t u r a t i o nb a s e dm e t h o d e x p e r i m e n t ss h o w t h em e t h o d sa r ee f f e c t i v e 2 a b s t r a c t u s m gg r a m m a rb a s e dx m l t ox m l t r a n s f o r m a t i o n ( x t o ) a p p r o a c ht om e e tt h e d i f f i c u l t yt h a td a t as c h e m ao fi n t e r f a c em e s s a g e si sn o te x a c t l ym a t c ha m o n g s e r v i c e s a n ds o m eo p t i m i z a t i o nt e c h n i q u e s ,i n c l u d i n gc a s h i n g ,g r a p hr e d u c t i o n , a n dp a t he x p a n s i o n ,a r ep r o p o s e dt oi m p r o v et h ee f f i c i e n c yo fs o a pm e s s a g e s t r a n s f o m a t i o ne v a l u a t i o n k e y w o r d s :w e bs e r v i c e s ,w e bs e r v i c e sc o m p o s i t i o n ,s e r v i c es e l e c t i o n ,s e r v i c e c o m m u n i t y ,s o a pm e s s a g e s c h i n e s el i b r a r yc l a s s i f i c a t i o n :t p 3 1 1 3 第一章绪论 1 1 研究背景 第一章绪论 二十世纪九十年代以来,电子商务不断发展,各个公司都投入大量人力、财 力来开发电子商务平台:客户服务,网上连锁商店( 例如:网上书店) ,企业门 户,集团内联网,供应链管理,a s p ( a p p l i c a t i o ns e r v i c ep r o v i d e r ) 服务等等。 w e b 应用从局部化发展到全球化,从b 2 c ( b u s i n e s s t o c o s t u m e r ) 发展到b 2 b ( b u s i n e s s - t o b u s i n e s s ) ,从集中式发展到分部式。然而,各个电子商务平台使用 不同的程序语言开发,并且只能在特定的平台上应用,这就限制了资源的重用和 服务的共享。如何解决语言差异、平台差异、协议差异、数据差异所带来的高代 价的系统集成问题成了急需解决的关键所在。另外,x m l 技术的不断完善,成 为数据表示和交换的标准。 基于上面的实际需求和相关技术的不断发展完善,一种面向服务的体系结构 w e b 服务产生了。从表面上看,w e b 服务就是一个应用程序,它向外界暴露出 一个能够通过w e b 进行调用的a p i 。从深层次上看,w e b 服务是一种新的w e b 应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络中被描述、 发布、查找以及通过w e b 来调用。w e b 服务便是基于网络的、分布式的模块化 组件,它执行特定的任务,遵守具体的技术规范,这些规范使得w e b 服务能与 其他兼容的组件进行互操作。w e b 服务可以使用标准的互联网协议,像超文本传 输协议h r r r p 和x m l ,将功能体现在互联网和企业内部网上。w e b 服务平台是 一套标准,它定义了应用程序如何在w e b 上实现互操作。 与传统的分布式计算相比,w e b 服务具有以下优势: 平台无关、语言无关。w e b 服务技术的主要目标就是在现有的各种异种 平台的基础上构筑一个通用的平台无关、语言无关的技术层,各种不同平台之上 的应用依靠这个技术层来实施彼此的连接和集成。 自描述。w e b 服务的所有协议s o a p s 、w s d l 6 、u d d i 7 都是x m l 文档,所以w e b 服务天生就是具有自描述的良好性质。 松散耦合。这一特征源于对象组件技术,当一个w e b 服务的实现发生 变更的时候,调用者是不会感到这一点的。对于调用者来说,只要w e b 服务的 调用接口不变,w e b 服务实现的任何变更对他们来说都是透明的,甚至是当w e b 服务的实现平台从j 2 e e 迁移到n e t 或者是相反的迁移流程,用户都可以对此一 无所知。 易于集成。由于w e b 服务采用简单的、易理解的标准w e b 协议作为组 第一章绪论 - _ _ - _ - _ 一- _ - - 一 件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a 、 d c o m 还是e j b 都可以通过这一种标准的协议进行互操作,实现了在当前环境 下最高的可集成性。 用消息传递代替传统的a p i s 。w e b 服务采用了s o a p 协议。s o a p 协议 独立于平台,可以在不同的平台、环境下进行传递和交互。 w e b 服务由于其面向服务的良好体系结构,在学术界和工业界进行了大量的 研究和实现。各大计算机厂商和开源组织提出了各自的解决方案( 如: m i c r o s o f t n e t ,s u no n e ,i b mw e bs e r v i c e ,a p a c h es o a p 等) ,而且在编程工 具中提供快速的编写发布w e b 服务( 如:m i c r o s o f tv i s u a ls t u d i o n e t ,i b m w e b s p h e r es t u d i oa p p l i c a t i o nd e v e l o p e r ,b o r l a n dj b u i t d e r ,b e aw e b l o g i c p l a t f o r m 等) 。学术界和研究机构在w e b 服务的服务发现、服务安全、基于语义 的w e b 服务、服务组合等方面进行了大量研究【2 7 】,并且协同工业界在服务描述 ( n a s s l ,s d l ,w s d l 等) 、服务发现( i o d d i ,e b x m l 等) 、消息通信( m r p c , s o a p ,e b x m l t r a n s p o r t 等) 、服务安全( s 2 m l 等) 提出了大量的协议和标准。 1 2w e b 服务组合的关键技术 w e b 服务可以根据实现途径不同分为基本服务和组合服务。所谓基本服务, 就是通过传统的编程语言( 如c 、j a v a ) 编写而成的w e b 服务,而组合服务是通 过整合关联已经存在的服务而实现的新功能或者商务逻辑。无论是基本服务还是 组合服务,对于用户来说是透明的,都是一种w e b 服务,可以通过相同的方法 进行请求调用,详见第二章的介绍。 w e b 服务组合可以看成把简单的w e b 服务作为复杂服务的一部分【1 4 】。w e b 服务组合为企业内部或者企业之间进行商业处理过程的整合提供了一种方法。物 流系统是一个典型的复杂应用系统,其中涉及到多个实体和业务伙伴,例如:客 户、供应商、产品制造商、运输公司、财务公司、海关等。到目前为止,这些业 务伙伴之间的信息交互主要还是人工处理。然而,这些人工处理的过程,完全可 以通过w e b 服务组合自动化的执行。以询价r f q 请求为例,如图1 1 ,来解释 组合服务在物流系统中的应用。询价服务支持客户对提供商所提供的服务或者产 品进行价格的询问,为了实现这个服务,需要调用相关的基本服务,例如查找客 户的订货是否有库存的库存管理服务,提供客户需要的运输业务的运输服务,提 供商品报价和价格核算的财务服务等。 第一章绪论 i 库存管理系统财务系统 l l 运输管理jl 制造系统 il 采购管理li 订单处理 l 二一一一一一一一j 一o :一一一一一一一jl 一一一一一一一j 图1 1 物流系统 w e b 服务组合的过程一般需要以下四步: 1 用户根据需求定义新的服务提交给服务组合引擎; 2 服务组合引擎根据用户的需求建立执行计划; 3 执行组合服务,当然在执行过程中可以进行动态的服务选择以及消息格 式的按需转换; 4 得到结果,返回给用户,并且保存查询计划。 我们可以从逻辑上对组合 w e b 服务的定义和执行归纳在 三个层面( 图1 2 ) 上:业务流 层、数据流层和基本服务管理 层。业务流层关注用户的需求 和目标,创建执行计划,在执行 期间根据具体环境进行服务的 业务流层 安事出 全务错 数据流层 管管处 基本服务管理层 理理理 图1 2w e b 服务组合中的三层模型 选择。数据流层侧重于接口的管理和服务输入输出数据的管理。而基本服务管理 层则是关心基本服务的组织分类管理等维护工作。当然,还需要权限验证、原子 操作、出错回滚等等来使w e b 服务组合更加完善,本文对这些w e b 服务组合中 的安全问题、事务处理问题、出错处理等等( 如图1 2 所示) 不做详细研究。 当用户定义好新的需求之后,业务流程产生一个执行计划,在执行期间,根 据实际网络环境选择恰当的服务。在数据流层相应生成具体的调用消息,向基本 服务管理层进行服务邦定和调用,然后返回结果消息给数据流层,数据流层可以 依据具体需要进一步处理返回的结果消息,然后返回到业务流层。本文侧重于分 析上述三层逻辑模型中存在的技术难题,并提出相应的解决途径,从而为实现有 效的服务组合提供技术支持。 在业务流层,需要解决的技术问题包括:用户对需求的表达、系统执行计划 第章绪论 的生成( 静态或者动态) 、服务的选择等等。其中服务的选择直接影响到组合服 务执行的效率,在业务流层中占有相当重要的地位,因此,我们重点关注服务选 择技术。 在数据流层中,服务组合实现的是数据流的集成,其中涉及到很多数据处理 任务,特别是接口数据的处理。目前绝大部分研究都是基于服务调用之间的接口 是匹配的假设,但是,各种服务是由不同的企业或者个人提供的,每个企业都会 有自己的标准和模式,这也是当前企业应用集成的一个主要难题,如何解决服务 之间接口不匹配问题是不可避免而且目显重要。 对于基本服务管理层,面对数以万计而且不断增加中的w e b 服务,对这些 服务的组织管理从而为查询和绑定提供支持的有效性,直接影晌到组合服务在执 行时的效率。基于这样的考虑,我们分别对三层中一些关键的问题提出了相应的 解决方案: 服务选择:利用排队论的方法对服务进行选择,充分考虑当前系统的性 能,以及各个服务的等待肘间和执彳亍时间。 数据处理:采用基于文法的x m l 数据转换技术,对不同接口的数据格 式进行转换,从而提供一种有效的手段解决数据集成问题。 服务管理;结合对等网络,对服务进行社区化的管理,从而提高服务查 找的效率。 1 2 1 服务管理技术 基于对等网络( p e e r - t o - p e e r , p 2 p ) 和w e b 服务在很多地方有相似之处,所 以现在有很多关于结合两者优势来进行服务管理的研究,在介绍这些研究之前, 先给出对等网络的特点。 对等网络是当前计算机界研究的热点问题之一,由于其对等性、自治性、动 态性和可扩展性等众多优点,被认为可能成为下一代计算机网络的基本构架。当 然,一个典型的p 2 p 系统应该具有以下特点: 节点功能,角色对等。即每个节点即可以充当客户端享受其他节点提供 的服务,同时又可以充当服务器为其他节点提供服务,任何两个节点都可以直接 交互。 不存在集中式的管理控制机制。纯粹的p 2 p 系统与传统c s 架构最大的 不同点就是不存在集中式控制,节点之间地位平等,每个节点可阻完全控制自身 的资源与服务。 具有良好的可扩展性,可伸缩性。传统架构因为受限于中央控制资源的 第一章绪论 有限性,很难扩大系统规模,而在一个设计很好的p 2 p 系统中,由于不存在中 央控制机制,系统可以轻易的进行规模扩展。 具有良好的动态性。动态性意味着每个节点可以在任意时刻加入或者离 开系统,由于不存在中央服务器,因此p 2 p 系统不会因为某个关键节点的离开 而崩溃,这点不同于传统c s 架构单点出错的特点 1 0 1 。 具有良好的自组织性。自组织性就是节点可以在没有外界控制的情况下 自动调整其网络结构,比如调整其邻居节点的分配等等,这是p 2 p 系统在缺乏 中央控制的情况下调整其组织结构所依赖的特性。 p 2 p 的上述特征与w e b 服务有着众多的相似之处,由此,结合p 2 p 进行对 w e b 服务的管理有了较多的研究,如a x m l 1 6 和s e l f - s e r v 1 7 。 a x m l 1 6 定义了一种在对等网络下采用w e b 服务来进行系统集成的框架, a x m l 文档是这个系统框架的核心,该文档主要是在x m l 文档中包含了对w e b 服务进行调用的信息。s e l f - s e r v 1 7 ,2 2 1 在对服务进行发布、发现、绑定时大量使 用p 2 p 特性,包括协调者、包装者以及路由表。然而,他们都没有考虑每个p e e r 或者社区的负载平衡以及对服务选择时的质量评估。 1 2 2 服务选择技术 正如前面所介绍的,目前学术界和工业界越来越多地关注到w e b 服务和服 务组合技术,也有很多相关的规范,包括s o a p 5 、w s d l 【6 】、u d d i 7 等。部 分标准也已经被研究者和开发者广泛接受并采用。其中,w e b 服务的业务流程执 行语言b p e l 4 w s 9 在组合w e b 服务方面已经在业界受到广泛的接受和支持。 b p e i a w s 描述了如何用w e b 服务接口实现特定业务流程的功能。b p e l 4 w s 语 言比较全面,可以用来详细的说踞商业业务流程。然而,b p e i a w s 设计者并没 有考虑到系统性能,而把这部分留给了实现者。e f l o w 1 8 是由i i p 公司提出的另 一个典型规范,对进行服务组合提供了详细的规范、定制以及管理。e f l o w 关注 于如何动态修改w e b 服务的定义,但没有考虑到对服务提供者如何按一定规则 ( 比如服务质量) 进行选择。丽其他的系统 1 9 1 ,比如x l ,o w l - s 等,也只是 部分地支持服务质量。 为了能识别潜在的有用的服务及评价服务之间的相关性,【2 0 】使用基于信息 检索的服务发现方法。b o u a l e m 等人提出了一个s e l f s e r v 系统 2 2 ,1 7 1 ,在对 服务的进行发布、发现、绑定时大量使用p 2 p 特性,包括协调者、包装者以及 路由表。然而,s e l f s e r v 系统没有实现对w e b 服务的动态组合,而且也没有 考虑服务质量。虽然服务质量的描述很多,包括执行时间、传输时间、价格等等, 第一章绪论 但是,对于如此众多的服务质量的描述,如何使用这些服务质量参数,很多研究 都局限于静态使用。我们在此仅讨论服务质量参数的使用问题,而不讨论如何定 义完善的服务质量参数。 鉴于w e b 服务具有高度动态性和随机性,因此如何在动态的网络环境中, 使用服务质量参数来对服务进行评估和选择,将会很大程度上,影响到组合w e b 服务的执行性能。到目前为止,据我们所知,目前这方面的研究非常有限。本文 第三章在组合服务的执行过程中通过排队论的方法对服务请求进行调度和根据 当前的网络环境迸行服务选择。 1 2 3 数据处理技术 w e b 服务在调用时,通过s o a p 消息进行消息传递,包括对服务的请求消 息和响应消息。然后在现实中,各个组织或者公司会定义自己的消息格式,也就 是说消息满足特定的d t d 或者x m ls c h e m a ,使得服务请求者得到s o a p 响应 消息和实际需要的格式不同。在服务组合中,一个服务的响应消息可能是另一个 服务的请求消息,这种服务之间接口不同,也就是消息格式不同会使得组合w e b 服务不能顺利进行相互调用来完成用户的目标任务。 在以往的研究中,对于服务之间的接口处理,没有给出有效的方法和处理策 略,然而,在服务组合的应用中,由于w e b 服务是由不同的提供者提供,造成 服务的消息格式的千差万别,在这种情况下,如何保证消息处理的正确性与合理 性具有重要的实践意义。 从x m l 的研究背景来看,虽然现在的很多x m l 查询语言( 如x q u e r y , q u i l t , x s l t 等) 都有在x m l 查询结果的基础上重构新的x m l 文档的功能,但是都没 有考虑要符合某个模式( 订ls c h e m a 或者d t d ) 这个重要前提。如果在重构 之后,再检查重构的x m l 文档是否符合给定的模式,则可能需要经过多次重构 失败之后才有可能得到正确的文档,这样做代价很大【3 8 】而且也不现实。如果不 检查,却让用户根据事先给定的d t d 去设计一个十分复杂的x m l 查询语句, 对用户来说是极为困难的,而且更坏的情况是,如果目标d t d 包含了环路的话, 试图用一个查询就能构造出新的x m l 文档简直是不可能的。因此,在服务接1 2 1 处理中,如何进行符合输入参数要求模式的数据处理,是一个很关键的技术。目 前,这方面的工作很少。实验室成员已经在这方面开展了一系列的工作 f 2 7 ,4 0 ,4 1 。在已有的研究基础上,本文第五章探索了能够支持复杂接i s l 信息处 理的技术,所采用的方法可以解决数据模式不同带来的数据处理任务。 第一章绪论 1 3 本文的研究目标和内容 由上面可以得出,要对组合服务进行高效的执行,并且适应动态的网络环境 带了很大的挑战: 怎样利用现有的标准协议,例如s o a p 、w s d l 、b p e i a w s 等,并且根 据需要进行适当的扩充,使得组合w e b 服务能够考虑动态的网络环境带 来不确定因素? 在组合服务的业务流层上,在充分考虑服务的等待时间和服务质量下, 怎样对服务进行调度和选择,提高组合服务的执行效率? 在组合服务的数据流层上,对于服务之间接口不匹配问题,怎样给出一 种有效而且普遍适合的方法,能够对s o a p 消息转换,使得服务接口互 相匹配而能顺利自动进行调用? 在组合服务的基本服务管理层上,怎样对众多服务进行有效的分类管 理? 本文在接下来的章节中,将针对上面遇到的问题,逐个给出解决方法并且加 以实现。其中包括:动态环境中的服务选择技术、接口s o a p 消息的处理技术、 服务社区化管理技术。总结起来,本文的主要贡献如下: 基于排队论理论,针对组合服务的业务流层面,提出了w e b 服务的选择 和调度技术。在执行过程中,可以动态的计算每个服务的当前服务质量, 根据服务质量进行服务选择,使得组合服务能够获得较高的执行效率。 该服务选择算法充分考虑了服务的等待时间、执行时间,能适应动态的 网络环境,并且实验证明该算法能够达到一个较高的系统性能。 通过相似度的计算,使得相同或者相似的服务注册在相同的注册中心 ( 服务社区) ,注册中心又采用对等网络进行路由和信息管理,以提高 服务查找效率。为适应系统的动态变化,还给出对服务社区进行调整的 算法,在文中称为社区重组算法。并且提出了社区饱和度,来平衡各个 社区的负载。实验证明,给出的社区管理方法和社区调整算法能够提高 服务组合在服务选择时的查找效率。 针对组合服务数据流层面,为了解决服务组合中接口的不匹配问题,采 用了基于文法的s o a p 消息处理。由于s o a p 消息是一个x m l 文档, 所以采用了x t g 来进行符合特定模式的x m l 到x m l 的转化,并且提 出了缓存、图规约、路径扩展等多种优化算法。 第一章绪论 1 4 论文结构 本文一共分为六章,第一章在介绍研究背景之后,说明了本文为什么要对服 务管理、服务选择以及消息转换进行研究,并且指出了本文的研究目标和成果。 第二章是对w e b 服务和现有标准的详细介绍,作为后面章节的知识铺垫。第三 章给出了基于对等网络的d 3 d s e r v 系统,并且采用排队论方法来设计在动态网 络环境中,服务选择和调度的算法。第四章详细的介绍了d 3 d - s e r v 的杜区化管 理方法,还给出了简单重组、阀值重组、按需重组等社区重组算法。第五章,针 对w 曲服务接1 2 1 消息格式不匹配的问题,采用一种基于文法的x m l 转换算法, 同时还给出了缓存、图规约、路径扩展三种加快转换速度的优化算法。最后一章, 对本文进行了总结。 第二章w e b 服务的基本知识和相关标准 第二章w e b 服务的基本知识和相关标准 本章介绍了w e b 服务的定义及基本构架,并且详细描述了s o a p 、w s d l 、 u d d i 以及b p e l 4 w s 等标准协议,这些都是本文的基础知识。 2 1w e b 服务定义 w e b 服务是一种新的w e b 应用程序分支,它们是自包含、自描述、模块化 的应用,可以在网络中被描述、发布、查找以及通过w e b 来调用 w e b 服务的体系结构如图2 1 所示,包括三个角色;服务提供者、服务请求 者和服务注册器【1 1 】。 服务提供者:发布自己的服务,并且对请求者进行响应。 服务注册器:注册己发布的服务,并且对其进行分类,提供索引查找。 服务请求者:利用服务注册器查找需要的服务,然后根据服务描述进行 服务调用。 图2 1 :w e b 服务体系结构 2 2 简单对象访问协议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 o l ,s o a p ) 【5 】为在一个松 散的、分布的环境中使用x m l 进行结构化和类型化的信息交换提供了一个简单 且轻量级的机制。s o a p 是实现了w e b 服务之间的消息通信。s o a p 本身并不 定义任何应用语义,如编程模型或特定语义实现,它只是定义了一种简单的机制, 一一一一 塑= 兰兰! 壁堑塑墨至型望塑塑茎堡堡 通过一个模块化的包装模型和对模块中特定格式编码的数据的重编码机制来表 示应用语义。s o a p 的这项能力使得它可以被很多类型的系统用于从消息系统到 r p c 的延伸。 s o a p 由四个部分组成: s o a p 信封:构造定义了一个整体的表示框架,可用于表示是什么消息, 由谁来进行处理,以及这是可选的还是强制的。 s o a p 编码规则:定义了一个数据的编码机制,通过这样的一个编码机 制来定义应用程序中需要使用的数据结构,并可用于交换由这些应用程序定义的 数据类型所衍生的实例。 s o a p r p c 表示;定义了一个用于表示远程过程调用和响应的规则。 s o a p 绑定:定义了一个使用底层传输协议( 如h 兀p ) 来完成在节点 间交换s o a p 信封的规则。 下面是一个用于查找订单详细信息的s o a p 消息,给出订单号o r d e r 0 0 0 1 0 1 , 2 3w e b 服务描述语言w s d l w e b 服务描述语言( 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 ) 【6 】定义了 一种x m l 语法,将w e b 服务描述为能够进行消息交换的通信端点的集合。 w s d l 服务定义为分布式系统提供了文档,并且包含了自动执行应用程序通信 中所涉及的细节。 第二章w e b 服务的基本知识和相关标准 w s d l 文档将服务定义为网络端点或端口的集合。在w s d l 中,由于端点 和消息的抽象定义已从具体的网络部署或数据格式绑定中分离出来,因此可以对 抽象定义进行再次使用,其中,消息指对交换数据的抽象描述,而端口类型指操 作的抽象集合。用于特定端口类型的具体协议和数据格式规范构成了可以再次使 用的绑定。将网络地址与可再次使用的绑定相关联,可以定义一个端口,而端口 的集合则定义为服务。因此,w s d l 文档在w e b 服务的定义中使用下列元素: t y p e s 数据类型定义的容器,它使用某种类型系统( 如x m l s c h e m a ) 。 m e s s a g e 通信数据的抽象类型化定义。 o p e r a t i o n 对服务所支持的操作的抽象描述。 p o r t t y p e 操作的抽象集合,这些操作由一个或多个端点支持。 b i i n d i n g 特定端口类型的具体协议和数据格式规范。 p o r t 定义为绑定和网络地址组合的单个端点。 s e r v i c e 相关端点的集合。 应该注意的是,w s d l 并没有引入新的类型定义语言。虽然w s d l 知道, 要描述消息格式需要丰富的类型系统,并且它也支持“x m l 架构规范( ) ( s d ) ” 作为其标准类型系统,但是,由于不可能只用一种类型系统语法来描述现在和将 来的所有消息格式,因此w s d l 允许通过扩展来使用其它类型定义语言。此外, w s d l 还定义了通用的绑定机制。通过该机制可使特定的协议、数据格式或结 构与抽象的消息、操作或端点相关联。该机制还允许对抽象定义进行再次使用。 下面是一个w s d l 文件,描述了通过订单号获取订单详细信息的w e b 服务。 1 4 兰三里燮竖堑箜茎查塑望塑塑羞堑堡 2 4 统一描述、发现和集成u d d i 统一描述、发现和集成( u n i v e r s a ld 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 ) 7 】由a r i b a ,、i b m 和m i c r o s o f 三家公司创立,并且被w 3 c 采纳的,是w e b 服 务描述与发现的标准协议和w e b 服务集成的系统框架。u d d i 在w e b 服务中的 作用就像搜索引擎( 如y a h o o 、g o o g l e 、百度等) 在i n t e r a c t 上进行信息查找的 作用。通过u d d i 这个开放性的计划,企业可以发布他们所期望的在w e b 上实 现商务流程对接的方式的相关信息和技术规范,这潜在地为b 2 b 商务的成长提 供了动力。u d d i 将通过创建一个全球的、独立平台,运用i n t e r n e t 发现商机、 描述服务和综合商务的开放式框架,使所有的贸易都从中获利。 2 。5w e b 服务的业务流程执行语言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 nl a n g u a g ef o rw e b s e r v i c e s ,b p e l 4 w s ) 【9 】提供了业务流程的正式规范,该规范以平台独立方式明 第二章w e b 服务的基本知识和相关标准 确捕获组成特定流程的服务如何进行交互。它直接被w s d l 支持,并且利用了 其中许多的概念,w s d l 提供了同步或者无关异步消息的无状态定义,b p e l 4 w s 扩展了这一点,可以定义排序、规则、有状态数据、错误处理、恢复选项和管理 服务调用操作的合作伙伴关系。b p e l 4 w s 是结合了i b m 的w s f l 和m i c r o s o f t 的x l a n g 。目前,b p e l 4 w s 几乎成为业界公认的规范,但是,通过分析,我 们发现,其中有很多功能没有提供有效的技术来支持,因此,本文所讨论的服务 选择、数据处理等技术,可以作为b p e l 4 w s 中相关功能的有效实现技术。 笙三兰兰竺里堑塑垫查望堡 第三章w e b 服务的动态选择 目前,越来越多的商业伙伴或者企业内部之间通过网络进行交流和实现商业 逻辑的整合。w 曲服务技术的出现,为企业之间实现服务共享提供一种标准的方 式和途径 1 1 ,w e b 服务在企业应用集成有很多优势【1 2 】,但是,要对非常复杂 而且庞大的企业内部系统进行集成,会面临许多问题,比如平台差异、语言差异、 数据格式差异等。尤其在动态网络环境中,如何进行有效的服务选择【1 3 ,是进 行w e b 服务组合的关键技术之一。 3 1d 3 d s e r v 系统构架 3 1 1d 3 d s e r v 服务组合引擎 d 3 d s e r e 系统( d y n a m i cd e m a n d - d r i v e nw e bs e r v i c e se n g i n e ,d 3 d s e r v ) , 如图3 1 所示,使用p 2 p 技术不仅仅为了执行w e b 服务,而且还为了管理和调 度w e b 服务,对于d 3 d s e r v 采用p 2 p 进行服务管理的方法将在下面一章进行详 细的介绍,这一章侧重于如何对服务进行动态的选择。d 3 d s e r v 的架构是基于 标准协议设计的,如x m l 、s o a p 、w s d l 等,从而能支持在动态的业务和网 络环境中管理组合的w e b 服务以及按需选择w e b 服务。d 3 d s e r v 的主要功能 有:基于服务质量( q u a l i t yo f s e r v i c e ,q o s ) 的服务选择,动态调度和执行选定 的w e b 服务等。 d 3 d - s e r v 系统是服务组合的引擎,能够实现多个基本服务的有效组合,从 而完成用户提交的新的功能或者业务逻辑,使用了s o a p 和w s d l 两种标准协 议: s o a p 为服务之间的互操作定义一种基于x m l 的消息协议。在每个 s o a p 消息中,为接受消息的节点明确定义需要执行操作的相应描述。由于s o a p 是以x m l 定义的,而x m l 是不依赖于平台、语言的,因此,s o a p 消息自g 在 任何网络中通过网络协议( 如h 订p ) 进行传播。 w s d l 用来描述服务的访问接口,其中包括:服务名字、端口类型、操 作、描述等等。端口是一个网络i p 地址和端口捆绑在一起。操作指服务的功能。 每个w s d l 可以包含多个端口,而每个端口又可以包含多个操作。w s d l 通过 抽象的定义,使与具体实现的细节分开。 第三章w e b 服务的动态选择 典型的w 曲应用程序系统是分布在多台机器上的服务,通过i n t e m e t 使它们 共同工作,最后共同完成一项任务。服务组合为了完成某个任务,需要把服务或 者任务串联或

温馨提示

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

评论

0/150

提交评论