(计算机软件与理论专业论文)基于图的web服务组合优化的研究.pdf_第1页
(计算机软件与理论专业论文)基于图的web服务组合优化的研究.pdf_第2页
(计算机软件与理论专业论文)基于图的web服务组合优化的研究.pdf_第3页
(计算机软件与理论专业论文)基于图的web服务组合优化的研究.pdf_第4页
(计算机软件与理论专业论文)基于图的web服务组合优化的研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机软件与理论专业论文)基于图的web服务组合优化的研究.pdf.pdf 免费下载

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

文档简介

上海大学硬士学位论文 摘要 w e b 服务是基于网络的自包含、自描述的模块化应用程序。随着将自己的 应用程序作为w e b 服务发布的企业日益增多,服务需求者对服务的功能以及服 务的质量要求也越来越高。而服务供应商提供的单个服务也越来越难满足用户 的实际需要,因此,高质量的w e b 服务组合成为w e b 服务发展的必然。 服务组合就是根据用户的实际需要把相关的服务动态组合并发布为一个可 以满足特定需要的新服务,这样不仅节省了服务的开发成本,而且提高了服务 组件以及基本服务的可重用性和利用率。在服务组合中,最具挑战性的问题就 是组合服务的质量问题。它的目标是在用户的约束条件下寻找一组最佳服务, 从而组合出满足用户需求的最佳服务 本文论述了服务组合优化的设计与实现。针对现有w e b 服务组合方案中缺 乏对w e b 服务组合质量进行系统、有效评估和优化的问题,提出以q o s 作为选 择标准的w e b 服务组合策略。该策略以w e b 服务的q o s 模型为基础,设计建 立了q o sd b 。并计算出w e b 服务的综合服务质量,作为w e b 服务选择过程中 的参考标准。在完成单个服务的优化选择后,利用d i j k s t r a 算法实现了查找 o w w s d g 中从指定起点到指定终点的最短路径,从而实现了w e b 服务组合的 第二次性能优化;并对w e b 服务中的安全和事务处理问题介绍了相应的对策。 本文所提出的w e b 服务组合框架,通过需求分析,w e b 服务检索和w e b 服 务最优路径搜索,最后形成满足用户需求的新的w e b 服务。 关键词:w s q o s ,w s d g ,执行路径,服务组合 v 占塑查兰堡圭兰丝篓苎 彻s t r a c t w e bs e r v i c ei ss e l f - i n c l u d e da n ds e l f - d e s c r i b e da p p l i c a t i o np r o g r a mb a s e do nw e b w i t ht h e i n c r e a s eo f t h en u m b e ro f c o m p a n i e st h a tp u b l i s ht h e i ra p p l i c a t i o n sa sw e bs e r v i c e s , t h es e r v i c e u s e r s r e q u i r e m e n to ft h es e r v i c ef u n c t i o na n ds e r v i c eq u a l n ya g eb e c o m i n gh i g h e ra n dh i g h e r , h o w e v e rs i n g l es e r v i c ef r o ms u p p l i e r si sd i f f i c u l tt om e e tt h er e q u i r e m e n to f t h eu s e a s oi tw i l l c e r t a i n l yc o u r s eo f w e bs e r v i c e sc o m p o s i t i o nw i t hh i g hq u a l i t yi nw e bs e r v i c e st e c h n o l o g y s e r v i c ec o m p o s i t i o ni st oc o m b i n et h er e l a t i v es e r v i c e sd y n a m i c a l l ya c c o r d i n gt ou s 粥 r e q u i r e m e n ta n dp u b l i s ha sf l e ws e r v i c ew h i c hc 锄i m p l e m e n tp a r t i c u l a rt a s k s s ot h a tw ec a nn o t o n l ys a v e st h ed e v e l o p i n gc o s to ft h es e r v i c e s ,b u ta l s oi m p r o v e sr e u s a b i l i t ya n da v a i l a b i l i t yo f t h es e r v i c ec o m p o n e n t sa n de s s e n t i a ls e r v i c e s t h em o s td i f f i c u l t p r o b l e mi n t h es e r v i c e c o m p o s i t i o ni sh o wt oi m p r o v et h eq u a l i t ys e r v i c e i ta i m st of i n dag r o u po fo p t i m a ls e r v i c e u n d e ru s e r s c o n s t r a i n sa n do b t a i nt h es e r v i c ew h i c hm e e t si l g c r $ r e q u i r e m e n tb e s t t h i st h e s i sm a i n l yd i s c u s s e st h ed e s i g na n di m p l e m e n t a t i o no ft h eo p t i m i z a t i o no fs e r v i c e c o m p o s i t i o n w ep r o p o s eaw e bs e r v i c e sc o m p o s i t i o ns t r a t e g yw h i c ht a k e sq o s t h es e l e c t i v e s t a n d a r dt os o l v ea b s e n c eo f s y s t e m a t i ca n de f f e c t i v ee v a l u a t i o na n do p t i m i z a t i o no f t h eq u a l i t y o fw e bs e r v i c e sc o m p o s i t i o ni ne x i s t i n gw e bs e r v i c e sc o m p o s i t eo i lp r o j e c t s n ”s t r a t e g yi s b a s e do nt h eq o sm o d e lo fw e bs e r v i c e s w ef i r s t l yd e s i g na n ds e tu pq o sd b ,t h e nc a l c u l a t e c o m p r e h e n s i v es e r v i c e sq u a l i t yo f w e bs e r v i c e sa sr e f e r e n c e dc r i t e r i o no f w e bs e r v i c e ss e l e c t e d a f t e rt h eo p t i m a ls e l e c t i o no fs i n g l es e r v i c e ,w eg e tt h es h o r t c u tf r o mt h es p e c i f i cs t a t t p o i n tt o t h e s p e c i f i ce n d p o i n t i no w - w s d g ss e a r c h i n g a n dr e a l i z et h ef a r t h e r p e r f o r m a n c e o p t i m i z a t i o no fw 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 yw ei n t r o d u c ec o r r e s p o n d i n gs o l u t i o nt ot h e s e c u r i t ya n dn a n 铀c 时o nm a n a g e m e n tp r o b l e m si nw e bs e r v i c e b a s e do nt h ew e bs e r v i c e sc o m p o s i t i o nf r a m e w o r kp r o p o s e di nt h i st h e s i s ,n e ww e b s e r v i c e sm e e t i n gu s e l t r e q u i r e m e n t sc o u l db eo b t a i n e db ym e a n so fr e q u i r e m e n t sa n a l y s i s ,f i n d o f w e bs e r v i c e sa n do p t i m a lp a t hs e a r c ho f t h es e r v i c e s k e y w o r d s :w s q o s ,w s d g ,e x e c u t ep a t h ,s e r v i c ec o m p o s i t i o n v i 上海大学硕士学位论文 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发 表或撰写过的研究成果。参与同一工作的其他同志对本研究所做的 任何贡献均已在论文中作了明确的说明并表示了谢意。 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即: 学校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学 校可以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 签名:垃导师签名: 上海大学硕士学位论文 1 1 研究背景 第一章引言 在网络经济时代,企业或i t 机构面临的一个基本问题是如何集成独立开发 的不同计算机上的应用程序,并且能在各种软硬件平台上运行这些应用程序。 这就提出了一种新的体系结构要求,它应该有一组通用标准协议用于接口定义、 方法调用、基于互联网的构件以及各种应用的实现,解决异构并面向w e b 的分 布式计算,由此产生了w e b 服务。w e b 服务把面向构件方法和w e b 技术的优 势相结合,利用标准网络协议和x m l 数据格式进行通信,具有良好的普适性 和灵活性。利用互联网巨大的虚拟计算环境,凡按w e b 服务标准创建的系统, 都可对w e b 服务动态定位并与网络上其它的w e b 服务交互,使任何客户可以在 任何地方调用任何服务。w e b 服务突破了传统的分布式计算模型在通信、应用 范围等方面的限制,允许企业丰:个人快速、廉价的建立和部署全球性应用。这 种新的体系结构称为面向服务的体系结构s o a ( s e r v i c e s o r i e n t e d a r c h i t e c t u r e ) 。 它以w e b 服务为基础,使企业摆脱了面向技术解决方案的束缚,轻松应对企业 需求的快速变化。 w 曲服务的出现为企业组织与他们的合作伙伴及客户交互方式提供了新的 契机。w e b 服务作为一种炙手可热的技术,应用到企业的i t 系统和商业流程之 中,并给企业带来直接的经济效益,一直以来得到了国内外企业管理者的推崇。 尽管w e b 服务吸引了越来越多的重视,但它始终存在几个问题。首先,传统的 搜索引擎不支持客户希望的语义查找。其次,主要是单个的服务常常不能满足 客户的需要,客户需要的服务通常是由一系列的不同服务提供者提供的服务组 成。这样,帮助用户发现和组合他们希望的服务,提供增值服务就变得日益重 要【”。另外,随着w e b 服务应甩的深入,企业对服务的速度,服务质量等都提 出了更高的要求,也就是说,面对越来越多的w e b 服务,如何快速发现部署较 高质量的服纠2 1 【3 l ,以满足客户个性化的需求,也是亟待解决的问题。 1 1 1 研究现状 目前,w e b 服务已成为推动电子商务向前发展的最为合理的解决方案,学 术界和业界技术厂商如i b m 、s u n 、m i c r o s o f t 等都对其表示了密切关注,纷纷 加入到w e b 服务的研究和开发中。w e b 服务中的关键技术研究包括服务的发现、 上海大学硕士学位论文 选择和服务组合,目标是提高服务的可扩展性和可重用性,使功能更强的服务 可以通过自动组合其他服务而实现,并且可以随着用户的需求而扩展。事实上, 随着w e b 环境下服务组件数量的快速增长,如何自动地根据服务请求进行服务 组件的动态组合成为一个迫切需要解决的问题。在日益增多的w e b 服务组件当 中,不可避免地大量出现具有相同功能和不同服务质量( q u a l i t yo f s e r v i c e q o s ) 的组件,这些组件会组合出成千上万的具有相同功能与不同q o s 特征的最终服 务,并且随着w e b 服务应用的迅速普及,用户不仅会对w e b 服务的功能提出更 高的要求,也会对服务的可用性、可靠性、价格,服务提供者的声誉和服务性 能等提出更高的要求。如何在海量的组合方案中,快速灵活地为用户选择出具 有离可用性,高可靠性、高性能的满足用户q o s 需求的服务组合是w e b 服务组 合发展的主要目标之一,成为w e b 服务发展过程中急需解决的现实问题。只有 根据用户需求的改变,随需改变服务组合的选择结果,才能极大地提高w e b 服 务应用在深度和广度上的发展1 4 j 。 很多公司已经开始在互联网上发布他们的服务产品,以服务为导向的架构 范例也成为了软件行业新的参考标准。在这样的环境下,服务供应商需要有一 种方法来保证所承诺的服务质量,用户也需要技术支持来寻找和选择最合适的 服务。此外,对服务质量的满意度必须在执行过程中得到保证。组合服务的质 量不仅取决于单个服务的质量,丽且取决于它们如何组合和交互。一些关于服 务质量规范和服务等级协议( s e r v i c el e v e la g r e e m e n t ,s l a ) 的说明已经出现。 例如i b m 的网络服务等级语言( w s l a ) t q 或者网络服务提供语言( w s o l ) f 埘。另一方面,一些w e b 服务控制语言也已作为标准提出,例如w e b 服务的 事务过程处理语言( b p e i a w s ) l i “。 然而,现今的技术仍然缺乏对服务质量估计、管理和监视的支持,事实上, 大多数现有的解决方案主要集中于时间管理和负载平衡,对于关注其它服务质 量标准的w e b 服务系统仍然在实验中1 1 4 】【1 5 】【1 6 1 。 1 1 2 存在的问题 w e b 服务组合的理论、方法和技术受到软件理论、软件工程、人工智能以 及中间件与应用集成等多个领域研究工作的影响和推动,目前已取得了一些有 价值的研究成果。但是从总体上说,由于研究历史不长,服务组合的理论体系、 工程方法以及实现技术仍不成熟,还有许多亟待解决的研究问题。 比较突出的问题就是缺乏面向全局服务质量( q o s ) 目标的组合方案选择的 有效算法。动态的服务选择是服务组合区别于传统应用集成技术的重要特征之 2 上海大学硕士学位论文 一,考虑q o s 的服务选择方法具有现实的商业需求,是目前许多研究关注的重 点。但是目前在这方面的研究主要关注于局部的评价和选择策略,即使用多属 性决策的基本方法评价每个候选服务的优劣,选出来加入到组合中,具有代表 性的是m e t e o r s 。局部选择策略无法保证整个组合服务的q o s 满足给定的 q o s 目标,因此本文采用基于整体优化目标的组合方案选择实现组合服务。虽 然s e l f s e r v 的研究工作中提出使用整体规划方法求解满足q o s 约束的组合 方案,但是对于较大的问题规模,通用的整体规划方法求解效率并不理想。 在w e b 服务组合领域,最有挑战性的问题之一就是w e b 服务组合的q o s 问题。它的目标是在用户的约束条件下寻找一组最优w e b 服务,按照一定规则 组合成为一种新的服务,并且保证最好的q o s 。由于q o s 对于w e b 服务的成功 应用非常关键,因此如何提供具有q o s 保证的w e b 服务正在引起人们的关注 1 3 0 1 。如何从大量的w e b 服务中动态地选择出最能满足用户需求的服务是目前需 要解决的问题。本文基于s o a 的思想,把语义w e b 技术作为技术支撑,将研 究的重点提升到了“如何得到相对最佳服务( 本文后面提到的最佳服务都是指相 对最佳服务) ”的层次上,提出了一种考虑服务的非功能特性因素的直观方法, 发现、组合w 曲服务以满足客户个性化需求 现在已经有很多服务组合的实现方法,比如遗传算法、线性规划算法等。 本文采用比较直观的d i j k s t r a 算法和局部w e b 服务优化选择算法相结合的方法 实现w e b 服务组合双重优化,最终得到满足用户需求的新的最佳w e b 服务。 1 2 论文工作 1 2 1 论文所要解决的问题 现在w 曲服务技术已从基础设施的构建与概念推广阶段向大规模商业应用 阶段快速发展,前者主要是在早期的研究基础上,通过制定基于x m l 的s o a p 、 w s d l 与u d d i 等标准化通信协议与数据描述方式解决了w 曲服务定义、接口 描述、服务查找以及松耦合异构环境下的远程调用与通信等基础问题( 3 0 1 :而后 者主要是解决在商业应用过程中所涉及的服务的重用与合成、安全、q o s 以及 基于长事务的服务管理与调度等更为复杂的应用问题,那么如何重用已有的 w e b 服务,来动态生成新的应用系统以满足企业的动态需求,则成为工业界与 学术界共同关注的问题,且己成为推动w e b 服务技术不断向前发展的技术动力 和研究热点l 川。而对于组合服务中基于q o s 的w e b 服务选择是目前w 曲服务 领域的研究热点之一,国内外的研究组织在这个领域开展了相关的研究工作, 上海大学硕士学位论文 并已取得了一定的研究成果,但距离创建一个完善的、合理的、有效且具有实 用性的解决方案还有相当大的差距,也存在很多挑战。我们以此为基础,以解 决这一关键的科学问题为目标,全面系统地开展相关的研究工作。 综合上面的现状和今后的研究发展方向,结合本课题的总体目标,我们认 为使用直观性很强的图论相关知识以及已有的w e b 服务组合语言进行w e b 服务 组合的性能优化是解决上述问题的一种有效方法。因此论文以面向s o a 的w e b 服务组合框架为基础,采用支持服务自动发现、调用、组合及监控的本体组合 语言o w l s 作为建模语言。结合图论中已有的成果和w e b 服务技术组合w e b 服务。提出了一种q o s 支持的动态w e b 服务组合系统,它具有支持w e b 服务 的动态绑定、w e b 服务最优化选择、服务优化组合以及自动执行的特点。 本文主要论述了如何在直观图的基础上基于w 曲服务质量进行服务组合的 选取。提出了考虑服务质量的服务组合选取系统模型,包括体系结构和工作流 程;设计了系统的服务质量模型,包括单个服务的服务质量和组合服务服务质 量的计算;设计实现了q o sd b 。根据单个w e b 服务的q o s 形成直观的带权依 赖图,然后利用d i j k s t r a 算法在0 w - w s d g 中进行全局组合服务路径选取,最 后把得到的路径上的服务根据组合规则进行组合,形成满足用户需求的最佳服 务。 1 2 2 主要研究工作和贡献 论文在分析分布式计算技术的基础上,对组合w e b 服务领域的基础理论和 实现技术两方面开展了较为深入的研究和探索工作。其中包括: ( 1 ) 分析研究了w e b 服务出现的背景、现状和发展 分布式计算技术所具有的局限性表明,分布式计算技术正从基于组件体系 结构的c o r b a 向面向服务体系结构的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 服 务技术的了解,为论文的理论研究打下了坚实的基础。 ( 2 ) 深入分析了w 曲服务组合领域中的关键问题,总结和提出了一种基于 w s q o s 的动态w e b 服务组合选择的方法。 论文对比分析了服务组合领域中几种不同的组合语言,确立了基于语义 w e b 来实现w e b 服务组合;分析了国内外相关的研究成果,最终总结提出了一 种基于w s q o s 的动态组合服务选择策略。 ( 3 ) 设计实现了w s o q o s 支持的w 曲服务组合性能优化的w 曲服务组合系 统,提出了带权依赖图的概念以及构建方法。以图论为基础,通过从w s d l 文 4 上海大学硕士学位论文 档中抽取w e b 服务的输入输出,建立w s d g ,然后在此基础上进一步获取对应 服务的q o s 性能值,对w s d g 进行加权处理。 ( 4 ) 针对现有w e b 服务组合方案中缺乏w e b 服务组合整体质量的评估和优 化手段问题,提出了一个易于扩展的w e b 服务质量模型,以及服务质量标准的 计算和评价方法。同时设计实现了q o sd b ,指出了组合服务质量的计算方法。 ( 5 ) 提出了优化的带权依赖图o w - w s d ( 3 的概念,并在此基础上利用 d i j k s t r a 算法再次对组合所用w e b 服务进行选择,实现了组合服务质量的第二 次优化操作。 ( 6 ) 分析了服务组合的几种结构,对服务的组合进行了形式化表示。分析 指出了w e b 服务中普遍存在的安全问题和事务管理问题,并介绍了相应的对策。 1 2 3 论文组织结构 本文共分六章,第一章是引言部分,主要介绍了课题的研究背景,现有技 术存在的问题和论文所作的研究工作。第二章是研究基础,详细分析了w e b 服 务的定义,关键技术和w e b 服务组合的概念及其关键技术、相关工作。第三章 是w e b 服务质量模型,首先概要介绍了w e b 服务组合优化的整个流程,然后介 绍了w e b 服务质量的概念,标准及计算方法。第四章基于w s q o s 的服务组合 性能优化,主要介绍了w 曲服务依赖图w s d g 和o w - w s d g 的构建,最佳路 径的搜索。第五章是实例分析,通过实例详细介绍了如何发现最优的用户需求 服务。并针对w e b 服务中存在的其他问题介绍了相应的解决方法。第六章对全 文进行总结并指出了存在的不足和下一步工作目标。 上海大学碗士学位论文 2 1w e b 服务概述 2 l 1w e b 服务定义 第二章研究基础 w e b 服务( w e bs e r v i c e s ,w s ) 通常指通过w e b 提供的各种服务。一个典 型的w s 过程是;一个业务应用通过使用m 1 p 的s o a p 协议向某个指定u r l 上的一个服务发出请求,这个服务接收并且处理该请求后返回一个响应。一个 经常被弓i 用的例子是股票报价服务,服务的请求是询问某股票的当前价格,服 务的响应是该股票的价格。这是最简单的w s 例子,其请求几乎瞬间即可被满 足。请求和响应是同一个方法的不同组成部分。另外一个例子是制订货物高效 配送线路服务。其中,商店发出的请求中包含递送的目的地,服务经过处理后 确定成本最低的配送线路。返回响应的时间取决于线路的复杂程度,因此有可 能发送和响应的操作与请求的分开执行。w s 的消费者通常都是交易者,这使 得w s 的主流是企业对企业( b 2 b ) 间的业务处理。一个企业有可能是某些w s 的提供者,同时又是其他w s 的消费者。例如,对于一个香料批发企业,当它 使用w s 核对香草豆是否有货的时候,其角色是w s 的消费者;当它把不同卖 主的价格提供给未来消费者的时候,其角色又是w s 的提供者。 但是至今w s 还没有统一的定义。通俗地说,w s 是符合某些标准的分布 式应用构件,这些标准使它们能够在外部被访问,并且能够解决某些类型的行 业问题。从专业角度来说,几家大公司的定义如下: ( 1 ) i b m 公司的定义:w s 是一种接口,它描述了一种操作,可以使用标准 的x m l 消息传递技术,经由网络访问这些操作p 2 1 。w s 可完成指定的任务或任 务组。其中接口的实质是隐去了服务的实现细节,以至于它的使用可以独立于 实现它的硬件或软件平台,独立于用来编写它的编程语言,这就允许并促进了 基于w e b 服务的应用成为松耦合的、面向构件的、跨技术的实现 ( 2 ) h i 公司的定义:w s 是能通过互联网解决问题,完成一定任务( 或事 务处理) 的一种服务 o ) m i c r o s o f t 有两个w s 的定义i j 列: 第一个是:w s 是一个向其他应用提供数据和服务的应用逻辑单元应用 程序通过无处不在的w e b 协议和数据格式访问w s ,如h r r p 、x m l 和s o a p , 6 上海大学碗士学位论文 而无须关心每个w s 是如何实现的把基于构件开发的长处与相结合,wsw e b 并且是n e t 编程模型的基石。 另一个定义是:w s 是可编程的应用逻辑,可使用标准的i n t e r a c t 协议对其 进行访问。它是将基于构件开发的长处与w e b 相结合。类似于构件,w s 代表 了黑匣子功能,可以被重复使用而不必关心服务是如何实现的,但是与构件技 术不同的是w s 不是通过专用的对象模型协议访问,而是通过w e b 协议和数据 格式来访问的。因此w s 的消费者可以位于任何平台,也可以使用任何编程语 言来实现,只要它们能够创建和消费w s 接口所定义的消息。 ( 4 ) s u n 公司的定义:w s 应具有下列5 大特征:通过w e b 可被访问; 一个x m l 的对外接口;通过注册可以定位;在w e b 协议的标准上,使用 x m l 消息通信;在系统之间支持松散的耦合。 ( 5 ) 北美研究院定义 3 3 1 :w s 是一系列标准和正在发展中的标准,它们是由 w o r l d w i d ew 曲c o n s o r t i u m ( w 3 c ) 设计和指定的,可用来促进跨平台的程序对 程序之间的通信。再具体一些,w 3 c 目前已经指定了一个模板( w e b 服务描述 语言w e bs e r v i c e sd e s c d p t i o nl a n g u a g e ,w s d l ) 和一个过程调用协议( 简单 对象访问协议s i m p l eo b j e c t a c c e s sp r o t o c o l ,s o a p ) 作为“正式的”w e b 服务标准。 ( 6 ) 在w s 的定义上比较精简的是世界万维网组织w 3 c 提供的定义p 4 j : w s 是由u r i 标识的一个软件系统,其公共接口和绑定是用x m l 定义和描述 的,可以被网上的其他软件系统发现,并使用基于x m l 的消息和定义中描述 的方式来调用。这个定义主要强调的是w e b 服务能够:“定义,描述和发现” 总之,w s 是w e b 应用的新标准,是自包含、自描述的应用模块,一旦发 布,其他应用( 或服务) 就可以调用。综上所述,可以说w e b 服务是一种按标 准语言描述并通过网络发布、发现和调用的自包含、自描述、松散耦合的构件。 2 1 2w e b 服务的优势 w e b 服务是一种优秀的分布式计算技术,将成为下一代分布式系统的核心。 它是基于组件的分布式技术变革的必然产物,它具有如下主要特征: ( 1 ) 完好的封装性。对于w e b 服务的消费者而言,能且仅能看到w e b 服务 提供的功能列表。所有的组成部分都是服务。这样就降低了系统的复杂性,对 于服务的消费者而言就不用担,f i , 所调用服务的实现细节及运行的平台。 ( 2 ) 松散耦合性。w e b 服务为企业应用提供了个灵活的、松散耦合的分 布式计算环境;同时,w e b 服务屏蔽了底层的企业应用平台,具有良好的平台 无关性;并且通信数据都是标准的x m l 数据,具有良好的语言无关性,为企 上海大学硕士学位论文 业应用集成提供了一个便捷而快速的途径。 ( 3 ) 使用标准协议。w e b 服务是建构在x m l 上的应用,其使用的协议也是 开放的标准协议:对w 曲服务功能的描述刻画采用标准的w 曲服务描述语言 ( w s d l ) :服务之间的通信采用简单对象访问协议( s o a p ) ,而s o a p 本身 是基于x m l 和h t t p 、s m t p 等标准协议的;在整个w e b 服务的体系结构 中,w e b 服务注册中心采用的是统一描述、发现和集成协议( u d d i ) 。 ( 4 ) 高度可集成能力。由于w e b 服务采取简单的、易理解的标准w e b 协议 作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是 c o r b a 、d c o m 还是e j b 都可以通过这一标准协议进行互操作,实现了在当 前环境下最高的可集成性。 w e b 服务是以独立于平台的方式,通过标准的w e b 协议,由程序访问的应 用程序逻辑单元。这些程序可以是w e b 应用程序、w i n d o w s 应用程序或者如图 2 1 所示的任何类型的应用程序。 图2 - 1w e b 服务调用示例图 应用程序可以使用公司内部的w e b 服务,也可以使用合作方提供的外部 w e b 服务。或者通用的服务模块。w e b 服务还可以由其他w e b 服务使用。 2 2w e b 服务关键技术 g a r t n e r 将w e b 服务定义为“通过标准i n t e m e t 技术与另一台计算机进行动 态交互的松耦合软件组件”f o r r e s t e r 研究所定义服务为“人、系统和应用程序 之问的自动化连接,它将业务功能的元素表示为软件服务,并创造新的业务价 值”,虽然不同组织定义w e b 服务的方式不同,但从本质上讲,它是使用普遍 使用的协议与其它离散软件组件进行交互的软件组件。在整个w e b 服务体系结 构中,关键技术就是如何描述、发布、发现服务以及消息的传输。 g 上海大学硕士学位论文 2 2 1w e b 服务的体系结构 w e b 服务的体系结构是一种分布式的、用来促进跨平台的点对点程序间的 通信。服务“a ”( 一个“请求者”应用程序) 使用一个w e b 服务编程接口( s o a p ) 和一个注册中心( u d d i ) 来定位服务“b ”,使用w s d l 来帮助程序确定互相 通信的参数,所有这些都发生名e i n t e m e t 上( 使用h t t p 作为通信协议) 。要解 决这些通信,最重要的概念就是将紧密耦合的应用程序变成松散耦合的应用程 序。紧密耦合的应用程序的任何一方崩溃,则双方的应用程序都会崩溃,而这 种情况通过w e b 服务可以很容易解决,因为可以动态查找替补应用程序,并且 可以自动运行。 w e b 服务体系结构碍j 就是把所有的应用实体都抽象成服务,主要基于三种 角色( 服务供应商,注册中心和服务请求者) 进行交互。交互具体涉及到发布、 查找和绑定三种基本操作。w e b 服务体系结构模型图如图2 2 所示。 圈2 - 2w e b 服务体系结构 三个角色如下: ( 1 ) 服务供应商( s e r v i c ep r o v i d e r ) 从商务角度看它是指服务的所有者,从 体系结构上看它是指提供服务的平台。它创建w 曲服务并通过服务注册中心 ( s e r v i c er e g i s t e r ) 注册该项服务,从而把w e b 服务发布到i n t e r n e t 上。 ( 动服务请求者( s e r v i c er e q u e s t e r ) 需要某种特定服务的企业或个人,通 过搜索服务注册中心( s e r v i c er e g i s t e r ) 所维护的注册表以找到所需的w e b 服 务,然后连接并使用该服务。从商务角度看是指需要请求特定功能的企业,从 体系结构看是指查找和调用服务的客户端应用程序。 上海大学碗士学位论文 ( 3 ) 服务注册中心( s e r v i c er e :g i s t e r ) 是指用来存储服务描述信息的信息仓 库( r e p o s i t o r y ) 。负责为服务提供方发布服务,为服务请求方查找服务,并且 将获取服务的信息绑定给请求方。 它们三者的关系在于:服务供应商将服务部署在w e b 上,并使用w e b 服 务描述语言( w s d l ) 来描述给定w e b 服务所能提供的功能;服务请求者通 过a p i 向服务注册中心寻求它所需要的服务,在u d d i 的帮助下( 返回搜索结 果) ,使服务请求者和服务供应商找到彼此,实现服务请求者与特定的服务供应 商绑定。 与此相关的三种基本操作是t 发布( p u b l i s h ) 、查找( f i i l d ) 和绑定( b i n d ) 。 ( 1 ) 发布( p u b l i s h ) 服务供应商需要将服务进行一定的描述并发布到注册 服务器上。在发布操作中,服务供应商需要通过注册服务器的身份验证才能对 服务描述信息进行发布和修改。 ( 2 ) 查找( f i n d ) 服务请求方根据注册服务器提供的规范接口发出查询请求, 从而获取所需服务的相关信息。在查找操作中,一般有两种查找模式。一种是 浏览模式( b r o w s ep a t t e r n ) ,即服务请求方可以根据通用的分类标准来浏览或 者通过一些关键词来搜索;另一种是直接获取模式( d r i l ld o w np a t t e r n ) ,即通 过唯一的关键词直接得到特定服务的描述信息,其查找结果是唯一的。 ( 3 ) 绑定( b i n d ) 服务请求方通过分析从注册服务器中得到的服务绑定信息, 例如服务的访问路径、服务调用的参数、返回结果、传输协议、安全要求等, 对自己的系统进行相应配置,进而可远程调用服务供应商所提供的服务。 目前访问w e b 服务的基础结构由s o a p 、w s d l 和u d d i 构成i l 。这点可 以参考w e b 服务协议栈。如图2 - 3 所示。 图2 - 3w e b 服务协议栈 其中传输协议是广泛使用的因特网标准: r r r p 、s m t p 和f t p 。中间部分 是目前w e b 服务的相关协议标准,包括简单对象访问协议s o a p 、统一描述, 1 0 上海大学硬士学位论文 发珊集成协议u d d i 、w e b 服务描述语言w s d l 。在协议标准之上是支持复杂 工作流和业务逻辑的工作流建模语言,如美国d a m l 计划提出的w e b 服务本 体语言o w l - s ( w e bo n t o l o g yl a n g u a g ef o rs e r v i c e s ) 、i b m 的w e b 服务流语言 w s f l ( w e bs e r v i c e sf l o wl a n g u a g e ) 、微软用于w e b 服务业务过程之间信息交 换的x l a n g 及i b m 和微软等共同提出的业务流程执行语言b p e l 4 w s ( 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 bs e r v i c e s ) 等。而右边三部分是各 个协议层的公用机制,包括安全、服务质量及管理机制。 w e b 服务建立在一系列开放的i n t e r n e t 标准之上,其基本的协议规范包括 图2 3 中的s o a p 、w s d l 和u d d i 3 6 l f 3 7 l 【3 引。下面分为三部分分别进行介绍。 2 2 2s o a p 即简单对象访问协议,它是一种在松散的、分布的环境中用于交换x m l 编码信息的轻量级协议p 川。s o a p 协议是基于x m l 的,可以对等地交换结构 化、类型化的信息。s o a p 协议本身并不定义任何语义,它只是定义了一种简 单的机制,即可以通过模块化的封装机制和对应用定义的数据进行编码的编码 机制来表示应用语义。 s o a p 协议由四部分组成:消息框架( m e s s a g i n gf r a m e w o r k ) ,定义了一整套 的x m l 元素用于封装在应用之间传递的任意x m l 消息;处理模型( p r o c e s s i n g m o d e l ) ,描述了s o a p 节点如何处理单一的s o a p 消息; 协议绑定( p r o t o c o lb i n d i n g ) ,描述如何通过各种协议 在s o a p 节点之间交换s o a p 消息,它的描述主要依赖 于具体绑定的协议;可扩展性模型( e x t e n s i b i l i t y m o d e l ) ,描述了如何扩展s o a b 模块及如何与处理模 型和协议绑定框架交互。 s o a p 协议的核心是消息框架,如图2 - 4 所示, s o a p 消息包含一个必需的s o a pe n v e l o p e :而且s o a p 协议把控制信息( 头部) 和s o a p 体分开表示,即一个 可选的s o a p 头和一个必需的s o a p 体组成的文档。 ( 1 ) s o a p 信封( s o a pe n v e l o p e ) ,表示该消息的 x m l 文档的根元素 消息s o a p 信封 ( e n v e l o p e ) 参数( r e f e r e n e e s s o a p 消息头 ( h e a d e r p 参数( r e f e r e n c e s ) 头刚g ( h e a d e rb l o c k ) 参数( r e f e r e n e e 幻 s o a p 消息体( b o d y p 参数( r c 缸代n c 嚣 消息做b o a yb l o c k l 图2 4s o a p 消息组成 ( 2 ) s o a p 头( s o a ph e a d e r ) ,提供了一个通用的 控制信息容器。它是可选的,包括对于应用程序可能非常重要的附加信息。s o a p 头的子元素称为h e a d e rb l o c k ( 3 ) s o a p 体( s o a pb o d y ) , 表示消息负载,是可以包含任意命名空间中 上海大学硕士学位论文 任意数量元素的容器。此外还定义了s o a p 体的子元素f a u l t 用于错误报告。 通过s o a p 消息调用w e b 服务方法,需要有以下信息:端点位置、方法名 称、参数名称,值以及头部数据等。 2 2 ,3 晡,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 ) ,是一 种用于描述w e b 服务的基于x m l 的语言。 w s d l 文档是一个“l 文档,它描述一个s o a p 消息集并为用户提供同 w s 交互所必需的信息,它描述了服务的定位信息、公共可用操作、服务的函 数( 或方法) 以及所有x m l 消息的数据类型信息和同服务交互需使用的通信 协议等。w s d l 还指定了请求消息必须包含哪些内容以及响应消息的模式。使 用w s d l ,用户可以定位w s ,调用服务的任何公共函数。 所有的w s d l 文档都包含一个称为根元素的定义元素,包含这个元素在内, w s d l 使用下面五类元素来描述一个w s : 类型( t y p e ) ,提供消息交换中的数据类型定义。 消息( m e s s a g e ) ,描述用户和服务之间交互的消息,还描述操作的数据元 素例如函数参数。一个消息包含多个逻辑部分,每一部分都和某一类型的定义 相关。 端口类型( p o r tt y p e ) 定义了一个w s 可以执行的操作以及相关的输入输 出消息。w s d l 支持四种基本的操作:o n e - w a y ,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 a n d n o t i f i c a t i o n 。作为抽象的端口定义,端口类型不包含任何与具体传输协议和 数据格式编码规范相关的内容。 绑定( b i n d i n g ) ,是通过指定操作的具体协议以及指定消息的数据格式规范 而得到的具体化后的端口定义,定义了操作实际上是如何传输的;以及端口类 型部分每个操作的详细协议和消息格式 服务( s e r v i c e ) ,相关端口的集合。邸将所有不同的端口及其具体位置集合 在一起,也就是说服务部分告诉用户,他们可以使用不同的协议访问w e b 服务。 一个完整的w s d l 文档是由一个服务接口和一个服务实现文档组成的。由 于服务接口表示服务的可重用定义,它在u d d i 注册中心被作为t m o d e l 发布。 而服务实现文档包含实

温馨提示

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

评论

0/150

提交评论