




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 如今,随着w e b 服务( w e bs e r v i c e s ) 技术的日臻成熟,w e b 服务的应用会越来 越广泛,前景也会更加明朗。但是,单个w e b 服务提供的功能毕竟有限,如果把多 个w e b 服务组合起来,那么一个功能强大的w e b 服务就会呈现在我们面前。w e b 服 务组合就是通过服务查找以及服务之间的接口集成,将多个自治的w e b 服务根据应 用需要进行组合,从而提供新的、功能更强的w e b 服务,或者说提供一些增值的w e b 服务。在研究w e b 服务组合过程中,一旦有新的与需求相符的服务出现,或者原有 服务由于某种原因不存在时,就带来了w e b 服务的动态切换问题。针对此问题提出 了一种基于正确性维持系统( t r u t hm a i n t e n a n c es y s t e m ,t m s ) 的w e b 服务动态切 换方法,论文主要在如下几方面做了研究。 首先,介绍了w e b 服务的基本理论,包括w e b 服务的定义、w e b 服务的体系结 构和w e b 服务的精髓技术,重点介绍了w e b 服务的三种技术:s o a p 、w s d l 和u d d i 。 其次,分析了w e b 服务支撑技术,包括w e b 服务描述、w e b 服务匹配、w e b 服 务发现和w e b 服务组合等技术。 然后,研究了w e b 服务组合中的具体概念,特别是现阶段w e b 服务组合所采用 的几种方法,并给出一个w e b 服务组合的实例。 最后,提出了解决w e b 服务动态切换问题所采用的方法一t m s ,通过产生矛 盾节点,并回溯到矛盾节点的根源,从而替换原有服务,消除冲突,以维持w e b 服 务组合序列的正确性和有效性,实现w e b 服务的动态组合。同时给出了基于t m s 的 替换算法,并通过理论分析和实例验证,论证了本文所采用的方法是可行的,有效 的。 关键词:w e b 服务;动态切换;t m s a b s t r a c t n o w a d a y s ,w i t ht h ew e bs e r v i c e st e c h n o l o g y sg r a d u a l l ym a t u r i n g ,t h e w e bs e r v i c e s a p p l i c a t i o nw i l lb eg e t t i n gm o r ea n dm o r ew i d e s p r e a da n dt h e p r o s p e c tc a na l s ob eb r i g h t e r b u t ,ap o w e r f u lw e bs e r v i c e sw i l lp r e s e n ti n f r o n to fu si fc o m p o s em a n yw e bs e r v i c e s ,b e c a u s et h es i n g l ew e bs e r v i c e s p r o v i d e s t h ef u n c t i o ni sl i m i t e d w e bs e r v i c e s c o m p o s i t i o n w h i c hi s c o m p o s em a n ya u t o n o m o u sw e bs e r v i c ea c c o r d i n gt ot h ea p p l i c a t i o n t h r o u g hs e r v i c es e a r c ha n dt h ei n t e g r a t i o nb e t w e e ns e r v i c ei n t e r f a c e s ,t h u s p r o v i d e sn e w l y , t h e f u n c t i o n s t r o n g e r w e bs e r v i c e ,o r p r o v i d e s s o m e i n c r e m e n t s w e bs e r v i c e s d u r i n go ft h er e s e a r c hp r o c e s so fw e bs e r v i c e s c o m p o s i t i o n ,w h e nh a v i n gn e ws e r v i c e ,w h i c hi sc o n s o n a n tw i t hr e q u i r e m e n t o rt h eo r i g i n a ls e r v i c ei si n e x i s t e n c ef o rs o m er e a s o n s ,i tc a nb r i n gd y n a m i c s w i t c h i n gq u e s t i o n so fw e bs e r v i c e f o rt h i si s s u e ,ad y n a m i cs w i t c h i n g m e t h o do fw e bs e r v i c eb a s e do nt m s ( t r u t hm a i n t e n a n c es y s t e m ) i s p r o p o s e d ,t h ep a p e rm a i n l yh a sd o n et h er e s e a r c hi nt h ef o l l o w i n gs e v e r a l a s p e c t s f i r s t l y ,i n t r o d u c e dt h ew e bs e r v i c e se l e m e n t a r yt h e o r y , i n c l u d i n gt h e w e bs e r v i c e sd e f i n i t i o n ,t h ew e bs e r v i c e sa r c h i t e c t u r ea n dt h ew e bs e r v i c e s e s s e n c et e c h n o l o g y , w i t he m p h a s i si n t r o d u c e dt h ew e bs e r v i c e st h r e ek i n d s o f t e c h n o l o g i e s :s o a p 、w s d la n du d d i s e c o n d l y , i n t r o d u c e dt h ew e bs e r v i c e ss u p p o r tt e c h n o l o g y :w e b s e r v i c e sd e s c r i p t i o n ,w e bs e r v i c e sm a t c h ,w e bs e r v i c e sd i s c o v e r ya n d w e bs e r v i c ec o m p o s i t i o na n ds oo n t h i r d ,r e s e a r c ht h ec o n c r e t ec o n c e p to ft h ew e bs e r v i c ec o m p o s i t i o n , s p e c i a l l ys e v e r a lm e t h o d s w h i c ht h ew e bs e r v i c ec o m p o s i t i o nu s e da t p r e s e n t ,a n dg i v eae x a m p l eo ft h ew e bs e r v i c e sc o m p o s i t i o n f i n a l l y , t h em e t h o do ft m sw h i c hi sp r o p o s e dt os o l v ew e bs e r v i c e s t h ed y n a m i cs w i t c h i n gq u e s t i o ni sp r o p o s e d t h i sm e t h o d ,w h i c hi st h r o u g h g e n e r a t i n gc o n t r a d i c t o r yn o d e sa n dd a t eb a c kt ot h er o o to fc o n t r a d i c t o r y n o d e s ,r e p l a c eo r i g i n a l s e r v i c e sa n de l i m i n a t ec o n f l i c t st om a i n t a i nt h e i a c c u r a c ya n dv a l i d i t y o fw e bs e r v i c e sc o m p o s i t i o ns e q u e n c ea n dr e a l i z e d y n a m i cc o m p o s i t i o no fw e bs e r v i c e s a n d t h er e p l a c ea l g 。r i t h mw h i c h b a s e do nt h et m sh a sb e e ng i v e n t h r o u g ht h et h e o r e t i c a la n a l y s i sa n dt h e e x 锄p l e ,h a y ep r o v e n t h em e t h o dw h i c ht h i s a r t i c l eu s e di sf e a s i b l e , e f f e c t i v e k e yw o r d s :w e bs e r v i c e ;d y n a m i cs w i t c h i n g ;t m s ( t r u t h m a m e n a n c es y s t e m ) i i 声明户明 本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。 作者签名:型蚣 日期:盏霉:皇:竺 关于学位论文使用权的说明 本人完全了解太原科技大学有关保管、使用学位论文的规定,其 中包括:学校有权保管、并向有关部门送交学位论文的原件、复印 件与电子版;学校可以采用影印、缩印或其它复制手段复制并保存 学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交 流为目的,复制赠送和交换学位论文;学校可以公布学位论文的全 部或部分内容( 保密学位论文在解密后遵守此规定) 。 作者签名:盘咝 日期:2 掣:兰:竺 导师签名:j 三l 蓬五月玺l 日期:二丛雩二l 第一辛绪论 第一章绪论弟一早三百了匕 w e b 服务( w 曲s e r v i c e s ) 技术经过近几年的发展,目前仍处在不断完善的过程 中。w e b 服务的基本功能是实现计算机系统与应用系统之间的互联,以达到共享服 务的目的。它不是单一的技术理论,而是一个多技术的集成,包括h t t p 、x m l 、s o a p 、 w s d l 、u d d i 等技术,并且通过开放的i n t e r n e t 标准( 如:u d d i 、x m l 、w s d l 和s o a p ) 来消除现有解决方案( 如:c o r b a 和d c o m ) 中的互操作性问题。未来社会充斥的不仅 仅是信息,而是功能更强大的服务,工t 界也正在从传统的面向代码的开发向面向服 务的开发转化。掌握w e b 服务的原理和开发方法必将在不久的将来赢得丰厚的回报。 1 1 课题的提出背景及意义 近年来,随着“软件作为服务 理念的发展和w e b 服务技术的日臻成熟,越来 越多的稳定易用的w e b 服务共享在互联网上。于是,各种基于因特网和w e b 服务的 商业和应用模式如雨后春笋般出现了。w e b 服务作为一种新型的分布式计算模型, 是w e b 上数据和信息集成的有效机制,也是解决现实应用问题的重要技术。 w e b 服务的主要目的是通过使用w e b 标准达到应用间的跨平台的互操作,为了 实现这一目标,w e b 服务完全基于x m l 等独立于平台、独立于软件开发商的接口标 准,w e b 服务已经成为创建可互操作的分布式应用程序的新平台。它将会在商业、 生活及军事等领域,特别是在软件和数据重用、应用程序集成、b 2 b 集成和跨防火 墙的通信等方面带来不可估量的好处。 但是,单个w e b 服务提供的功能有限,为了更加充分的利用共享的w e b 服务, 有必要将单个的w e b 服务组合起来。w e b 服务组合就是通过服务查找以及服务之间 的接口集成,将多个自治的w e b 服务根据应用需要进行组合,从而提供新的、功能 更强的w e b 服务,或者说提供一些增值的w e b 服务1 。 在分布式的环境下,运行在不同平台上的w e b 服务可能由于创建的方式不同、 实现的程序语言不同、提供服务的供应商不同等原因,进行服务的组合时可能面临 如何实时切换动态变化的w e b 服务以替换原有组合模型的问题。也就是说相同的功 能可以由不同的服务组件或基本服务提供,w e b 服务组合过程中,一旦有新的、与 需求相符的服务出现,或者原有服务由于某种原因不存在时,为了使该服务正常执 行,就需要进行服务组合的动态切换。解决服务组合动态切换问题的方案直接关系 着w e b 服务系统的有序性和可重用性。 摹于t m s 的w e b 服分动态切换研究 1 2 国内外研究现状 回顾w e b 服务的发展历程,它现在正处于技术发展过程中的第一个阶段,即已经 被接受。虽然目前w e b 服务体系结构还只是用来创建简单类型的应用,但应该看到, w e b 开发界已经逐渐将w e b 服务视作可行的工具,并逐步将它用于完成许多陈旧、庞 大的技术多不能实现的任务。目前,许多开发商们已经不再怀疑w e b l 艮务的可行性, 而是开始研究如何最大限度地利用w e b j 艮务技术来构建各种应用。 从本质上看,w e b j 臣务是对原有技术的革新,它并不是一种全新的体系,以前也 曾经出现过分布式对象系统,但是它不是为多个系统的相互通信而设计的。即使对 于同一个系统( j n c o r b a ) ,来自不同厂商的不同实现也是不能相互操作的。w e b 服务 并不是完全被当作分布式对象使用,但它们并未提供一种全新的编程模式,其调用 服务的基本途径主要也还是r p c 。在研究分布式计算技术的这一发展阶段,w e b j 艮务 的出现是因为原有的技术无法实现多个系统之间的互操作,使得企业应用的进一步 集成遇到了障碍,而w e b j 艮务的出现,使得集成分布式应用中的各个组件就有了一个 公共的框架,无需再考虑每一个组件的具体方式。 由于w e b 服务的技术标准日渐成熟和稳定,w e b j 艮务的应用正在不断普及,尤其 是在企业内部集成等方面一直稳步发展。目前w e bj 艮务已经在电子制造、金融、电子 政务、零售、交通、地理信息、能源服务等行业和领域广泛应用,软件行业咨询机 构s t e n c i1g r o u 有着许多成功应用的案例。目前,认为w e b j 艮务技术的应用将经历早 期应用、系统的部署、新业务规模等机构阶段,如下所述: ( 1 ) 在2 0 0 2 年中期以前,在这个阶段驱动因素是成本效益和挖掘已有投资效益的 能力,强调的是内部集成项目。在这一阶段的早期应用主要来自通信、保险、汽车、 高技术制造和金融服务等领域。 ( 2 ) 从2 0 0 2 年中至, j 2 0 0 4 年初,在这个阶段,企业将理顺已有的业务流程,系统地、 策略性开发和采用w e b j 艮务。 ( 3 ) 实现了真正的、动态的业务关系,将会出现以w e b 服务驱动的新的业务模式。 关于工具语言方面,随着w e b 服务相关技术规范的不断完善,软件厂商不断推出 新的产品,更多的企业和用户正受益于w e b j 艮务。在技术方面,各大技术提供商也相 继推出了w e b 服务的构建工具,包括m i c r o s o f t 公司的v i s u a ls t u d i o n e t 、i b m 公司 的w e b 服务t o o l k i t 和s u n 公司的s u no n e 等。基于w e b 服务的公共技术标准s o a p 、w s d l 、 u d d i 、w s f l 等或已经成为事实行业标准,或是正处于制定的过程中。各大技术提供 商,特别是i b m 公司和m i c r o s o f t 公司作为w e b 服务体系架构的领导者已经开始推广 2 第一章绪论 w e b h 艮务技术,连传统商业企业也投入到了标准的制定和应用中去。 某些i t 权威机构也作出了预测,w e b 服务将成为将来动态商务的主流技术,是下 一次立足于w e b h 艮务技术基础之上的投资热潮的来临,将能够给信启、技术行业带来实 实在在的利润,甚至能够超越w e b h 艮务之前为公司建立起来的动态业务关系而带来更 大的利润。同样,w e b i 艮务能够帮助信息工作者制定更科学合理的商业决策方面的关 键信息,信息工作者将认识到w e b 服务能带来比过去1 0 年还要高的生产力增长。不久 的将来,w e b 服务将得到广泛使用,并将成为企业商业数据和应用集成的最主要技术。 关于w e b 服务的动态替换的研究,国内外的一些文献在这方面也提出了一些解决 方法,如文献 7 从w e b 服务管理的角度提出了对服务提供者进行操作控制的动态调 整算法;也提出了用于动态服务组合的服务组件动态切换机制。同样,文献 1 1 以 基本服务作为构成复杂服务的最小单位,基于状态保持机制提出了查阅状态表的解 决方案。分别对每个基本服务建立状态表。这样,完全通过查阅状态表进行服务的 动态组合,执行与基本服务间的自动切换。 1 3 本文的贡献及论文的组织结构 本文的主要工作是针对w e b 服务中服务组件动态切换的问题,提出了一种基于 t m s ( 正确性维持系统) 的w e b 服务动态切换方法。通过产生矛盾节点,并回溯到矛 盾节点的根源,从而替换原有服务,消除冲突,以维持w e b 服务组合序列的正确性 和有效性,实现w e b 服务的动态组合。给出了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 d l 和u d d i 。 第三章主要分析了w e b 服务支撑技术:w e b 服务描述、w e b 服务匹配、w e b 服 务发现、w e b 服务组合和w e b 服务安全等技术。 第四章详细研究了w e b 服务组合中的具体概念,特别是现阶段w e b 服务组合 所采用的几种方法,并给出一个w e b 服务组合的实例。 第五章提出了解决w e b 服务动态切换问题的方法叫m s ,并给出基于t m s 的 替换算法和一个动态切换的实例。 第一辛e b 服务的单奉理论 第二章w e b 服务的基本理论 随着计算机技术的不断发展以及企业面临的环境越来越复杂,企业信息系统大 多构建为多平台的复杂系统,它们都使用自身的协议和端口进行信息的传递。企业 对跨平台系统的需求越来越迫切,而目前已有的跨平台系统在数据共享方面的能力 差。因此,人们就开始致力于建立有关数据格式和数据交换方面的标准,以实现“松 散耦合的、跨平台的、与语言无关的”目标。该目标的核心是互操作性问题,也就 是使不同系统能够无缝地进行通信和数据共享。这正是w e b 服务( 1 j i e bs e r v i c e s ) 技 术产生的驱动力。目前,实现机器间消息传递的w e b 服务技术很多,如s o a p 、w s d l 和u d d i 等。本章首先介绍了w e b 服务的基本理论,包括w e b 服务的定义、w e b 服务 的体系结构和w e b 服务的精髓技术;然后重点介绍了w e b 服务的三种技术,包括: s o a p 、w s d l 和u d d i 。 2 1w e b 服务简介 w e b 服务使用标准的x m l 消息接发系统,它不受任何操作系统和语言的约束, 是一类可以从i n t e r n e t 上获取的服务的总称。定义了应用程序如何在i n t e r n e t 上 实现互操作,实现了软件的动态提供,拓展了应用程序的功能。 完整的w e b 服务应该满足五个条件:( 1 ) 可以从i n t e r n e t i n t r a n e t 上获取; ( 2 ) 使用标准的x m l 消息收发系统;( 3 ) 不受任何操作系统或编程语言约束;( 4 ) 使 用普通的x m l 语法,可以自描述;( 5 ) 用简单的查找机制就可以发现。 2 1 2w e b 服务定义 简单来说,w e b 服务是一个a p i 或者是一个应用程序,能够通过i n t e r n e t 进行 调用并能够向外界暴露出来。w e b 服务建立在可互操作的分布式应用的新平台上, 它以x m l 为主、建立在开放的w e b 规范技术基础上。同时,因为它是部署在w e b 上 的一种对象,所以具有w e b 对象所拥有的所有优点。因此,同当前所有的对象技术 相比w e b 服务具有更好的优越性和开放性,可以用任何语言、在任何平台上编写。 w e b 服务平台提供了一个标准,它定义了应用程序如何在w e b 上实现互操作性。 w e b 服务可以在网络中被描述、发布、查找以及调用,是一个自包含的、模块化的 应用程序,还可以是一个基于网络的、分布式的模块化组件,这个组件模块遵循具 体的技术规范,执行特定的任务,所以它能与其他兼容的组件进行互操作。在现实 世界里,企业发布的在线应用服务就是w e b 服务的最好例子,它能完成特定的业务 5 幕于q 3 v l s 的w e b 服务动态切换研究 需求,其他企业和应用软件通过访问i n t e r n e t 来使用这些应用服务,实现了信息 的互访。 对于大多数w e b 服务使用者来说,w e b 服务可以看作是部署在w e b 上的对象或 者组件,它们具备良好的封装性、松散耦合、使用标准协议规范和高度可集成能力 等特征。良好的封装性是指它本质上是一种部署在w e b 服务上的对象,良好封装性 就是它的自然属性。从使用者的角度来看,只能看到该对象提供的松散耦合的功能 列表,使用者不用关心w e b 服务的内部发生的任何变更。从调用者的角度来看,w e b 服务内部实现发生的变更相对他们来说是清晰可见的,不变的是w e b 服务的调用接 口。使用标准协议规范是指完整的w e b 服务应该满足上节提到的五个条件。而且同 一般对象相比,在界面调用方面要求会更加规范,更容易让人理解。高度可集成能 力是由于w e b 服务使用标准协议规范的特征,无论是c o r b a 、d c o m 还是e j b 都可以 通过这一种标准的协议进行互操作,从而实现了在当前环境下的高度集成。 2 1 2w e b 服务体系结构 w e b 服务体系结构是面向对象分析与设计( o o a d ) 和组件化模式的一种结构,是 电子商务解决方案中面向体系结构、设计、实现与部署的必然结果。 w e b 服务体系结构基于三种角色和三种操作。三种角色:服务提供者( s e r v i c e p r o v i d e r ) 、服务请求者( s e r v i c er e q u e s t e r ) 和服务注册中心( s e r v i c eb r o k e r ) 。 三种操作:发布( p u b l i s h ) 、查找( f i n d ) 和绑定( b i n d ) 。这三种角色和三种操作一 起作用于w e b 服务组件,也就是作用于w e b 服务的软件模块及其描述。w e b 服务的 典型角色和操作交互如下图,首先,服务提供者将服务发布到服务注册中心:服务 提供代理可通过网络访问的软件模块、定义w e b 服务的描述并把它发布到服务注册 中心;然后,服务请求者从服务注册中心查找服务:通过查找从服务注册中心检索 服务的描述,把服务描述与服务提供者进行绑定,最后实现w e b 服务调用或者同它 交互。面向服务的体系结构( s o a ) ,如下图所示: 图2 1s o a 体系结构 f i g u r e 2 1s o a a r c h i t e c t u r e 6 第一二晕w e h 服务的基本理论 从图可以看出,s o a 结构中包括:服务提供者、服务注册中心和服务请求者三 种角色。其中, ( 1 ) 服务提供者:服务的提供者或实现者,它的作用是向服务注册中心发布自 己的服务和接口,并对服务请求作出响应。 ( 2 ) 服务注册中心:它是服务提供者和服务请求者交互的桥梁。主要有两方面 的功能。一方面,供服务提供者发布自己的服务和接口,是作为一个注册中心来使 用的;另一个方面,对已经注册的服务进行分类并提供检索功能供服务请求者搜索。 上图显示了主要的w e b 服务角色以及它们之间如何相互作用。 ( 3 ) 服务请求者:它实际上是服务的消费者。服务请求者首先发送服务请求, 通过服务注册中心查找所需要的服务,然后绑定该服务,完成请求。 s o a 体系结构中的基本服务和服务组件必须至少具有一种角色,这三种角色之 间又有发布、查找和绑定三种操作,其中: ( 1 ) 发布操作:为了使服务使用者可以发现和调用它。服务提供者需要向服务 注册中心注册自己的服务功能和接口。 ( 2 ) 查找操作:服务请求者通过服务注册中心查找与需求相符合的、已发布的 服务。 ( 3 ) 绑定操作:服务请求者搜索到服务描述之后,服务提供者作出响应。此时, 服务请求者绑定w e b 服务。它实际上是服务请求者能够真正使用己发布服务的关键。 2 1 3w e b 服务协议栈 w e b 服务要以一种互操作的方式执行发布、发现和绑定这三种操作,必须有一 个包含每一层标准的w e b 服务协议栈。下图表示了一个概念性w e b 服务协议栈。上 面的几层建立在下面几层提供的功能之上,垂直的条表示在协议栈的每一层中必须 满足的需求,左边的文本表示协议栈那一层所应用的标准技术。 w s f l u d d i u d d i w s d l s o a p 町t p ,f t p e m a i l 等 服务流程。 服务发现 月屏奄亭肯布 服务描述 基于) 口i i 【l 的稍息传递 网络一 图2 2 w e b 服务的概念性协议 7 基于t m s 的w e b 服务动态切换石j 究 w e b 服务协议栈的基础是网络层,w e b 服务要被服务请求者调用,就必须通过 网络访问。h t t p 凭借其普遍性和简单性,成为可用w e b 服务真正的标准网络协议。 w e b 服务还可以支持其他因特网协议,包括f t p 、s m t p 、e m a i l 等,具体采用哪种网 络协议取决于应用程序的具体需求。对于可以从因特网访问的w e b 服务,选择网络 技术的时候通常会倾向于选择普遍部署的协议,如h t t p ,而对于在内部网中提供和 使用的w e b 服务,也可以使用另外的技术。当然也可以根据其他需求选择网络技术, 包括安全性、可用性、性能以及可靠性等。w e b 服务的好处之一在于,它为专业内 部网和公用因特网服务的开发和使用提供了统一的编程模型,所以说网络技术的选 择对服务开发者来说是透明的。而网络层的上面是基于x m l 的消息传递,它表示将 x m l 作为消息传递协议的基础。上面的几层下一节会详细说明。 最简单的协议栈包括网络层的h t t p ,基于x m l 的消息传递层的s o a p 协议以及 服务描述层的w s d l 。所有企业间或公用w e b 服务都应该支持这种可互操作的基础协 议栈。同时,w e b 服务特别是企业内或专业w e b 服务也应支持其他的网络协议和分 布式计算技术。 2 2w e b 服务精髓 w e b 服务体系使用一系列标准和协议来实现相关的功能。从总体上来说,使用 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 ) 来描述服务,使用u d d i ( u n i v e r s a l d 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 ) 来发布、查找服务,使用s o a p ( s i m p l e o b j e c ta c c e s sp r o t o c 0 1 ) 来调用服务。下面就是w e b 服务主要采用的x m l 、s o a p 、 s o a p 和u d d i 四种技术,其中: x m l r x m l ( 可扩展的标记语言) 是w e b 服务平台中表述数据的基本格式,它解 决了数据表示的问题,但它没有定义如何扩展数据类型。 s o a p s o a p ( 简单对象访问协议) 提供了标准的r p c 方法调用w e b 服务。s o a p 规范中定义了s o a p 消息格式,以及如何通过h t t p 协议来使用s o a p ,s o a p 是基于 x m l 语言和x s d 标准的,其中x m l 是s o a p 的数据编码方式。 w s d l 叫s d l ( 服务描述语言) 是一种基于x m l 的用于描述w e b 服务及其操作、 参数和返回值的语言。因为是基于x m l 的,所以w s d l 既是机器可阅读,又是人可 阅读的。一些最新的开发工具既能根据w e b 服务来生成w s d l 文档,又能通过导入 w s d l 文档,生成调用相应w e b 服务的代码。 u d d i u d d i ( 描述、发现和集成) 是实现网上自动查找w e b 服务的桥梁。u d d i 8 第一辛w e b 服务的基禾理论 包含百页( 地址和联系人) 、黄页( 行业分类) 和绿页( 服务描述) 三类。只要服务提供 者发布的w e b 服务注册到u d d i ,服务请求者就可以方便地查找和定位到所需要的 w e b 服务。 2 2 1s 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 ) 是一种轻量的、 简单的、基于) ( m l 的协议,它被设计成在w e b 上交换结构化的和固化的信息。s o a p 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( h t t p ) ,简单 邮件传输协议( s m t p ) ,多用途网际邮件扩充协议( m i m e ) 。它还支持从消息系统到远 程过程调用( r p c ) 等大量的应用程序。 s o a p 是一种基于x m l 的消息规范,它描述了数据类型的消息格式以及一整套串 行化规则,包括结构类型和数组。另外,它还描述了如何使用h t t p 来传输消息。 s o a p 作为一种有效的服务请求被发送到一些网络节点,节点可以采用任何方法在任 意平台上执行。因此说s o a p 提供了应用程序之间的交互能力,这些应用程序可以 在异构的平台上运行,而且可以使用不同程序语言和不同的技术来实现。 s o a p 能应用于各种消息接发系统,并能通过各种传输协议进行传递,但最 初其侧重点是通过h t t p 传输的远程过程调用。因此,s o a p 能使客户应用程序 很容易地连接远程服务并调用远程方法。包括c o b r a 和d o c m 等在内的其他框 架提供了与s o a p 类似的功能,但是s o a p 消息完全用x m l 编写,因此独具平台 和语言的独立性。例如,在l i n u x 上运行的s o a pj a v a 客户端可以连接到在 w i n d o w s2 0 0 0 上运行的m i c r o s o f ts o a p 服务器。因此,s o a p 在w e b 服务体系 结构中充当基石,使各种应用能很容易地交换服务和数据。它是一个基于x m l 的、在分散或分布式的环境中交换信息的简单协议,它主要包括s o a pe n v e l o p e 、 s o a p 编码规则、s o a pr p c 表示和s o a p 绑定四部分n 2 1 ,其中: ( 1 ) s o a pe n v e l o p e ,它定义了一个描述消息中的内容、发送者、接受者、处理 者以及如何处理的框架。该框架描述了消息中的内容是什么,谁应当处理它,以 及它是可选的还是必须的。给在计算机之间传递的数据如何封装定义了具体的 规则。这包含应用特定的数据,如要调用的方法名、方法参数和返回值;还包 括谁将处理封装内容,失败时如何编码错误消息等信息。 ( 2 ) s o a p 编码规则,它定义了一种序列化的机制,用于交换应用程序所定义 和表示数据类型的实例。为了交换数据,计算机必须在编码特定数据的规则上达成 9 基于t m s 的w e b 服务动态切换研究 致。s o a p 必须有一套自己的编码数据类型的约定。 ( 3 ) s o a pr p c 表示,它定义了用于表示远程过程调用和应答的协定。s o a p 能 用于单向和双向等各种消启、接发系统,为双向消息接发定义了一个简单的协议来进 行远程过程调用和响应,这使得客户端应用可以指定远程方法名,获取任意多个参 数并接收来自服务器的响应。 ( 4 ) s o a p 绑定( b i n d i n g ) ,它定义了如何使用底层协议交换信息。 这四个部分是作为一个整体定义的,它们在功能上是相交的而非彼此独立的。 特别是e n v e l o p e 和编码规则是在不同的x m l 命名空间中定义,这样使定义更加简 单。s o a p 的两个目标是简单和可扩展性,这就意味着一些传统消息系统或分布式对 象系统中的某些性质将不再是s o a p 规范的一部分。 s o a p 消息基本上是从发送端到接收端的单向传输,但它们常常结合起来执 行类似于请求应答的模式。所有的s o a p 消息都使用x m l 编码。一条s o a p 消 息就是一个包含有一个必需的s o a p 的封装包,一个可选的s o a p 标头和一个必 需的s o a p 体块的x m l 文档。 把s o a p 绑定到h t t p 提供了同时利用s o a p 的样式和分散的灵活性的特点以及 h t t p 的丰富的特征库的优点。在h t t p 上传送s o a p 并不是说s o a p 会覆盖现有的h t t p 语义,而是h t t p 上的s o a p 语义会自然的映射到h t t p 语义。在使用h t t p 作为协议 绑定的场合中,r p c 请求映射到h t t p 请求上,而r p c 应答映射到h t t p 应答。在r p c 上使用s o a p 并不仅限于h t t p 协议绑定。s o a p 也可以绑定到t c p 和u d p 协议上。 虽然s o a p 还处于发展初期,但已经得到广泛的行业支持。现在已经有大量的 s o a p 实现,如面向j a v a 、c o m 和c # 的实现,同时,w e b 上成百上千的s o a p 服务正 蓬勃发展。 2 2 2w s d l w e b 服务描述语言( 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 ) 是由a r i b a 、 i n t e l 、i b m 和m i c r o s o f t 等开发商提出的,它用来描述w e b 服务的功能,说明如何 与w e b 服务通信的x m l 语言,用于描述w e b 服务及其函数、参数和返回值。因为是 基于x m l 的,所以w s d l 既是机器可阅读的,又是人可阅读。w s d l 描述了w e b 服务 所采用的协议和格式,它和u d d i 的结合有望促进全球w e b 服务的广泛应用。 w e b 服务是一种部署在w e b 上的对象,它定义了一套基于x m l 的语法,用来将 w e b 服务描述为能够进行消息交换的服务访问点的集合,从而满足了这种应用需求。 1 0 第一辛w e b 服务的皋禾理论 w s d l 也是可扩展的,它允许对端点和端点间的消息进行描述,同时不去考虑具体的 消息格式或者双方用于通信的网络协议。w s d l 把网络协议定义成一个能交换信息、的 通信端点集,为分布式系统提供了帮助文档,同时该服务也可作为自动实现应用间 通信的解决方案。 w s d l 描述了四种关键的数据:( 1 ) 描述所有公用函数的接口信息:( 2 ) 所有消息 请求和消息响应的数据类型消息;( 3 ) 所使用的传输协议的绑定信息;( 4 ) 用来定位 指定服务的地址信息。 w s d l 文档将w e b 服务定义为服务访问点或端口的集合。w e b 服务的w s d l 文档 把服务访问点和消息的抽象定义与具体的服务部署和数据格式的绑定分离开来,因 此可以对抽象定义进行重用。w s d l 文档中的消息是指对数据的抽象描述,而端口类 型是指操作的抽象集合,端口类型使用的具体协议和数据格式规范构成了一个绑 定,将w e b 访问地址与可再次使用的绑定相关联来定义一个端口,而端口的集合则 定义为服务。在一个w s d l 文档中,定义w e b 服务一般使用t y p e 、m e s s a g e 、o p e r a t i o n 、 p o r tt y p e 、b i n d i n g 、p o r t 、s e r v i c e 和p a r t 八种元素,其中: ( 1 ) t y p e :使用某种语法( 如:x m l 模式) 的数据类型定义( 如:s t r i n g 、i n t ) 。 该元素描述在客户端和服务器之间使用的所有数据类型。虽然w s d l 没有专门被绑 定到某个特定的类型系统上,但它以x m ls c h e m a 规范作为其默认的选择。如果服 务只用到诸如字符串型或整形等x m ls c h e m a 内置的简单类型,就不需要t y p e s 元 素。 ( 2 ) m e s s a g e :该元素描述一个单向消息,无论是单一的消息请求还是单一的消 息响应,它都描述。m e s s a g e 元素定义消息名称,它可以包含零个或多个应用消息 参数或消息返回值。 ( 3 ) o p e r a t i o n :对服务中所支持的操作的抽象描述。一般来说,单个o p e r a t i o n 描述了一个访问入口的请求响应消息对。 ( 4 ) p o r tt y p e :一个或多个端点支持的操作的抽象集。该元素结合多个m e s s a g e 元素,形成一个完整的单向或往返操作。例如,p o r tt y p e 元素可以将一个请求消 息和一个响应消息结合在一起,形成一个在s o a p 服务中普遍使用的单一的请求响 应操作。 ( 5 ) b i n d i n g :特定端口类型的具体协议和数据格式规范。b i n d i n g 元素描述了 在i n t e r n e t 上实现服务的具体细节。w s d l 包含定义s o a p 服务的内置扩张,因此, s o a p 特有的消息会转到这里。 1 1 基十t m s 的w e b 服务动态切换石j i 究 ( 6 ) p o r t :用于绑定与网络地址的组合。绑定具体w e b 访问地址的单个服务访 问点,它指出了用于绑定的地址。 ( 7 ) s e r v i c e :相关服务访问点的集合,包括其关联的接口、操作、消息等。它 集成了一组相关的端口。s e r v i c e 元素定义调用指定服务的地址。一般包含调用s o a p 服务的u r l 。 ( 8 ) p a r t :消息数据结构的抽象类型化定义,该消息包括多个逻辑部分,每一个 部分与某种类型系统中的一个定义相关。它使用t y p e 所定义的类型来定义整个消 息的数据结构。 总之,w s d l 在服务请求者和服务提供者之间提供一个协议,这一点与j a v a 接 口在客户代码和真正的j a v a 对象间提供的协议非常相似。关键的区别是w s d l 独立 于平台和语言,主要用于描述s o a p 。客户端可以用w s d l 找到w e b 服务,并调用其 任何公用函数。还可以用可识别w s d l 的工具自动完成这个过程,使应用程序只需 少量甚至不需手工编码就可以容易地连接新服务。w s d l 为描述服务提供了一种共同 的语言,并为自动连接服务提供了一个平台,因此,它是w e b 服务结构中的基石。 2 2 3u d di 统一描述、发现和集成协议( u n i v e r s a ld e s c r i t i o nd i s c o v e r ya n d i n t e g r a t i o n ,u d d i ) 由i b m 、a r i b a 、m i c r o s o f t 和其他3 3 家公司2 0 0 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动关系考试题及答案
- 篮球机构考试题及答案
- 矿灯房考试题及答案
- 科技创意考试题及答案
- 酒楼消防考试题及答案
- 铸管制芯工上岗考核试卷及答案
- 地勘掘进工设备调试考核试卷及答案
- 酒精原料粉碎工新员工考核试卷及答案
- 烧结原料工上岗考核试卷及答案
- 锚链热处理工基础考核试卷及答案
- SOP考试题及答案
- 高职院校实训室管理办法
- DDI:制造业人才发展成功实践手册
- 电力施工安全管理办法
- 危险化学品生产许可证实施细则(一)(危险化学品无机产品部分)
- 德瑞斯D600变频器说明书
- 2025年抗菌药物授权培训
- 风力发电征地协调方案(3篇)
- 2025-2030年中国锂电池回收行业市场深度调研及前景趋势与投资研究报告
- 2025至2030年中国汽车制动器行业市场分析研究及发展战略研判报告
- 黑龙江:装配式混凝土矩形渠道应用技术规范(DB23-T 2334-2019)
评论
0/150
提交评论