(计算机软件与理论专业论文)一种支持qos约束的web服务组合方法.pdf_第1页
(计算机软件与理论专业论文)一种支持qos约束的web服务组合方法.pdf_第2页
(计算机软件与理论专业论文)一种支持qos约束的web服务组合方法.pdf_第3页
(计算机软件与理论专业论文)一种支持qos约束的web服务组合方法.pdf_第4页
(计算机软件与理论专业论文)一种支持qos约束的web服务组合方法.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机软件与理论专业论文)一种支持qos约束的web服务组合方法.pdf.pdf 免费下载

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

文档简介

一种支持q o s 约束的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 服务自身的 支撑技术来看,很多关键问题有待解决。因此,w e b 服务一直是工业界和学术界共同 关心的焦点。 通常情况下,w e b 服务由服务提供者根据特定的目标而设计。为了分散和简化应 用逻辑,提高服务的可重用性,单个的w e b 服务不能很复杂。而现实生活中的很多 应用都非常复杂,以致单个的w e b 服务无法满足其需要,这就需要通过服务组合把 现有的可用w e b 服务组合起来,形成功能更强大的增值服务。w e b 服务技术的流行 使得网络上可访问的w e b 服务的数量急剧增加,不可避免地出现了大量功能相同的 w e b 服务。服务的非功能性属性,即q o s ( q u a l i t yo f s e r v i c e ) ,在服务组合过程中的 作用越来越重要。 本文围绕支持q o s 约束的w e b 服务组合而展开,其主要研究内容及贡献如下: 研究了w e b 服务的组合,提出了基于组合树的自动服务组合方法。该方法通 过为服务注册库中的服务建立输出索引,得到从输出到服务的映射关系,采 取分而治之的思想进行服务的自动组合。该方法属于基于图搜索的自动服务 组合方法的范畴,与现有方法相比,它通过输出索引极大地降低了搜索空间, 并且避免了循环搜索,从而能够在短时间内根据服务选择算法求解出满足用 户要求的最优服务。 提出了一种q o s 属性值的获取方法。服务刚发布时,以服务提供者提供的值 作为服务q o s 属性的当前值,然后不断地根据服务消费者反馈的q o s 属性 值对当前值进行更新。随着服务消费者反馈值的增多,服务提供者提供的原 始q o s 属性值和少数服务消费者反馈的q o s 属性值对服务质量的影响越来 越小,一定程度上减少了欺诈带来的负面影响,从而客观公平地反应了当前 环境下的服务质量。 设计了基于服务q o s 和用户服务请求的服务选择算法。该算法首先根据用户 的q o s 约束值对候选服务的q o s 属性值进行标准化,使得所有q o s 属性值 被转换n 0 ,1 】区间,并且取值方向相同;然后根据用户偏好计算出每个候 选服务的综合q o s 得分,并从中选择满足用户要求的最优服务。 关键词:w e b 服务;服务选择;服务组合;服务质量 a 【e t h o df o rw e bs e r v i c ec o n 癣o s i t i o n w i t hq o sc o n s t r a i n t s a bs t r a c t w i t ht h ed e v e l o p m e n to fi n t e r a c ta n dw e bt e c h n o l o g i e s ,t r a d i t i o n a ld i s t r i b u t e d c o m p u t i n gt e c h n o l o g i e sh a v en o tb e e ns u i t a b l ef o rt h ew e ba p p l i c a t i o ne n v i r o n m e n t t h e r e f o r e ,w e bs e r v i c e st e c h n o l o g yc o m e sf o r t ha n di sw i d e l ya c c e p t e da sap a r a d i g mo f s e r v i c e o r i e n t e dc o m p u t i n g p e r s p e c t i v eo fw e bs e r v i c e si sm o s ta c c r e d i t e di nt h ev i e wo f a p p l i c a t i o no fe b u s i n e s s h o w e v e r ,s o m ek e yt e c h n o l o g i e so fw e b s e r v i c e sa l en o ts o l v e d w e l l t h e r e f o r e ,w e bs e r v i c e st e c h n o l o g yb e c o m e st h ef o c u si nt h ea r e ao fi n d u s t r ya n d a c a d e m i a g e n e r a l l y ,w e bs e r v i c e sa r ed e s i g n e df o rs p e c i a lp u r p o s e sb a s e d o nt h ef u n c t i o n a l i t i e s o ft h e i rp r o v i d e r s m o r e o v e r , t od e c e n t r a l i z ea n ds i m p l i f yt h ea p p l i c a t i o nl o g i c ,a n d i m p r o v et h er e u s a b i l i t yo fw e bs e r v i c e s ,as i n g l es e r v i c es h o u l dn o tb ec o m p l e x h o w e v e r , i nt h er e a lw o r l d ,au s e rr e q u e s tm a yb es oc o m p l e xt h a ti tc a nn o tb es a t i s f i e db yas i n g l e s e r v i c e ,i ti st h e r e f o r en e c e s s a r yt oc o m p o s es o m ep r e e x i s t i n ga v a i l a b l ew e bs e r v i c e st o p r o v i d en e wv a l u e - a d d e ds e r v i c e s t h i sp r o c e d u r ei s c a l l e ds e r v i c ec o m p o s i t i o n t h e n u m b e ro fw e bs e r v i c e si sd r a m a t i c a l l yi n c r e a s i n g 、撕t ht h ep o p u l a r i t yo fw e bs e r v i c e s t e c h n o l o g y t h e r e w i l lb e m u l t i p l e s e r v i c e s p r o v i d i n g i d e n t i c a l f u n c t i o n a l i t y n o n - f u n c t i o n a lp r o p e r t i e so fs e r v i c e s ,a l s ok n o w na sq u a l i t yo fs e r v i c e ( q o s ) ,b e c o m e m o r ea n dm o r ei m p o r t a n ti ns e r v i c ec o m p o s i t i o n , t h i st h e s i sm a i n l yd i s c u s s e sw e bs e r v i c ec o m p o s i t i o nw i t hq o sc o n s t r a i n t s t h e m a j o rw o r ka n dc o n t r i b u t i o n sa r ea sf o l l o w i n g : i i i h a v i n gs t u d i e dw e bs e r v i c ec o m p o s i t i o n ,t h i st h e s i sp r o p o s e sa n a u t o m a t i c s e r v i c ec o m p o s i t i o nm e t h o db a s e do nc o m p o s i t i o nt r e e a f t e ro b t a i n i n gt h e m a p p i n gr e l a t i o n s h i pf r o mo u t p u tp a r a m e t e r st ow e b s e r v i c e sb ye s t a b l i s h i n gt h e i n d e x i n g f o rs e r v i c e o u t p u tp a r a m e t e r s ,t h e m e t h o dm a k e su s eo ft h e d i v i d e a n d c o n q u e rs t r a t e g y t oc o m p o s es e r v i c e sa u t o m a t i c a l l y c o m p a r e dt o t r a d i t i o n a lg r a p h b a s e dm e t h o d s ,i tr e d u c e st h es e a r c hs p a c es i g n i f i c a n t l ya n d a v o i d st h er e p e t i t i o ns e a r c h ,s oi tc a no b t a i nt h eb e s ts e r v i c es a t i s f y i n gu s e r r e q u i r e m e n t sa c c o r d i n g t os e r v i c es e l e c t i o na l g o r i t h mi nas h o r tt i m e am e t h o df o rq o s p r o p e r t yv a l u ea c q u i s i t i o ni sp r e s e n t e d w h e naw e b s e r v i c e h a sj u s tb e e np u b l i s h e d ,t h eq o sp r o p e r t yv a l u e sp r o v i d e db ys e r v i c ep r o v i d e r s a r eu s e da sc u r r e n tv a l u e so fq o sp r o p e r t i e s t h e n , t h ec u r r e n tv a l u e sa r e c o n s t a n t l yu p d a t e da c c o r d i n gt of e e d b a c kv a l u e so fq o sp r o p e r t i e sf r o ms e r v i c e c o n s u m e r s w i t ht h ei n c r e a s i n gn u m b e ro ff e e d b a c kv a l u e s ,t h eq o sp r o p e r t y v a l u e sp r o v i d e db ys e r v i c ep r o v i d e r sa n dt h ef e e d b a c kv a l u e sf r o maf e ws e r v i c e c o n s u m e r sh a v es m a l l e ra n ds m a l l e ri n f l u e n c eo nq u a l i t yo fs e r v i c e s ot h e m e t h o dc a nr e d u c et h en e g a t i v ei n f l u e n c eo fc h e a t i n gb e h a v i o r , a n dr e f l e c tt h e q u a l i t y o fs e r v i c eu n d e rt h ec u r r e n tc i r c u m s t a n c eo b j e c t i v e l ya n df a i r l y as e r v i c es e l e c t i o na l g o r i t h mi sd e s i g n e d f i r s t ,t h ea l g o r i t h ms t a n d a r d i z e st h e q o sp r o p e r t yv a l u e so fc a n d i d a t es e r v i c e sb a s e do nt h eu s e r sq o sc o n s t r a i n t s , s u c ht h a tq o sp r o p e r t yv a l u e sa r ec o n v e r t e dt o i n t e r v a la n dh a v et h es a m e o r i e n t a t i o n t h e n ,i tc a l c u l a t e st h eq o ss y n t h e t i cs c o r eo fe a c hc a n d i d a t es e r v i c e a c c o r d i n g t ou s e rp r e f e r e n c e ,a n ds e l e c t st h eb e s to n e k e yw o i s :w e bs e r v i c e s js e r v i c es e l e c t i o n ;s e r v i c ec o m p o s i t i o n ;q u a l i t yo f s e r v i c e ( q o s ) i v 浙江师范大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。论文中除了特别加以标注和致谢的地方外,不包含其他人或其他机 构已经发表或撰写过的研究成果。其他同志对本研究的启发和所做的贡献均已在 论文中作了明确的声明并表示了谢意。本人完全意识到本声明的法律结果由本人 承担。 作者签名:唐瑚明 日期:枷。忏6 月 日 学位论文使用授权声明 本人完全了解浙江师范大学有关保留、使用学位论文的规定,即:学校有权保留 并向国家有关机关或机构送交论文的复印件和电子文档,允许论文被查阅和借阅,可 以采用影印、缩印或扫描等手段保存、汇编学位论文。同意浙江师范大学可以用不同 方式在不同媒体上发表、传播论文的全部或部分内容。 保密的学位论文在解密后遵守此协议。 作者签名:瘴唐明导师签名:钾缘装h 期- 2 n 。肾6 与同 5 5 浙江师范大学学位论文诚信承诺书 我承诺自觉遵守浙江师范大学研究生学术道德规范管理条 例。我的学位论文中凡引用他人已经发表或未发表的成果、数据、 观点等,均已明确注明并详细列出有关文献的名称、作者、年份、 刊物名称和出版文献的出版机构、出版地和版次等内容。论文中未 注明的内容为本人的研究成果。 如有违反,本人接受处罚并承担一切责任。 承诺人( 研究生) :秀淘日月 指导教厩砑缀秉 1 1 选题背景 第1 章绪论 开放世界( o p e n w o r l d ) 软件被认为是当今计算机软件的发展趋势,而其中面向服 务的计算( s e r v i c e o r i e n t e dc o m p u t i n g ,简记s o c ) 则被认为是未来开放分布式计算的 发展方向【1 3 1 。w e b 服务技术作为s o c 的主要体现,自从2 0 0 0 年6 月被正式提出以 来,就一直是业界讨论的焦点。w e b 服务的兴起主要受到了以下因素的推动:首先, 基于广泛部署的通信协议( 如h t t p ) 传输和基于x m l 编码的消息使得跨组织的分布 系统之间的通信和广泛的互操作成为可能;第二,基于文档的消息模型迎合了应用之 间松耦合的需求;第三,w e b 服务的迅速推广得益于i b m 、m i c r o s o f t 、w 3 c 和o m g 等厂商及国际组织的大力支持。w e b 服务技术具有良好的互操作性、跨平台性及松散 耦合的特点,能够为不同实现标准和不同通信机制下的软件系统的交互与集成提供有 效的支持。w e b 服务已经成为基于标准技术构造分布式计算平台的基础,是目前w e b 应用环境中一种最有前景的解决方案【4 j 。 尽管w e b 服务为分布式、异构的应用集成带来了很大方便。但通常情况下,w e b 服务是由服务提供者针对某一特殊目标而设计的,为了分散和简化应用逻辑,提高服 务的可重用性,单个的w e b 服务都不能设计得非常复杂,所提供的功能非常有限。 然而现实生活中的应用一般都比较复杂,如一个旅行服务通常由订票服务、酒店服务 以及景点服务等组合而成。所以工业界和学术界都希望能够通过组合现有的w e b 服 务创造出新的服务功能,这样w e b 服务的真正潜力才能发挥出来,w e b 服务组合问 题也就应运而生。w e b 服务组合可以利用较小的、较简单的且易于执行的轻量级服务 来创建功能更为丰富、更易于用户定制的复杂服务,从而能够将松散耦合的、分散在 i n t e r n e t 上的各类相关w e b 服务有机地组织成一个更为可用的系统,支持企业内、外 部的企业应用集成e a i 和电子商务等网络应用i s l 。w r e b 服务组合能够实现快速和自动 化的自适应,同时能够使运行的软件系统对用户保持持续可用,被广泛用来改进企业 软件系统的敏捷性、灵活性和可用性。同时,b 2 b ( b u s i n e s s - t o b u s i n e s s ) 商务的发展也 使得w e b 服务组合获得了空前的关注。 第l 章绪论 凭借着崭新的基本架构及其核心支撑技术,w e b 服务的应用范围不断扩大,技术 不断发展,越来越多的企业和组织纷纷将其业务功能和流程包装成标准的w e b 服务 发布到网络上,网络上的服务呈现出爆炸性的增长趋势。如此一来,在利用简单的 w e b 服务创建组合服务时,通常有多个候选服务可供选择,为了实现w e b 服务的自 动选择和组合,在满足用户功能需求的基础上,往往将每个服务提供的非功能性属性 即服务质量( q o s ) 作为区分和评价候选服务的标准。依托广阔的w 曲服务市场,满 足用户功能性需求和q o s 约束的组合服务不止一个,这时依然需要根据组合服务的 q o s 进行选择。另外,作为组合服务执行结果的q o s 是一个确保用户满意的决定性 因素,而且不同的用户有着不同的q o s 约束和偏好选择,基于q o s 的服务组合方法 需要考虑用户的这些q o s 约束和偏好。因此,如何基于服务的服务质量和用户的q o s 约束及偏好,快速准确地发现或组合出满足用户要求的最优服务成为一个亟待解决的 问题。 1 2 研究意义 g a r t n e r 公司于1 9 9 6 年提出了面向服务的体系架构( s e r v i c e - o r i e n t e d a r c h i t e c t u r e ) ,和面向对象的体系架构不同,s o a 将应用程序的不同功能单元抽象为 服务,服务之间通过定义良好的接口和契约联系起来,从而有效地实现服务之间的松 耦合。一个w e b 服务是一个应用程序,它通过一个接口描述对外暴露它的功能,只 需一次性部署到因特网上,然后就可被任何用户调用。w e b 服务使不同程序和在不同 系统平台上开发出来的程序,都可以相互通信,因此可以重用现有的各种应用,节省 了企业重新开发的成本。基于服务组织计算资源所具有的松耦合特征,不仅可以有效 保护企业投资,促进已有系统的复用,而且可以支持企业随需应变的敏捷性和先进的 软件外包管理模式,企业把关键功能服务化后,可以使企业间的电子商务以更高效、 更灵活的方式展开。 w e b 服务提供了一套基于x m l 的服务传输、描述、查找机制,具有平台无关、 互操作性强的特点,很好地解决了异构平台环境的互操作问题。w e b 服务的特点符合 s o a 的理念,是实现s o a 的最重要手段。w e b 服务的价值在于服务重用,而重用的 目的则是使服务增值,w e b 服务组合是各个小粒度的w e b 服务相互之间通信和协作 来实现大粒度的服务功能,通过有效地联合各种不同功能的w e b 服务,组合服务开 发者可以解决更为复杂的问题,达到服务增值的目的。 w e b 服务组合具有以下些特点: 2 第1 章绪论 层次性和可扩展性:w e b 服务的组合通过重用并组合现有的w e b 服务来生 成一个更大粒度的服务,使得组合的w e b 服务具有层次性和可扩展性。 动态与自适应性:w e b 服务组合是一个动态、自适应的过程,它在标准协议 的基础上,根据用户的需求,对封装特定功能的现有服务进行动态地发现、 组合和管理。 提高了软件生产率:通过重用现有的服务,并自动化地生成新的服务或系统, 极大提高了软件的生产效率。 w e b 服务组合将会推动软件开发方法学的变革,实现企业级跨系统的业务组合, 提高数据的整合能力,并在未来推动软件的自动化和智能化生产。w e b 服务组合作为 w e b 服务一项重要的增值功能,为服务重用与自动化集成提供了应用的基础【6 j ,因此 研究w e b 服务组合的方法具有重要意义。 1 3 本文主要研究内容 本文的工作主要围绕支持q o s 约束的w e b 服务组合而展开,其主要研究内容及 贡献如下: 研究了w e b 服务的组合,提出了基于组合树的自动服务组合方法。该方法通 过为服务注册库中的服务建立输出索引,得到从输出到服务的映射关系,采 取分而治之的思想进行服务的自动组合。该方法属于基于图搜索的自动服务 组合方法的范畴,与现有方法相比,它通过输出索引极大地降低了搜索空间, 并且避免了循环搜索,从而能够在短时间内根据服务选择算法求解出满足用 户要求的最优服务。 提出了一种q o s 属性值的获取方法。服务刚发布时,以服务提供者提供的值 作为服务q o s 属性的当前值,然后不断根据服务消费者反馈的q o s 属性值 对当前值进行更新。随着服务消费者反馈值的增多,服务提供者提供的原始 q o s 属性值和少数服务消费者反馈的q o s 属性值对服务质量的影响越来越 小,一定程度上减少了欺诈带来的负面影响,从而客观公平地反应了当前环 境下的服务质量。 设计了基于服务q o s 和用户服务请求的服务选择算法。该算法首先根据用户 的q o s 约束值对候选服务的q o s 属性值进行标准化,使得所有q o s 属性的 值被转换n 0 ,1 区间,并且取值方向相同;然后根据用户偏好计算出每个 3 第1 章绪论 候选服务的综合q o s 得分,并从中选择满足用户要求的最优服务。 1 4 本文结构 本文共分为六章,除了本章外,其余各章组织如下: 第2 章对w e b 服务进行了概述,包括w e b 服务的定义、技术基础和服务质量。 首先介绍了几种有代表性的w e b 服务定义,并从中总结出w e b 服务的几大特点;然 后介绍了w e b 服务的体系结构,它由三种角色和三个基本操作组成:在w e b 服务的 技术基础中,对x m l 、s o a p 、w s d l 和u d d i 进行了介绍;最后介绍了w e b 服务 的服务质量。 第3 章介绍了w e b 服务组合的相关知识,给出了w e b 服务组合的定义和w e b 服务组合不同的分类方法,提出了基于q o s 的服务组合模型。并针对当前的服务组 合技术进行阐述,介绍了比较有代表性的几种w e b 服务组合方法。 第4 章提出了一种基于组合树的自动服务组合方法。该方法通过为服务注册库中 的服务建立输出索引,得到从输出到服务的映射关系,采取分而治之的思想进行服务 的自动组合。该方法通过输出索引大大降低了搜索空间,并且避免了循环搜索,从而 能够在短时间内根据服务选择算法求解出满足用户要求的最优服务。 第5 章提出了一种q o s 属性值的获取方法,设计了基于服务q o s 和用户服务请 求的服务选择算法。该算法首先根据用户的q o s 约束值对候选服务的q o s 属性值进 行标准化,然后根据用户偏好计算出每个候选服务的综合q o s 得分,并从中选择满 足用户要求的最优服务。 第6 章总结了本文的主要研究内容,并阐述了未来的研究方向。 4 第2 章w e b 服务概述 2 1w e b 服务 随着网络技术的迅速发展,w e b 服务已成为当今全球i t 业关注的焦点。它是面向 服务的架构( s o a ) 和面向服务的计算( s o c ) 范例的核心【7 1 。w e b 服务定义了如何在异构 系统之间实现通信的标准化方法,使得服务可以跨越运行平台和语言实现互操作性。 如果说传统的w e b 应用技术是解决如何让人来使用w e b 应用所提供的服务,那么w e b 服务要解决的是如何让计算机系统来使用w e b 应用所提供的服务。w e b 服务以x m i _ 作为数据交换的标准,使用s o a p 、w s d l 、u d d i 等协议来描述、发布、发现和调用 服务,使得运用不同分布式集成架构的系统之间容易交互,对于企业应用的集成有着 无与伦比的优势。 2 1 1w e b 服务的定义及特点 目前,许多参与w - c b 服务标准细化的机构和厂商对w e b 服务的内涵有着不同的理 解和认识,还不存在统一的关于“w r e bs e r v i c e s 的定义。这里概述了如下几种有代表 性的w e b 服务定义。 w 3 c 对w e b 服务的定义为:w e b 服务是由u r i 标识的软件系统,其公共接口和 绑定用x m l 文档定义和描述,该定义可供其他软件系统发现,这些软件系统可使用 基于x m l 的消息机制通过i n t e r a c t 的传输协议与此w 曲服务进行交互【s l 。w 3 c 的定 义强调了w e b 服务的定义、描述和发现,从而相应的阐明了w e b 服务如何被调用。 i b m 对w r e b 服务的定义为:w e b 服务是采用标准的、规范的x m l 描述的一组可 通过网络访问的操作接口。服务的描述提供了与该服务进行交互所必须的所有细节, 包括消息格式、传输协议和位置。该接口隐藏了实现服务的细节,允许独立于实现服 务基于的硬件或软件平台和编写服务所用的编程语言使用服务 9 1 。w e b 服务执行项 特定的任务或一组任务。w e b 服务可以单独或同其他w e b 服务一起用于实现复杂的商 业服务或业务流程。 5 第2 章w e b 服务概述 m i c r o s o f t 对w e b 服务的定义为:w e b 服务是一个向其它应用提供数据和服务的应 用逻辑单元。应用程序通过无处不在的w 曲协议和数据格式访问w 曲服务,如h t t p , x m l 和s o a p ,而无需关心每个w e b 服务是如何实现的。 s u n 认为w e b 服务是软件构件,这类构件具有被发现、可重用和再组合的特性, 用于解决用户的问题或要求。 其他的一些研究组织也给出了w e b 服务的定义,尽管这些定义的侧重点各不相同, 但本质上并无冲突。从上述定义可以看出w e b 服务具有以下几个显著的特点,使其可 以很好地适用于异构环境下的交互: 松散耦合:当w e b 服务的调用接口保持一致时,w e b 服务的实现变更对调用 、 者是完全透明的。松散耦合性大大提高了w e b 开发的灵活性。w e b 服务通过 x m l s o a p 作为消息交换协议保持其松散耦合。 使用标准协议:尽管w e b 服务的程序实现可能彼此不同,但w e b 服务接口的 描述使用统一的x m l 格式语言,使得w e b 服务可以很容易地被定义、描述 以及发现,相比一般对象而言,w e b 服务的接口规范不仅方便用户查找服务, 并且易于机器理解,w e b 服务可以描述和发布自己以便于彼此之间绑定和交 互。一般而言,绝大多数协议将最终由w 3 c 或o a s i s 发布和维护。 良好的封装性:w e b 服务既然是一种部署在网络上的对象,自然具备对象的 良好封装性。对使用者而言,仅能看到该对象提供的功能列表。 高度可集成能力:由于w e b 服务采取简单的、易理解的标准w e b 协议作为组 件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是 c o r b a 、d c o m 还是e j b ( e n t e r p r i s ej a v a b e a n s ) 都可以通过这种标准的协议 进行互操作,实现了当前环境下最高的可集成性。 2 1 2w e b 服务的体系结构 w e b 服务的体系结构一般是由服务提供者、服务请求者、服务注册中心三个角色 和发布、查找、绑定三个基本操作构成,其关系如图2 1 所示【1 0 1 。 6 第2 章w e b 服务概述 s o a p 图2 1w e b 服务的体系结构 服务提供者( s e r v i c ep r o v i d e r ) :是w 如服务的开发者和拥有者,它负责创建 服务,把部署成功后的w e b 服务通过u d d i 协议发布到注册中心,并提供该 服务的w s d l 描述,以便服务请求者发现和访问该服务。 服务请求者( s e r v i c er e q u e s t e r ) :就是w 曲服务功能的消费者,它向u d d i 服 务注册中心发出查询请求,获取w e b 服务的w s d l 描述,并根据w s d l 描 述构造s o a p 消息来访问该w l e b 服务。 服务注册中一l 二, ( s e r v i c er e g i s t r y ) :也被成为服务代理( s e r v i c eb r o k e r ) ,用于处 理服务提供者的发布请求和服务请求者的查找请求,充当管理者的角色,一 般是u d d i 。 在实际应用中,角色之间很可能有交叉:一个w e b 服务既可以是w e b 服务提供者, 也可以是w e b 服务请求者,或者二者兼而有之。角色之间通过以下三种基本操作进行 交互: 发布:为了使服务可访问,服务提供者需要向服务注册中心注册自己的服务。 发布是为了让用户或其他服务知道某个w e b 服务的存在和相关信息。 查找;服务请求者查询服务注册中心来找到满足其需求的服务。 绑定:服务请求者利用服务描述中的绑定细节来定位、调用服务。绑定就是 在服务提供者与请求者之间建立联系。 2 2w e b 服务的技术基础 w e b 服务技术的兴起与发展使得s o a 有了实质性的意义。w e b 服务虽然并没有与 7 第2 章w e b 服务概述 特定的技术相关联,但它建立在一系列开放的i n t e r n e t 标准之上,其核心的协议包括 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 ) ,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 ) 和 u d d i ( 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 ) 】,它们的基础是一个被广泛应 用的通用数据标记语言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 ) 。s o a p 协议用于规范服务 请求者和服务提供者相互通信的接口;w s d l 协议描述w e b 服务的功能接口、消息类 型及调用方式,w e b 服务请求者可以根据w s d l 协议动态地调用w e b 服务;u d d i 协 议提供在服务注册中心发布服务和查找服务的语法。 2 2 1 m l 可扩展标记语言( x m l ) 是一种简单、与平台无关并被广泛采用的标准,为标记数 据提供了一种统一的、可扩展的、描述性的结构。它作为一种新的i n t e m e t 上的数据交 换标准技术,也是w e b 服务中信息描述和交换的标准规范。它使用标记来界定内容, 允许用户定义任意复杂度的结构,具有良好的扩展性;它具有自描述性,适合数据交 换和共享;x m l 的另一个特点是平台无关性,它独立于具体的平台和厂商,确保了结 构化数据的统一。x m l 已经成为开放环境下描述数据信息的标准技术,也是w e b 服 务中信息描述和交换的标准手段。 x m l 以x m ls c h e m a 作为建模语言。x m ls c h e m a 具有丰富的数据类型,支持类 型的继承,能对x m l 文件进行严格的合法性检查;使用与x m l 完全一致的文法,统 一了分析和处理的方式;引入名空间( n a m e s p a c e ) 的概念,解决了x m l 名称多义性和 名字冲突问题。x m ls c h e m a 是w e b 服务中协议制定的标准语言,它和x m l 共同构 成w e b 服务的基石。 2 2 2s o a p 简单对象访问协议( s o a p ) 是1 9 9 9 年由w 3 c 组织公布的用于标准远程对象调用的 通用格式。s o a p 协议在x m l 的基础上,为在一个松散的、分布的环境中对等地交换 结构化和类型化的信息提供了一个简单且轻量级的机制。s o a p 本身并不定义任何应 用语义,如编程模型或特定语义实现,它只是定义了一种简单的机制,通过一个模块 化的包装模型和对模块中特定格式编码的数据的重编码机制来表示应用语义。s o a p 的这项能力使得它可以被很多类型的系统用于从消息到远程过程调用( r p c ) 的延伸。 s o a p 主要由以下四个部分组成: 8 第2 章w e b 服务概述 s o a p 信封( s o a pe n v e l o p e ) :它构造定义了一个整体的表示框架,可用于表示 在消息( m e s s a g e ) 中的是什么,谁应当处理它,以及这是可选的还是强制的等等。 这里所谓可选是指可以由目标应用程序自己来选择是否处理,强制则是必须处 理的。 s o a p 编码规则( s o a pe n c o d i n gr u l e s ) :它定义了一个数据的编序机制,通过这 样一个机制来定义应用程序中需要使用的数据类型,并可用于交换由这些应用 程序定义的数据类型所衍生的实例。 s o a pr p c 表示( s o a pr p c r e p r e s e n t a t i o n ) :它定义了一个用于表示远程过程调 用及相关的约定。 s o a p 绑定( s o a pb i n d i n g ) - 它定义了一个使用底层传输协议来完成在节点间 交换s o a p 信封的约定。 为了简化s o a p 的复杂度,这四个部分在功能上是正交的,有的则是被定义到不 同的x m l 命名空间中。在s o a p 规范中,还定义了两种s o a p 绑定,用于描述s o a p 消息如何通过带有h t t p 扩展框架的h r r p 消息进行传输,或者是如何通过不带h t t p 扩展框架的h t t p 消息进行传输。 2 2 3w s d l w s d l 是一种x m l 应用。w s d l 服务描述文件描述了w e b 服务的服务接口,包 括服务的名称、调用端口、服务包含的操作、操作包含的输入输出参数、输入输出参 数的数据类型等信息,另外还包括调用服务、传输消息内容所需要的s o a p 绑定信息。 服务提供者将文件中的信息发布到服务注册中心以后,服务请求者可以根据此服务描 述文件知道服务要求的数据类型、消息结构、传输协议等,从而实现对w e b 服务的调 用。服务提供者也可以使用某种高级语言和编程工具将生成的程序代码( 例如j a v a 文 件) 转换成w s d l 文件用于服务的发布,而服务请求者则可以利用某些工具将找到的 w s d l 文件转换成程序代码。由于w s d l 采用x m ls c h e m a 定义,能够对各种语言实现 的服务接口进行描述,具有语言无关性。 在一个w s d l 文档中,对w e b 服务的定义一般包含以下元素: 类型( t y p e s ) :数据类型定义的容器,提供了用于描述交换消息的数据类型定义。 w s d l 本身没有专用的类型系统,一般使用x m ls c h e m a 中的类型系统。 消息( m e s s a g e ) - 描述传输中数据的抽象定义,一个消息包含多个逻辑部分 9 第2 章w e b 服务概述 ( p a r t ) ,每一部分都和某一类型的定义相关。 操作( o p e r a t i o n ) :对服务中所支持的操作的抽象描述,一般单个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 ) :是特定端口类型的具体协议和数据格式规范的绑定。即描述如 何在i n t e m e t 上实现服务的具体细节,它是由端口类型定义的操作和消息指定 具体的协议和数据格式规范的结合。 端口( p o r t ) :定义为协议数据格式绑定与具体w e b 访问地址组合的单个服务访 问点。 服务( s e r v i c e ) :它是相关服务访问点的集合,集成了一组相关的端口。 类型、消息、操作和端口类型描述了调用w e b 服务的抽象定义,与具体的w e b 服务部署细节无关,是可复用的描述。绑定、端口和服务所描述的内容则与具体的服 务部署相关。本质上,w s d l 描述了w e b 服务三方面的信息:w e b 服务能做什么一即 服务所提供的操作;如何访问服务一和服务交互的数据格式以及必要协议;服务位于 何处一由特定协议决定的网络地址。 例如:下面是一个天气预报服务,服务请求者发出查询某地区天气的信息 ( g e t w e a t h e r r e q u e s t ) ,服务返回响应信息( g e t w e a t h e r r e s p o n s e ) ,服务的访问地址为: h t t p :l o c a l h o s t :8 0 8 0 m y w e a t h e r f o r e c a s t w e a t h e r f o r e c a s t j w s 。具体的w s d l 定义如下: l o j 墼墼坐墅型 p 耐n a l t l e - 2 w e a t h e r t y p e = x s d :s t r i n g 伦 , o u t p u tm e s s a g e 2 t n s :g e t w e a t h e r r e s p o n s e 诊 s o 印:b i n d i n gs t y l e = “r p c ”t r a n s p o r t = “h t t p :s c h e m a s ,x m l s o a p 。o r g s o a p h t t p ,修 s o a p :o p e r a t i o ns o a p a c t i o n = 修 w s d lf i l ef o rw e a t h e rf o r e c a s ts e r v i c e s o a p :a d d r e s s l o c a t i o n = “h t t p :l o c a l h o s t :8 0 8 0 m y w e a t h e r f o r e c a s t w e a t h e r f o r e c a s t j w s ,修 1 1 第2 章w e b 服务概述 2 2 4u d d i 统一描述、发现与集成协议( u d d i ) 是一个用于分布式网络环境下w e b 服务的信 息注册规范,这是一个意图建立全球化的、平台无关的、开放式的构架计划。u d d i 定义了w e b 服务的发布与发现的方法,通过u d d i 服务提供者向服务注册中心发布 w e b 服务描述( w s d l ) ,服务请求者检索服务注册中心( 通过查找操作) 以获取满足某个 标准的一个或多个服务描述,即得到一个服务请求要求的服务描述清单。 u d d i 的核心组件是u d d i 商业注册,它使用x m l 文档来描述企业及其提供的 w e b 服务

温馨提示

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

评论

0/150

提交评论