(计算机软件与理论专业论文)基于服务质量反馈和量化的web服务模型.pdf_第1页
(计算机软件与理论专业论文)基于服务质量反馈和量化的web服务模型.pdf_第2页
(计算机软件与理论专业论文)基于服务质量反馈和量化的web服务模型.pdf_第3页
(计算机软件与理论专业论文)基于服务质量反馈和量化的web服务模型.pdf_第4页
(计算机软件与理论专业论文)基于服务质量反馈和量化的web服务模型.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机软件与理论专业论文)基于服务质量反馈和量化的web服务模型.pdf.pdf 免费下载

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

文档简介

西南大学硕士论文摘要 基于服务质量反馈和量化的w e b 服务模型 计算机软件与理论郑梅娟 指导教师丁晓明副教授 内容摘要 随着信息技术及网络的不断发展,基于w e b 的应用也从简单的网页浏览延伸 到种类繁多的复杂应用和计算,人们对互联网的需求已不再是只关注网络连接功 能,而是希望互联网能有效的提供他们所需的各种服务。w e b 服务被认为是一种 自包含的、平台无关的、支持快速应用开发的计算元素,并具有技术中立、松散 耦合、位置透明等特征。由于w e b 服务的这些特征可以实现企业i t 资产的最大化 重用,所以面向w e b 服务的软件被认为是未来软件发展的趋势。 w e b 服务技术的不断成熟,注册中心中服务的数量也越来越多,但同时也出 现了以下缺点:首先,有研究报告指出,提供的w e b 服务中,大约只有3 4 是可 用的,并且失效的服务比例也在不断增加;其次,具有相同功能的服务数量在不 断增加,但服务质量参差不齐,甚至有些服务存在一些不安全隐患;再次,数量 的不断增加,如果不及时清除不可用的服务,将不断增加注册中心的负载压力, 影响查找效率。 针对上述问题,本文提出通过用户反馈机制动态获得q o s 的值来改进传统的 w e b 服务模型。由服务提供者发布带有服务质量描述的w s d l 文档,服务请求者 根据自己的需求让注册中心查找功能和服务质量都相匹配的服务。如果服务请求 者没有提出需求,则注册中心将查找出五个服务质量综合指标较高的服务给请求 者,供请求者自行选择。请求者使用服务后,根据传统软件的测试方法测试服务, 并反馈给注册中心对该服务的评价信息,注册中心将定期更新对应服务的服务质 量,达到尽可能保证服务质量与实际服务的品质相一致的目标。除此之外,注册 中心还将定期扫描注册中一t h , 的w e b 服务,删除服务质量低的服务。 本文最后设计了原型系统,以实验数据验证所提出的理论,对实验结果进行 了分析。 关键词:w e b 服务;反馈;q o s ;量化 两南大学硕士论文 a b s 仃a c t bs e r v i c e sm o d e lb a s e do nq o sf e e d b a c k a n c iqu a n t i l i c a t i o n m a jo r :c o m p u t e rs o f t w a r ea n dt h e o r y s u p e r v i s o r :a s s o c i a t ep r o f e s s o rd i n gx i a om i n g a u t h o r :z h e n gm e i j u a n a b s t r a c t a st h eq u i c kd e v e l o p m e n to fi n _ f o r m a t i o n t e c h n i q u ea n di n t e r n e t ,w e b b a s e d a p p l i c a t i o n se x t e n d e dt oaw i d er a n g eo fc o m p l e xa p p l i c a t i o n sa n dc o m p u t i n gf r o m s i m p l ew e bb r o w s e r t h ed e m a n d so fp e o p l eo nt h ei n t e m e ta r en ol o n g e rt h eo n l y e o n c e ma b o u tt h en e t w o r kc o n n e c t i o nf u n c t i o n ,b u tt h ei n t e m e tc a l le f f e c t i v e l yp r o v i d e t h es e r v i c e s t h e yn e e d w e bs e r v i c e s t ob ec o n s i d e r e d as e l f - c o n t a i n e d , p l a t f o r m i n d e p e n d e n t ,r a p i da p p l i c a t i o nd e v e l o p m e n ts u p p o r tf o rt h ec a l c u l a t i o no ft h e e l e m e n t s ,h a sat e c h n o l o g y - n e u t r a l ,l o o s e l yc o u p l e d ,l o c a t i o nt r a n s p a r e n c yf e a t u r e s ,a n d s oo n b e c a u s et h e s ef e a t u r e sc a na c h i e v et h em a x i m i z a t i o no fe n t e r p r i s ei ta s s e tr e u s e , w e bs e r v i c ew i l lb ec o n s i d e r e dt h et r e n do ft h ef u t u r eo fs o f t w a r ed e v e l o p m e n t a st h ew e bs e r v i c et e c h n o l o g ym a t u r i n g ,t h er e g i s t r a t i o nc e n t e rh a sm o r ea n dm o r e s e r v i c e s h o w e v e r , i ta p p e a r ss o m ef a u l ta sf o l l o w s f i r s t l y , s t u d i e sh a v es h o w nt h a tt h e p r o v i s i o no fw e bs e r v i c e s ,o n l ya r o u n d3 4 a r ea v a i l a b l e ,b u tt h ep r o p o r t i o nf o rf a i l u r e s e r v i c ei sa l s oi n c r e a s i n g s e c o n d l y , t h ea m o u n to fs e r v i c e sw h i c hh a v es a m ef u n c t i o ni s i n c r e a s i n g ,b u tt h eq u a l i t yo fs e r v i c ei su n e v e n e v e ns o m es e r v i c e se x i s th i d d e nd a n g e r f i n a l l y , w i t ht h ei n c r e a s i n gq u a n t i t yi nt h er e g i s t r a t i o nc e n t e r , i fn o ti nt i m et or e m o v e t h eu n a v a i l a b l es e r v i c e ,t h ec e n t e rw i l lc o n t i n u et oi n c r e a s et h el o a dr e g i s t e rs t r e s s , a f f e c t i n gt h ee f f i c i e n c yo fs e a r c h i nr e s p o n s et ot h e s eq u e s t i o n s ,i nt h i sa r t i c l ew ep r o p o s et h a tu s i n gt h ed y n a m i c f e e d b a c km e c h a n i s m st oo b t a i nq o s v a l u et oi m p r o v et h et y p i c a lm o d e lo fw e bs e r v i c e s t h es e r v i c e sp r o v i d e rp u b l i s h e st h ew s d lw i t hq o sd e s c r i p t i o n t h e nt h es e r v i c e s r e q u e s t e rf i n d st h es e r v i c e sw h i c hm a t c hb o t ht h ef u n c t i o na n dt h eq o s a r e rt e s t i n g t h ew e bs e r v i c e s ,t h er e q u e s t e rr e s p o n s e st h er e s u l tt ot h er e g i s t r a t i o nc e n t e r f i n a l l y , t h e r e g i s t r a t i o nc e n t e ru p d a t e st h eq o sv a l u ea n dm a n a g e st h es e r v i c e s a tl a s t ,w ep r a c t i c ea n dd i s c u s st h et h e o r yo fc h a p t e rt h r e ead e m os y s t e m ,a n d a n a l y z e dt h er e s u l to fo u re x p e r i m e n t a t i o n k e y w o r d s :w e bs e r v i c e s ;r e s p o n s e ;q o s ;q u a n t i z a t i o n i i 独创性声明 学位论文题目:基王腿叠厦量厦堡狸量焦鲍显盘腿签搓型 本人提交的学位论文是在导师指导下进行的研究工作及取得的 研究成果。论文中引用他人已经发表或出版过的研究成果,文中已加 特别标注。对本研究及学位论文撰写曾做出贡献的老师、朋友、同仁 在文中作明确说明并表示衷心感谢。 学位论文版权使用授权书 本人提交的学位论文是在导师指导下进行的研究工作及取得的 研究成果。论文中引用他人已经发表或出版过的研究成果,文中己加 特别标注。对本研究及学位论文撰写曾做出贡献的老师、朋友、同仁 在文中作明确说明并表示衷心感谢。 ( 保密的学位论文在解密后适用本授权书,本论文:留7 不保密, 口保密期限至年月止) 。 学位论文作者签名:魄粕矽葡 签字日期:加刁年f 月砂日 导师签名:矽 签字日期:山矽年厂月殄 西南大学硕十学士论文绪论 第一章绪论 1 1 研究背景及意义 短短几年里,w 曲技术已成为i n t e r n e t 的主流技术,基于w e b 的应用在i n t e r n e t 中也占据了主导地位,随着w e b 技术的不断发展,w e b 应用也从简单的提供信息 延伸到种类繁多的复杂应用和计算,一些面向企业的传统分布式应用也试图迁移 到w e b 上来【l 】。传统的分布式计算主要采用c o r b a 、d c o m 等,这些技术存在 一些本质的问题,如c o r b a 和d c o m 都要求对运行环境进行严格的管理,而且 程序员在处理c o r b a 或d c o m 消息时,必须按照它们各自的规则安排数据的结 构,确定数据的类型。在实际运用中,c o r b a 和d c o m 更加适合于服务器到服 务器的通信,不适用于客户到服务器的通信,特别是i n t e m e t 上的分散客户,而 w e b 服务标准正好可以解决这些问题。 w e b 服务是描述一些操作( 利用标准化的x m l 消息传递机制可以通过网 络访问这些操作) 的接口【2 1 。w e b 服务是用标准的、规范的x i d l 概念描述的,称 为w e b 服务的服务描述。这一描述囊括了与服务交互需要的全部细节,包括消 息格式( 详细描述操作) 、传输协议和位置。该接口隐藏了服务实现的细节,允许 独立于实现服务所需的硬件或软件平台以及编写服务所用的编程语言。w e b 服务 可以单独或同其它w e b 服务一起用于实现复杂的聚集或商业交易。w e b 服务具 有自包含的、平台无关的、松散耦合、位置透明等特征,可以实现企业i t 资产的 最大化重用,所以面向w e b 服务的软件被认为是未来软件发展的趋势。 随着w e b 服务技术的不断成熟,注册中心中服务的数量也越来越多,但同时 也出现了以下缺点:首先,有研究报告指出,提供的w e b 服务中,大约只有3 4 是可用的【3 】,并且失效的服务比例还在不断增加;其次,具有相同功能的服务数 量在不断增加,但服务质量参差不齐,甚至有些服务还存在一些不安全隐患;再 次,数量的不断增加,如果不进行有效管理,不及时清除“无用 的服务,将不 断增加注册中心的负载压力,影响查找效率。 由于w e b 服务具有动态和不可预知的特性,所以对于点对点的w e b 服务提 供服务质量的管理是一项挑战,并且对不同的服务需要考虑不同的服务质量参数 1 4 】。例如银行交易系统需要考虑其高度的安全,而对于股票之类需要实时查询的 系统则应首先考虑响应时间另外,目前每个人都可以往注册中心发布服务, 这样服务质量就得不到保证,反而需要更多的时间去查找服务,绑定服务,而且 服务还可能存在安全隐患。所以要让w e b 服务得到更广泛应用,如何保证服务质 量成为当务之急要解决的问题。 西南大学硕士学十论文绪论 1 2 国内外研究现状 目前国内外关于q o s 的研究已有一些,r a n 等在文献 5 中系统地讨论了 q o s 的问题,作者们把q o s 描述分为运行时相关、处理相关,配置管理相关和 安全相关四大类,并讨论了它们对应的模型表示。o u z z a r t i 等在文献 6 中提出了 质量距离的概念,用矢量模型表示q o s ,并提供了计算q o s 距离的公式,进一 步提出了选择q o s 的目标函数。胡建强等在文献 7 中也提出了计算q o s 相似 度的公式,从而在发现过程中考虑q o s 约束。但这些文献都没有充分考虑服务 质量动态变化的特点,例如有一个q o s 各项指标都很高的服务,被请求者选中, 但事实上该服务的提供商已经撤消了该服务,那么请求者选中的实际是一个“空 服务 ,而不是真正服务质量高的服务,这与原先提出q o s 的本意相违背。 在文献 8 中提出了q o s 代理( q o sb r o k e r ) 架构进行语义w e b 服务的监控, 在执行过程中从服务执行模块得到相关的执行数据,通过这些数据的计算得出价 格( c o s t ) ,执行时间( e x e c u t i o nd u r a t i o n ) ,可用性( a v a i l a b i l i t y ) 和可访问性 ( a c c e s s i b i l i t y ) 四个o o s 属性的值,并未对领域相关的q o s 属性进行监控,可 扩展性较差。 在文献 9 中,作者认为在一个支持服务等级约定( s e r v i c el e v e la g r e e m e n t ) 的w e b 服务环境中,应当将监控q o s 的任务交由独立的第三方来完成,由它来 分别收集客户端和服务端的实际q o s 数据,以验证服务提供者提供的服务等级 是否与事先协商好的服务等级约定中的相关数据相一致。但是文中并没有给出具 体的q o s 度量方法。 在文献 1 0 中,作者使用o v m ( o w l sv i r t u a lm a c h i n e ) 作为基于o w l 描 述的语义w e b 服务的执行引擎,定义在服务执行过程中需要监控的组合服务的事 件,通过对事件的监测用来对组合服务的执行情况和错误信息进行记录,当出现 执行失败时或者出现异常时,采取相应的补救措施,但是本文中并未提及如何进 行q o s 的计算。 除此之外,目前注册中心查找匹配服务都是通过全局搜索的方式进行,这种 查找的效率很低。为了克服这两个问题,本文提出通过用户反馈机制动态获得q o s 的值来改进典型的w e b 服务模型,另外通过分类算法管理服务,可以进步提高 查准效率。 1 3 本文研究内容 本文研究了w e b 服务体系结构中的相关问题,包括x m l 、s o a p 、w s d l 、 u d d i 以及w e b 服务的服务质量后,设计并实现了一个集w e b 服务发布、查找、 更新等功能的为一体的原型系统。 2 两南大学硕士学十论文绪论 本文研究内容主要包括以下几个方面: ( 1 ) 通过扩展w e b 服务描述语言( w s d l ) ,发布带有服务质量( q o s ) 。的 服务描述,q o s 参数主要包括可靠性、安全性、性能、成本、响应时间。 ( 2 ) 请求者根据自己的需求在注册中心中查找合适的服务,在使用服务后将 服务的评价信息反馈给注册中心。 ( 3 ) 注册中心定期更新服务质量的指标值,并删除服务质量差的服务。 ( 4 ) 开发出原型系统,验证该模型能提高查找效率。 1 4 本文组织结构 本文共分为五章,各章主要内容如下: 第一章介绍了本文的研究背景和研究的主要内容。 第二章首先给出了w e b 服务的基本定义,然后介绍了w e b 服务的典型体系结 构,之后详细介绍了w e b 服务的相关技术,包括x m l 、w s d l 、s o a p 、u d d i ,。 最后介绍了现有的服务质量指标。 第三章介绍提出的w e b 服务模型,将详细介绍本文所使用的q o s 指标及其计 算方法。 第四章在上述理论研究的基础上,设计并实现了一个基于反馈机制的w e b 服 务模型的原型系统。包括了系统架构和关键代码展示等。 第五章是论文总结与进一步工作展望。 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 调用,是一种组件服务】。m m 在2 0 0 1 年提出对w e b 服务更精确的解释:w e b 服务是一种用于应用程序集成的新技术, 是一个建立分布式应用程序互操作的新平台【1 2 】。 w e b 服务主要有以下特征: ( 1 ) w e b 服务与客户机的联系松散。客户机向w e b 服务发出请求,w e b 服 务返回结果,连接就会关闭。w e b 服务可以扩展其接口,添加新的方法和参数而 不影响客户机,因为客户机仍旧使用旧的方法和参数。 ( 2 ) w e b 服务与状态天关:它不持有代表客户机的状态信息。这使得它面对 许多客户机时伸缩自如,可以利于服务器群集作为w e b 服务。w e b 服务使用的 h t t p 协议也是与状态无关的。使用w e b 服务处理状态信息的方法与当前w e b 上 使用的诸如c m k i e 所用的方法相同。 w e b 服务成为现在最热门的软件开发技术是因为他有传统软件开发没有的优 占1 1 3 1 、 ( 1 ) 增强互操作性。在服务提供者和服务请求之间的交互被设计成完全平台 和语言独立的,这种交互只需要一个w s d l 文档定义接口并描述服务,而不需要 知道服务提供者和服务请求者所使用的平台和语言,增强了提供者和请求者之间 的交互性。 ( 2 ) 即时整合( j u s t 。i n t i m ei n t e g r a t i o n ) 。一旦请求者与提供者互相发现了 对方,提供者的w s d l 文档就被用来将请求者和服务绑定到一起,这意味着请求 者、提供者与代理一起协同工作以创建自配置的、适应的、健壮的系统。 ( 3 ) 通过封闭降低复杂性。服务请求者和服务提供者只考虑自己的要用于互 相交互的接口,因而服务请求者不知道服务提供者如何实现他的服务,服务提供 者也不知道一个服务请求者如何使用他的服务,这些细节在请求者和提供者内部 封装了。 ( 4 ) 使传统遗留系统获得新生。使用一个应用程序生成一个s o a p 包装器, 然后生成一个w s d l 文档将应用程序转换成一个w e b 服务的过程是相当直接的, 这意味着,遗留系统可以以一种新的方式使用,另外,与遗留系统相关的基础结 构,如安全、目录服务、事务等也可以被包装成一个服务。 4 西南大学硕士论文w e b 服务及相关技术概述 2 1 2w e b 服务体系结构 典型的w e b 服务体系结构基于三种角色( 服务提供者、服务注册中心和服务 请求者) 之间的交互,而交互具体涉及到发布、查找和绑定操作,其模型如图2 1 所示【1 4 1 : 图2 1w e b 服务体系结构 服务提供者将服务描述发布到服务注册中心;服务注册中心以一定的方式存 储和管理服务描述;当服务请求者向服务注册中心发出查找请求时,服务注册中 心将查找请求映射为请求服务描述并与存储的服务描述进行匹配,以有序服务集 合的形式返回给服务请求者;服务请求者从有序服务集合中找到最佳的服务,与 相应的服务提供商绑定服务。 ( 1 ) w e b 服务的三种角色 a ) 服务的提供者。从商业角度看,服务的提供者就是服务的所有者。从w e b 服务的架构看,这是拥有服务的平台。 b ) 服务的请求者。从商业角度看,这是需要某种功能服务的商业机构,是服 务的需求者。从w e b 服务的架构看,这是查找、调用服务的应用程序。服务请求 可以是通过使用浏览器完成,也可以通过设计应用程序,自动发出。 c ) 服务的注册中心。服务的提供者在这里发布他们的服务说明,而服务的请 求者在这里找到服务,并得到与服务绑定的信息,在开发时刻实现静态绑定或在 运行时刻实现动态绑定。对于静态绑定的服务请求者来说,注册中心是可选的, 他们可以直接向服务提供者索要一份服务说明,也可以通过其他渠道获得服务说 明,比如本地文件、f t p 文件、w e b 站点等。 ( 2 ) w e b 服务的三种操作 a ) 发布:服务提供者通过该操作在u d d i 服务注册中心注册w e b 服务描述 信息w s d l 1 5 j 。 b ) 查找:服务请求者通过u d d l l l 6 1 n 务注册中心查找服务描述、接e l 描述、 服务的绑定位置描述等注册信息,在设计阶段,服务请求者通过查找获得该服务 的接口描述,运行时通过查找获得与服务相关的绑定和位置信息。 西南大学硕士论文w e b 服务及相关技术概述 皇曼曼曼蔓曼曼曼曼曼曼曼曼曼曼曼曼曼鼍寡曼曼曼曼皇! 曼量鼍鼍皇量曼皇曼皇量曼曼曼曼詈鼍曼曼曼i i 曼曼曼曼曼曼曼曼曼皇曼曼曼曼曼量曼! ! 蔓曼曼曼量量曼曼曼曼曼曼曼! 曼曼 c ) 绑定:服务请求者利用服务描述中有关的绑定的详细信息定位、连接和调 用一个服务。 2 1 3w e b 服务的协议栈 w e b 服务采用了分层的思想,包括网络层、x m l 消息层、服务说明层、服务 发布层、服务发现层、其他技术层面,各层分别实现了不同的功能【1 7 1 。其结构如 图2 2 所示。 w 汛 二口 图2 2w e b 服务的协议栈 网络层 w e b 服务是基于网络,所以网络层位于w e b 服务技术架构的底层。为了让 w e b 服务能够被来自不同系统的用户使用,应用于该层的数据传输技术必须是最 广泛的。h 1 田凭借其简单而广泛应用,成为w e b 服务实现中首选的网络协议。 x m l 消息层 该层表示w e b 服务是基于x m l 的消息传递,它表示使用x m l 作为消息传 递协议的基础。 服务说明层 服务说明层是一些说明文档,首选是w s d l ,用于描述服务,指定商业环境、 服务质量和服务器之间的关系等内容。其他说明文档是对w s d l 文档的补充,用 以描述w e b 服务的高级方面。 服务发布层 6 两南大学硕士论文w e b 服务及相关技术概述 服务发布是指让服务的请求者得到w s d l 文档。这个操作可以在服务请求者 生命周期的任何阶段执行。最简单的方法就是将服务提供者提供的w s d l 文档直 接发送给服务请求者,但目前比较常用的方法是将w s d l 发布到本地w s d l 注 册中心、私有u d d i 注册中心或u d d i 操作节点的主机上。 服务发现层 服务发现层的发现机制对应于服务发布层的发布机制。任何允许服务请求者 得到服务说明并在运行时刻让应用程序使用的机制都可以被看作服务发现。 其他技术层面 在图的右边是几个代表其他技术的垂直层次,包括安全性、管理等。 2 2w e b 服务相关技术 w e b 服务的主要优点在于它实现了组件互操作性,不拘泥任何实现语言及平 台,w e b 服务之所以能实现跨平台的特性,主要取决于它采用x m l 作为底层数 据传输格式,用s o a p 协议作为传输协议。在w e b 服务架构的各模块间以及模块 内部,消息以x m l 格式传递,其原因在于x m l 文档具有跨平台性和松散耦合的 结构特点;从商务应用的角度看,从工作流到查询数据库,直到同贸易伙伴交换 信息,x m l 格式表示的消息封装了词汇表,可以同时在行业组织内部和外部使用; 它还有较好的弹性和可扩展性,允许使用附加的消息,并且x m l 标签提供了可 访问的进程入口,从而可强化商业规则,并且增强了互操作性【1 8 】,为信息的自动 处理提供了可能。要实现w e b 服务主要涉及三种技术:w s d l 、s o a p 和u d d i 。 其中w s d l 就是一份x m l 文档。 2 2 1x m l w e b 服务中进行传递的消息都是基于可扩展标记语言( e x t e n s i b l em a r k u p l a n g u a g e ,x m l ) 。x m l 文档包括两部分:序言( p r o l o g ) 和文档元素( d o c u m e n t e l e m e n t s ) 。序言中包含x m l 声明( x m ld e c l a r a t i o n ) 、处理指令( p r o c e s s i n g i n s t r u c t i o n s ) 和注释( c o m m e n t s ) ;文档元素则包含元素( e l e m e n t s ) 、属性 ( a t t r i b u t e s ) 、文本内容( t e x t u a lc o n t e n t ) 、字符和实体引用( c h a r a c t e ra n de n t i t y r e f e r e n c e s ) 、c d a t a 区等【1 9 】。 x m l 声明 x m l 声明是以“ ”结束,如 。x m l 声明的作用是说明文档是属于x m l 类型,7 并指出x m l 的版本等信息。声明语句中必须包含v e r s i o n ( 版本) 属性, e n c o d i n g ( 编码) 和s t a n d a l o n e ( 独立) 两个属性是属于可选属性。v e r s i o n 属性指 西南大学硕士论文 。 w e b 服务及相关技术概述 明以下文档遵循哪个版本的x m l ,目前x m l 规范有两个版本:1 0 和1 1 ,因此 v e r s i o n 的值只能设置为1 0 或1 1 。e n c o d i n g 属性指出文档中字符使用的编码标准。 常用的编码标准有g b 2 3 1 2 ( 简体中文编码) 、u t f 8 ( 压缩的u n i c o d e 编码) 、 u t f 一1 6 ( 压缩的u c s ) 编码。s t a n d a l o n e 属性表明该x m l 文档是否和一个外部 的文档类型定义( d t d ) 文档配套使用。如果该属性值设为“y e s ,说明这是一 个独立的文档,如果该x m l 有引用外部的d t d 或外部实体,解析器就会报告错 误。相反,属性值若设为“i i o ”,x m l 解析器则可以接受外部资源。 处理指令 处理指令可以用来让应用程序处理不受x m l 规则限制的信息。由于在w e b 服务中出现的x m l 文档不涉及内容的形式,也不使用d t d 来定义文档的结构, 所以很少有使用到处理指令。 注释 注释是对文档结构或内容的解释,x m l 解析器不会处理注释。注释是以“ ”为止。 命名空间 x m l 命名空间是x m l 文档中使用的元素或属性名称的集合,命名空间在元 素或属性名称上加以限定,可以避免名称相同的元素或属性发生冲突。命名空间 通常由统一资源标识符( u n i f o r mr e s o u r c ei d e m i f i e r ,删) 来表示,但它们不需 要指向某个实在的资源,只要是惟一的字符串均可,所以,统一资源定位符( u r l ) 、 统一资源名称( u r n ) 、全球惟一标识符( i 兀d ) 和全局惟一标识符( g u i d ) 等都可以作为命名空间使用。 2 2 2w s d l w 曲服务描述语言( w s d l ) ”】是一种用于描述w e b 服务或者网络端点的基于 x m l 的语言。w s d l 描述了w e b 服务之间的消息处理机制、w e b 服务的位置, 以及w e b 服务之间通信的协议。w s d l 的基础是m i c r o s o f t 的软件定义语言 ( s o f t w a r ed e f i n i t i o nl a n g u a g e ,s d l ) 和i b m 的网络访问服务规范语言( n e t w o r k a c c e s s i b l es e r v i c e ss p e c i f i c a t i o nl a n g u a g e ,n a s s l ) 的组合。使用w s d l 描述语言 的最大优点是,它是一个标准的协议,与s o a p 协议一样,任何系统都能够解释 w e b 服务的方法并识别要生成的s o a p 消息和发送该s o a p 消息。 w s d l 文档被分为两种类型:服务接口( s e r v i c ei n t e r f a c e ) 和服务实现( s e r v i c e i m p l e m e n t a t i o n s ) ,其结构如图2 3 所示【2 0 】: 图2 3w s d l 文档类型 9 西南大学硕士论文w e b 服务及相关技术概述 w s d l 文档是由五个主要部分组成的一个x m l 文档。 类型( t y p e ) 定义了在文档中使用的不同的自定义数据类型。 消息( m e s s a g e ) 胡及务接收和返回的逻辑消息的抽象表示。这些消息将 转换成单独方法的输入和输出参数。每个消息都被分成几个部分,每个部 分都有不同的数据类型。 端口类型( 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 ) ,而一个操作是指访问入口支持的一种类型的调用,在w s d l 里面支持四种访问入口调用方式,分别是单请求( o n e w a y ) 、单响应 ( n o t i f i c a t i o n ) 、请求,响应( r e q u e s t r e s p o n s e ) 、响应请求( s o l i c i t r e s p o n s e ) 。 绑定( b i n d i n g ) 为每个具体的端口类型定义了消息格式和协议。 b i n d i n g 主要描述可以用来和w e b 服务进行通信的协议,它的主要作用就 是将一个特殊的协议绑到消息和操作定义上。 服务( s e r v i c e ) 定义了w e b 服务的物理地址,该物理地址拥有一组指 向特定地址的端口。 w s d l 实例 l o 两南大学硕十论文w e b 服务及相关技术概述 2 2 3s o a p 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 0 1 ) 是一种轻量的、 简单的、基于x m l 协议,可以轻松实现不同应用程序之间数据的交换。s o a p 和h t t p 一样是一种应用级的协议。早在1 9 9 8 年就诞生了s o a p f 2 ,但那时候还 没有x m l 类型的系统,所以s o a p 并不能得到很好的应用。直到出现了x m l 大纲语言之后,借助于x s d 类型系统,s o a p 就可以顺利地在不同平台之间交换 数据。正因为s o a p 有这种特性,成为了w e b 服务的核心协议,是调用远程方法 的一个x m l 标准。 一在实际运用中,s o a p 主要用来进行远程方法的调用,发送者把方法的参数 值从本地二进制格式转换到x m l 文档中,然后把这个文档发送给远程服务器, 在服务器端,有对应的s o a p 处理器解析x m l 文档,取出方法的参数信息,恢 复到二进制状态,然后调用本地方法。其通信方式如图2 4 所衣捌所示: 图2 4s o a p 通信方式 在w e b 服务中使用s o a p 的原因如下: 首先,s o a p 利用x m l 实现了软件系统之间跨平台的互操作性。 其次,s o a p 在端口8 0 上通过h t 即来发送,其他协议和端口也是如此,这 就使其成为通过防火墙传输r p c 调用和响应的理想方式。 最后,s o a p 消息描述了消息负载中的每个数据元素,这样就可以很容易地 诊断可能出现的问题。 两南大学硕十论文w e b 服务及相关技术概述 s o a p 消息主要包括4 个元素:封套( e n v e l o p e ) 、报头( h e a d e r ) 、主体( b o d y ) 和错误( f a u l t ) 。 封套 封套是整个s o a p 消息的根元素,其他两个元素都包含在这个元素内部。封 套标明了该x m l 文档是一条s o a p 消息。封套中包含了e n c o d i n g s t y l e 属性,指 出该消息数据所用的编码格式。 报头 报头是s o a p 的可选元素,用来传递辅助性的附加消息,如身份验证、事务 d 、支付消息等,所以报头的作用就是扩展s o a p 消息传递的内容,有助于消息 的接收者正确地处理消息的内容。在 元素中定义了两个属性: m u s t u n d e r s t a n d 和a c t o r 。m u s t u n d e r s t a n d 的值若为1 ,表明要求消息的接收者必 须处理这个头条目,否则就不能正确处理消息的内容。在s o a p 消息中,通常并 不是将内容直接传递给最终接收者,有些内容可以专门发给s o a p 消息传递路径 上的某个端点,a c t o r 属性就可以指定将消息发给的特定端点。 主体 是 中必须有的直接子元素,负责为该消息的最终接 收方所请求的那些强制信息提供一个“容器”。 错误 在s o a p 消息传递或处理的过程中,可能由于某种原因而不能继续处理消息, 这时候就可以通过 元素描述错误信息返回给s o a p 。 元素包含了4 个预定义的子元素: 、 、 、 。 元素的作用是为了让软件能够识别这个错误,这是 元素中必须有的元素, 它的内容可以是任何限定性全称。如w e b 服务在处理时出现了数据库错误,则 可以是m y w e b s e r v i c e s :a p p l i c a t i o n d a t a b a s e ,这里,m y w e b s e r v i c e s 是 代表命名空间的前缀,而a p p l i c a t i o n d a t a b a s e 代表数据库错误,当客户接收到该 时,就可以很容易地知道服务发生了数据库错误。 用来提 供错误的描述文本,在客户端,通常会解析出它的内容,并显示在用户界面中。 由于它只能提供描述性文本,而没有结构化数据,所以程序通常不会对它进行额 外处理。 用来指定在消息的传递路径上,哪个a c t o r 产生了错误。 元素提供了与 元素有关的应用程序级错误信息。 s o a p 协议规定了方法请求的格式和传递到消息中的参数格式。它包含了一 系列规则,从而允许发送和接收正确信息。所有的s o a p 消息都是以x m l 的格 式进行编码的。s o a p 广泛地使用了模式和命名空间,s o a p 消息有三种类型: 方法调用、响应消息、故障消息。方法调用就是指对远程服务器上的方法调用进 1 2 西南大学硕士论文 w e b 服务及相差技术概述 行的请求。方法调用中包含了所要调用的方法名称,以及调用方法所必须的参数, 方法阔用之后,w e b 服务返回一个响应消息,该消息中带有方法调用的结果,故 障消息是一种特殊的响应消息,当客户机实际联系和调用远程服务器时,如果传 输中发生了错误,则客户机将收到个针对传输的错误。 2 2 4 u d d i u d d 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 ya n di n t e g r a t i o n ) 即通用描述、发 现、集成协议是用来存储业务信息和发布服务的注册表,使用u d d i 协议,潜在 的客户机能够通过任何己注册的业务信息搜索并找到所提供的w e b 服务。 u d d i 注册中心包含了通过程序手段可以访问到的对企业和企业支持的服务 所做的描述。此外,还包含对w e b 服务所支持的因行业而异的规范、分类法定义 以及标识系统的引用。u d d i 规范中所有a p i 都用x m l 定义,包装在s o a p 信 封中,在h t t p 上传输。u d d i 的工作原理如图25 所示口j _ : l e g m r y m 口口f 0 t , , s m 9 目- t m h d 矗口i 踯。帖o 3u o d f a 神r a m r n “ 瑚竹岫q 岍 哪m d # l u o l d t i 。1 m 0 d e i n d b 晰蒋r 唧l s t r a t i o na 哪 $ t 口“i n t sc n c t 口 目7 y sb 帕s d a a t 0 n a l i n rl t e o r a i l o o 口 e a o h0 1 h s | ”协h 图25 u d o i 工作原理 第1 步,在软件公司和标准组织定义关于在u d d i 中注册的行业或企业的规 范时开始向注册中心发粕有用的信息。这些规范叫做技术模型( t m o d e l ) 。 第2 步,公司注册关于其业务及其提供的服务的描述。 第3 步,u d d i 注册中心会给每个实体指定一个在程序中唯一的标识符,叫 做唯一通用标识符( u n i q u e u n i v e r s a li d e n t i f i e r , u u i d ) 键,从而能随时了解所有 这些实体的情况。u u i d 键必须是唯一的,并且在一个u d d i 注册中心中从来都 不会变化,可以利用这些键来引用与之相关联的实体。在一个注册中心中创建的 岫键只在该注册中心的上下文中有效。 西南大学硕十论文w e b 服务及相关技术概述 第4 步,诸如电子交易场所( e m a r k e t p l a c e ) 和搜索引擎等其它类型的客户 机与商业应用程序( 例如,基于工作流聚合起来的w 曲服务) 使用u d d i 注册中 心来发现它们感兴趣的服务。 第5 步,另外的企业就可以调用这些服务,简便的进行动态集成。 u d d i 中把企业与服务的注册信息分成以下三组:白页、黄页和绿页【2 4 】。白 页表示有关企业的基本信息,如企业名称、经营范围的描述、联系信息等等。它 还包括该企业任何一种标识符,如d

温馨提示

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

评论

0/150

提交评论