(计算机应用技术专业论文)基于qos的web服务的选择及合成.pdf_第1页
(计算机应用技术专业论文)基于qos的web服务的选择及合成.pdf_第2页
(计算机应用技术专业论文)基于qos的web服务的选择及合成.pdf_第3页
(计算机应用技术专业论文)基于qos的web服务的选择及合成.pdf_第4页
(计算机应用技术专业论文)基于qos的web服务的选择及合成.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机应用技术专业论文)基于qos的web服务的选择及合成.pdf.pdf 免费下载

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

文档简介

摘要 摘要 硕士研究生:佟萍导师:王红兵 东南大学计算机科学与工程学院 随着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 fs e r v i c e ) ,所以q o s 成为w e b 服务选 择的重要依据。本文在分析了相关研究现状的基础上,开展了以下几个方面的研究: 1 w e b 服务扩展机制的研究 针对目前的w e b 服务描述语言( w s d l ) 和w e b 服务发布发现机制( u d d i ) 并没有提供对q o s 属 性描述的支持,分别对其扩展q o s 属性信息,使得基于q o s 信息对服务进行选择成为可能; 2 基于q o s 的w e b 服务选择算法的研究 本文把w e b 服务合成中服务的选择问题看成组合优化问题,设计了满足用户约束的q o s 全局最优 问题模型。然后提出了用模拟退火算法和遗传算法进行求解的思路,并对这两种算法进行比较; 3 基于u m l 的w e b 服务合成的研究 以一个旅游服务为例,详细介绍了利用u m l 进行w e b 服务合成的步骤及过程,并对该方法做出了评 价。 4 设计并实现了一个基于q o s 的w e b 服务选择系统( q s b w s s ) 。 关键词:w e b 服务,q o s ,w e b 服务合成,模拟退火算法,遗传算法,u m l 东南大学硕上学位论文 a b s t r a c t m s c a n d i d a t e :t o n gp i n g s u p e r v i s o r :w a n gh o n g - h i n g s c h o o lo f c o m p u t e rs c i e n c e & e n g i n e e r i n g s o u t h e a s tu n i v e r s i t y , c h i n a w i t ht h ed e v e l o p m e n to fi n t e m e 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 dc o m p u t i n gt e c h n o l o g i e s h 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 na n v i r o n m e m t h e r e f o w e bs e r v i c e sc o m ef o r t h l a tb e c o m e t h ef o c u si nt h ea r e ao fi n d u s t r ya n da c a d e m i aw i t ht h ea d v a n t a g e s ,s u c ha ss e l f - c o n t a i n e d , m o d u l a r i z a t i o r t , l o o s ec o u p l i n ga n ds t a n d a r d i z a t i o n n o w a d a y s ,c o m p o s i t i n gp r e v i o u sa v a i l a b l ew e bs e r v i c e si n t oi n c r e m e n t a l w e b r v i c e sw i 也m o r ep o w e r f u lf u n c t i o n sh a sb e a nan e wh o t s p o t a n dt os e l e c tw e bs e r v i c e sd u r i n gt h e p r o c e s so f c o m p o s i t i n gt h e mi sa c h i e f t a s k t h en u m b e ro fw e bs e r v i c e si s d r a m a t i c a l l yi n c r e a s i n g w i t ht h e p o p u l a r i t y o fw e bs e r v i c e s t e c h n o l o g y , w e bs e r v i c e sp r o v i d i n gt t l es a m eo rs i m i l a rf u n c t i o nw i l lm u s h r o o ms u b s t a n t i a l l y s o i ti sn e e d e dt o t l l i n ka b o u ts o m en o n f u n c t i o n a la t t r i b u t e ss u c ha sp r i c e 、r e s p o n s et i m e ,r e p u t a t i o nf o rt h o s ew e bs e r v i c e sw i t h t h es a m ef u n c t i o nw h e ns e l e c t i n gt h e m ,n a m e l yq o s ( q u a i i t yo fs e r v i c e ) s oq o sb e c o m e st h ei m p o r t a n t c r i t e r i o no fw e bs e r v i c e ss e l e c t i o n t h ep a p e rr e s e a r e b st h ef o l l o w i n ga s p e c t so nt h eb a s i so fa n a l y z i n gr e l a t e d s t a t u sq u o 1 t h er e s e a r c ha b o u tt h ee x t e n s i o nm e c h a n i s mo f w e bs 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 sd e s c r i p t i o nl a n g u a g e ( w s d l ) a n dw e bs e r v i c e sr e g i s t r a t i o na n dd i s c o v e r yd o n tp r o v i d e s u p p o r tf o rd e s c r i p t i n gq o sa t t r i b u t e sc u r r e n t l y , t h ep a p e rm a k e sw e bs e r v i c e ss e l e c t i o nb a s e do nq o s i n f o r m a t i o nb e c o m ep o s s i b l eb ye x t e n d i n gq o si n f o r m a t i o ni nt h e mr e s p e c t i v e l y ) 2 t h er e s e a r c ha b o u tq o s - b a s e dw e bs e r v i c e ss e l e c t i o na l g o r i t h m s t h ep a p e rv i e w sw e bs e r v i c e ss e l e c t i o np r o b l e mi nw e bs e r v i c e sc o m p o s i t i o na sc o m b i n a t i o n a l o p t i m i z a t i o np r o b l e ma n dd e s i g n sq o s - g i o b a l l yo p t i m a lm o d e lw h i c hc a ns a t i s f yt h eu s e r sc o n s t r a i n s 。t h e n a d o p t ss i m u l a t e da n n e a l i n ga l g o r i t h ma n dg e n e t i ca l g o r i t h mt or e s o l v er e s p e c t i v e l y , a tl a s tp l e n t i f u l e x p e r i m e n t sa r em a d et oc o m p a r et h i st w oa l g o r i t h m s 3 t h er e s e a r c ha b o u tw e bs e r v i c e sc o m p o s i t i o nb a s e do nu m l t h ep a p e rd e t a i l e d l yi n t r o d u c e st h es t e p sa n dp r o c e s s e su s i n gu m lt oc o m p o s i t ew e bs e r v i c e sb yat r a v e l s e r v i c ea se x a m p l e ,t h e nm a k e se v a l u a t i o nt ot h i sm e t h o d 4 d e s i g n sa n dr e a l i z e saq o s - b a s e dw e bs e r v i c e ss e l e c t i o na n t e t y p es y s t e m k e yw o r d s :w e bs e r v i c e ,q o s ,w e bs e r v i c ec o m p o s i t i o n ,s i m u l a t e da n n e a l i n ga l g o r i t h m , g e n e t i c a l g o r i t h m ,u m l i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写 过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢 意。 研究生签名: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸 质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包 括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名: 丝莲 导师签名 日期:嬲早 瑶 第l 章前言 1 1 研究背景 1 1 1w e b 服务的产生 第1 章前言 网络时代的兴起推动了电子商务的应用,也为企业和i t 机构赢得了市场商机,但同时也使它们 面临一个基本问题,那就是如何集成独立开发的不同计算机上的应用程序,并且能在各种软硬件平 台上运行这些程序。传统的分布式对象模型c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 或 d c o m 已经不适用于极端异构的互联网环境,其原因就在于【1 1 : 1 它们的体系结构是各自独立的,协议也是各自私有的,不同模型的应用系统之间通信十分不 便。 2 客户端与服务器端之间在语义上是紧密耦合,一旦服务器端的接口或执行方式发生变化,客 户端将无法执行。 3 客户与服务器之间有较大的网路通信量与交互信息。如c o r b a 、d c o m 、r m i 等模型要求 必须在对等体系结构间才能进行通信。在电子商务市场中,要求所有的参与者都采用同一个基于某 种语言和平台的模型是很凼难的事情。 现在的电子商务要求动态,也就是以b 2 b 形式,通过调节互联网标准和通用基础设施,为内部 和外部的企业计算创造最佳效益的新一代电子商务。由于它着重于程序对程序的交互作用,而不是 像b 2 c 那样着重于人和程序之间的交互,所以就要求一种新的体系结构。这种体系结构采用通用的 标准协议,可以解决异构并面向w e b 的分布式计算,由此产生了w e b 服务。 w e b 服务结合了面向构件和w e b 技术的优势,利用标准网络协议和x m l 数据格式进行通信, 具有良好的普适性和灵活性。它解决了传统中间件和传统集成技术的局限。w e b 服务具有如下的特 点口l : 一互操作性 w e b 服务以s o a p 为基础,可以使用任何语言来编写,开发者无须更改自己的开发环境就可生 产和使用w e b 服务。w e b 服务之间可以交互。 二应用普遍性 w e b 服务使用h t t p 和x m l 进行通信,因此,任何支持这些技术的设备都可以拥有和访问w e b 服务。 三低成本 开发者可以利用工具快速创建和部署w e b 服务。有些工具箱还可以使用已有的构件和j a v a b e a n 方便地组成w e b 服务。 总之,w e b 服务提供了跨平台、操作系统、编程环境的互操作性,它使用松散耦合集成模式允 许异构系统柔性集成,比d c o m 、r m i 、和c o r b a 要好。它能帮助简化b 2 b 交易,减少花费,增 强企业竞争力,扩大企业市场商机,以至于繁荣社会经济。因此,w e b 服务是当今网络经济模式的 必需。 1 1 2w e b 服务的合成 w e b 服务的主要优点是具有跨平台的便捷性和快速可集成性,它的主要目的是基于w e b 服务实 现对异构系统的有效集成,实现商务合作,因此它非常适合于当今商务应用的集成。然而一个单独 的w e b 服务很可能限制其所拥有的能力,所以就希望把现有的w e b 服务进行合成,从而获取一个 东南大学硕上学位论文 增值的w e b 服务【j l 。w e b 服务合成是将已存在的基本服务按需、动态地集成为一个功能强大的商务 服务,即为消费者提供增值的服务,同时也为服务提供者带来更多的商机。 w e b 服务合成技术在很多领域都可以用到,比如一个由订单服务、销售服务、银行转帐服务 和送货服务集成的一个订购服务,其中各服务组件隶属于不同的服务提供者,但订购集成服务呈现 给服务消费者的是一致的接口,集成服务根据消费者的请求,可按需集成自治的w e b 服务。 目前,基于w e b 服务合成的研究主要体现在如下几个方面:( 1 ) 基于u d d i 扩充服务语义信 息,以提高服务描述和发现的精确度;( 2 ) 研究支持w e b 服务合成的相关框架,提供支持w e b 服 务合成的平台系统1 4 j ;( 3 ) 指导性地指出了支持w e b 服务合成的相关研究热点1 5 1 ,如服务质鼍( q o s ) 等问题。然而为有效地实现w e b 服务合成,其中存在的诸多关键问题尚未解决或没有很好的解决, 都需要研究者们进行深入的研究m 。 1 2 研究现状 1 2 1w e b 服务合成流程语言的研究 目前,在w e b 服务合成语言方面走在前面的有两个组织:t h e b u s i n e s s p r o c e s s m a n a g e m e n t ( b p m ) 组织和t h ew o r k f l o w 组织,他们分别开发了b p m l 、b p m n 、b p e l 4 w s ,w s c l 、w s c i 、x l a n g 、 x p d l 。这些合成语言大多数是以x m l 为基础的,x m l 有它自身的优点,但对于一个非x m l 专 家来说,却是不容易读写的;另一方面,这些合成语言并没有形成共同的标准,它们本身都不够成 熟;因此,就需要一种成熟的已成标准的图形化建模语言作为w e b 服务合成的建模语言。针对这个 问题,许多研究提出用u m l 作为合成的建模语言,并进行了一系列的理论分析,但他们在合成的 过程中并未涉及根据服务质量( q u a l i t yo f s e r v i c e ) 进行服务的选择问题,而服务选择是合成服务的 关键。 1 2 2w e b 服务合成的o o s ( q u a l i t yo fs e r v i c e ) 研究 国际质量标准组织i s 0 8 4 0 2 ( i s 0 9 0 0 0 的一部分) 对质量( q u a l i t y ) 的定义为:产品或服务的一组 固有特性满足要求的程度。在w e b 服务中,对q o s 的定义为:由w e b 服务提供的影响服务质量的 一组非功能属性,比如价格、响应时间、可靠性等1 7 1 。 针对q o s 方面的研究,主要有q o s 模型设计、q o s 管理口1 、q o s 发现【7 ,9 1 、o o s 最优化选择i “ ”1 ”等,接下来将介绍q o s 方面的一些相关工作。 文献”给出了w e b 服务的q o s 评价模型中应包括的因素,如价格、响应时间、可靠性和可信 性。 文献”针对单个w e b 服务的q o s 观点,并对可用性、安全性,响应时间和吞吐量进行定义, 然后分别从w e b 服务提供者和w e b 服务使用者的角度对q o s 进行阐述,接着以一个旅游站点分别 调用三个w e b 服务为例,根据每个w e b 服务被调用的次数,给出吞吐量的计算方法,最后该文对 w e b 服务事务方面做了一些简要的讨论。 文献i l ”则从合成w e b 服务的角度考虑q o s ,然后针对合成w e b 服务中的五种方式,比如概率 调用、并行调用、顺序调用等,说明在每种方式中响应时问和价格的计算方法。 文献”首先讨论了w e b 服务合成中的七种不同的合成模式,然后从执行时间、价格、加密等级, 吞吐量、正常运行时间概率方面给出在每种合成模式下聚合q o s 的计算方法。 文献”重点考虑价格、响应时间、服务容量三个属性,把服务选择问题建模成多选择背包问题 ( m c k p ) ,相应地提出自己的效应函数,然后用穷举法、动态规划法和由d a v i dp i s i n g e r 在文献1 1 8 1 中介绍的解决m c k p 的m i n i m a l 算法求解。该文没有给出动态规划算法的具体求解方法,主要介绍 第1 章前言 了d a v i dp i s i n g e r 的算法,该算法首先使用分割算法求解线性多选择背包问题( l m c k p ) 获得初始解, 然后再使用动态规划算法求解m c k p ,它对解决m c k p 是很有效的,可在多项式时间内求解,但求 解过程有些繁琐。 文献i i ”从价格、响应时间、可靠性、可用性、信誉五个方面建t r q o s 合成的标准,主要提出基 于整数线性规划算法的选择方法。它给出了合成w 曲服务中各q o s 属性的计算方法,设计了效戍函数, 并考虑到用户提出的各种约束。该算法用i b m 公司的商_ | j 软件o s l ( 实现分枝限界算法的软件) 实 现。而参考文献口w 可知,分枝限界算法的运算时间囿界于问题规模l 的指数函数,这里l = 耐m + 1 ) l o g ,n 表示问题维数,m 表示约束数,o 表示所有输入系数的最大绝对值。当维数或约束数为一 固定值时可以对小规模问题有效求解,但在最坏情况下的计算时间是问题规模的一个指数函数1 2 “, 因此当问题规模增大时就难以在合理时间内求解。 文献口z j 在文献【l9 1 的基础上的建立了开放、公平、动态、可扩展的q o s 计算模型,不仅考虑了一 些通用的q o s 属性,同时考虑了和业务相关q o s 属性,比如补偿率和惩罚率等,并设计了一个q o s 注册器,用来收集来自执行监控器的服务提供者的质量信息和用户反馈的质量信息。其q o s 属性的 计算方法仍采用文献i l ”的计算方法,但没有给出具体如何实现的算法。所做实验也仅考虑单个w e b 服务的性能,没有从合成的角度考虑。 文献口”考虑了w e b 服务合成过稃中接口匹配的问题,提出w e b 服务三层组织模犁,基于加权 多阶段图选择最优的服务。但它没有提出自己的q o s 模型,也没有考虑约束问题,对所提的算法没 有用实验验证。 1 3 本文的工作 根据上面对研究现状的分析,本文的研究目标拟在前砸的研究基础之上,扩展w e b 服务描述发 布机制,使其可以描述并发布服务的q o s 属性信息,并在此基础上进行服务选择与合成的研究。 具体的研究内容包括: 1 扩展w e b 服务描述发布机制,使其可以描述发布服务的q o s 信息。 2 基于合成服务的q o s 进行w e b 服务选择算法的设计。 3 刑用u m l 对被选的服务进行合成,并结合一个旅游服务的例子进行验证。 4 设计一个基于q o s 的w e b 服务选择原型系统。 1 4 本文的内容组织 本文共分七章,其余各部分的内容安排如下: 第2 章介绍了w e b 服务的一些关键技术; 第3 章介绍了对w e b 服务进行扩展的方法: 第4 章介绍了基于q o s 进行w e b 服务选择算法的设计、分析及比较,其中涉及到模拟退火算 法、遗传算法的介绍,提出了问题模型的设计及求解思路,以及它们之间在运行时间和解的质量上 的比较; 第5 章以一个旅游服务为应用场景,介绍了w e b 服务合成的方法; 第6 章介绍了一个基于q o s 的w e b 服务选择原型系统的设计及实现; 第7 章总结全文及对进一步工作的展望。 东南大学硕士学位论文 2 1w e b 服务的基本概念 2 1 1w e b 服务的定义 第2 章w e b 服务概述 w e b 服务通常指通过w e b 提供的各种服务。一个典型的w e b 服务过程是:一个业务应用通过 使用h r r p 的s o a p 协议向某个指定u r l 上的一个服务发出请求,这个服务接收并且处理该请求 后返同的一个响应。一个经常被引用的例子股票报价服务,服务的请求是询问某股票的当前价格, 服务的响应是该股票的价格,这是最简单的w e b 服务的例子。 w 3 c 对w e b 服务的定义为”j :w e b 服务是一种支持具有互操作性的机一机之间通过网络进行 交互的软件系统。它有一个机器可处理的描述接口( 特别地,w s d l ) ,其它系统使用服务描述所规 定的s o a p 消息与w e b 服务进行交互。通常情况下,这种交互之间的数据传输是以x m l 文档的格 式,结合其它w e b 相关的标准,通过与h t t p 协议进行绑定实现的。 w e b 服务是w e b 应用的新标准,是自包含、自描述、松散耦合的模块化的商业应用,具有开放 的、面向i n t e m e t 和基于标准的接口,可以通过w e b 被发布、定位和调用口”。 2 1 2w e b 服务的体系结构模型 仁。j 户一弋 舌毒 w e b 服务体系结构中的三个角色如下: 1 服务提供者( s e r v i c ep r o v i d e r ) 它负责使用w s d l 语言来描述和定义那些可以通过编稃来访 问的应用程序的功能,在u d d i 注册中心发布这些服务的信息,使其可以被其它应用访问,并接收 和处理w e b 服务请求者的调用。总的来说,它主要执行两方面的操作:生成服务和注册服务。 2 服务请求者( s e r v i c er e q u e s t e r )提出特定服务要求的用户,也称服务消费者。通过服务 提供者提供的描述中了解w e b 服务的描述信息,从而对所需服务进行绑定( b i n d ) 。从体系结构的 角度看,这是寻找并调用服务,或启动与服务的交互的应用程序。服务请求者的角色可以由浏览器 来担当,由人或由无用户界面的程序( 如另外一个w e b 服务) 来控制它。 3 服务代理( s e r v i c eb r o k e r ) 它是指用来存储服务描述信息的信息仓库( r e p o s i t o r y ) ,服务 4 第2 章w e b 服务概述 提供者通过它可以发布( p u b l i s h ) 服务,服务请求者通过它可以查询( f i n d ) 所需的服务,并获得 该服务的绑定信息,进而绑定到所需w e b 服务。服务代理的典型例子是u d d i 。 w e b 服务体系结构中的三个基本操作如下: 1 发布( p u b l i s h ) 服务提供者根据需求定制好了服务以后,还必须把服务发布剑注册服务器 上,这样便于服务请求者的查找访问。在发布过程中,服务提供者需要通过注册服务器的身份验证 才能对服务描述信息进行发布和修改。 2 查找( f i n d ) 服务请求者根据注册服务器提供的规范接口发出查询请求,从而获取所需服 务的相关信息。在查找操作中,一般有两种查找模式。一种是浏览模式( b r o w s e p a t t e r n ) ,即服务请 求方可以根据通_ j 的分类标准来浏览或者通过一些关键词来搜索,逐步缩小查找的范围,直至找到 满足需要的服务,其查找结果是一系列服务的集合;另一种是直接获取模式( d d d o w np a n e m ) , 即通过唯一的关键词直接得到特定服务的描述信息,其查找结果是唯一的。 3 绑定( b i n d ) 服务请求方通过分析从注册器中得到的服务绑定信息,例如服务的访问路径、 服务调用的参数、返回结果、传输协议、安全等要求,对自己的系统进行相应配置,进而可远程调 用服务提供者所提供的服务。 2 2w e b 服务的相关技术 2 2 1x m l 简介 w e b 服务与x m lw e b 服务这两个术语常常可以替换使用,由此可见w e b 服务对x m l ( 可扩 展标记语言) 的依赖性。实际上,如果没有x m l ,当前这种形式的w e b 服务也就无法存在。x m l 为w e b 服务提供了一种平台无关的、灵活且可扩展的标记技术。因此,在介绍w e b 服务的相关规 范之前,有必要了解一下x m l 。 可扩展标记语言( 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 ) 1 1 标准口1 是一个基于文本的w o r l dw i d e w e b 协会( w 3 c ) 规范的标记语言,是一种i n t e m e t 上的新的数据交互标准,它可以更多地反映文档的 内容和逻辑结构信息,用户可以根据想要表示的结构和内容对它的标记进行扩展,而这些都是h t m l 做不到的,所有的这些特性使它成为w e b 服务技术的基础。为了说明它是如何描述应用数据的,本 文举一个x m l 描述网上书店的小实例。 w e bs e r v i c e 基础教程叫名称 蔡月茹作静 2 8 0 0 叫售价 叫推荐书 x m l 是一种自描述的数据共享机制,它有如下特点: 1 自描述性:这个特性使差异性可以存在,使计算机可以在没有人为干预的情况下,理解数据 的含义。 2 扩展性:任何人都可以根据自己的应用需要定义相应的x m l 标签来表达信息的结构和类型。 3 层次结构:能够保证信息的层次性描述。比如,一个商品可以有品名、商品代码和价格,价 格又可以有基本价格、商品税和运输费等。 4 丰富的链接语义:对应于h t m l 单一的单向单通道链接,x m l 提供各种不同的链接,如一 对多、多对一和双向链接。 5 多样的样式表支持:x m l 把数据内容与它们的表现形式分开,这样既可以只关心数据的逻 5 东南大学硕十学位论文 辑结构,也可以通过样式表来格式化数据的表现。 2 2 2s o a p 协议 商务应用中使用x m l 描述商务信息使得各种b 2 b 廊用在数据上获得了开放集成的能力,然而 从技术的角度看,这仅仅完成了应用领域中最低层次的集成:数据层集成。如果要使b 2 b 电子商务 应用真上e 被方便地连接在一起,除了数据层之外,在模块层、应用层等方面也需要达成一致。正是 为了解决模块层能够以一种开放的、自说明的、统一的方式进行集成和交互,i b m 、m i c r o s o r 、 d e v e l o p m e n t o r 等公司协作制定了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 ) 。 s o a p ( 简单对象访问协议) 是通过i n t e r a c t 发送信息和远稃调用的一个标准,独立于编程语言, 对象模型、操作系统和平台。它以x m l 为基础,完全继承了x m l 的开放性和描述可扩展性。s o a p 使用现有的基于t c p 1 p 的应用协议h t r p 、s m t p 、p o p 3 等,可以获得与现有网络通信协议最大程 度地兼容“q 。 s o a p 由以下四部分组成: 1 s o a pe n v e l o p e ( s o a p 信封) 它构造定义了一个整体的表示框架,可用于表示在消息( m e s s a g e ) 中的是什么,谁应当处理它, 以及这是可选的还是强制的。 2 s o a pe n c o d i n gm l e s ( s o a p 编码规则) 它定义了一个数据的编序机制,通过这样一个编序机制来定义应用程序中需要的数据类型,并 可用于交换由这些应用程序定义的数据类犁所衍生的实例。 3 s o a pr p cr e p r e s e n t a t i o n ( s o a pr p c 表示) 它定义了一个用于表示远端过程调用和响应的约定。 4 s o a p b m d i n g ( s o a p 绑定) 它定义了一个使用底层传输协议来完成在结点问交换s o a p 信封的约定。 2 2 3w s d l 语言 w s d l i z s l ( w e bs e r v i c e sd e s c r i p f i o nl a n g u a g e ,w e b 服务描述语言) 基于i d l ( i n t e r f a c ed e f i n i t i o n l a n g u a g e ,接口说明语言) 技术,由m i c r o s o f t 公司的s d l ( s e r v i c e sd c s c r i p t i o nl a n g u a g e ) 、i b m 公司的n a s s l ( n e t w o r l c - - 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 ) 这两种基于x m l 的i d l 合并 后被w 3 c 接纳所形成的标准。它以x m l 格式文档的方式把w e b 服务定义为服务访问点或端口的 集合,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问。基于 重用的目的,w s d l 把抽象的端点和消息定义与具体的服务部署或数据格式分离,使用如下元素对 服务进行描述,如表2 1 所示。 表2 1w s d l 的元素及其描述 w s d l 元素元素描述 抽象定义 t y p e s使用某种类型系统的数据类型定义 m e s s a g e传输数据的抽象定义 p o r t t y p e 一点或多点服务支持的抽象操作的集合 b i n d i n g 特定端口的具体协议和数据格式规范 具体定义 p o r t 规定了某b i n g d i n g 的地址,是s e r v i c e 的一个子元素 s e r v i c e 相关服务访问点的集合 第2 章w e b 服务概述 w s d l 文档的元素结构如图2 - 2 所示。 i m p l e m e n t s 图2 - 2w s d l 文档的元素结构 例如:下面是一个天气预报服务,服务请求者发出查询某地区天气的信息( 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 :7 0 0 1 m y w e a t h e r f o r e e a s l w e a t h e r f o r e c a s t j w s 。具体的w s d l 定义如下: i n p u tm e s s a g 一 t n s :g e t w e a t h e r r e q u e s t 修 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 e s o a p :b i n d i n gs t y l e 。 r p e ”l r a n s p o r t = h l l 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 w s d lf i l ef o rw e a t h e rf o r c c a s ts e r v i c e 说明如下:该w s d l 的文档的第一段定义了各种域名空间,包括w s d l 文件本身的u r i - h t t p :l o c a l h o s t :7 0 0 1 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 一这是天气预报服务在i n t e m e tk 的位 置,个人或软件组件可以从这里找到关于天气服务的描述;文档的第二段定义了消息的输入参数( 地 区的名字) 和消息的输出参数( 温度值) ;第三段定义了操作“g e t w e a t h e r ”,被封装为一个端口类 型;第四段通过对操作的绑定,为端口类型的输入输出定义了编码规则;最后一段声明服务并把它 绑定到特定的端口。 2 2 4u d d i 协议 2 0 世纪9 0 年代网络的迅速发展促进了企业在网络上进行商业贸易,如何交换电子化的信息就 成了急待解决的问题,为此各企业自行创建解决方案在w e b 上发布数据,并向第三方提供对这些数 据的访问。然而,向这些专用系统添加新的业务客户和供应商不仅耗时耗力,效率也不高【3 。基于 此,i b m 、m i c r o s o f t 和a r i b a 开发了统一描述、发现与集成( 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 ya n d i i l t e 州i 吣u d d i 【3 l j ) 规范。它是一个公共的服务注册库,服务提供者可以在其中注册服务,为服务 请求者查询所需的服务带来了极大的便利。u d d i 在基于通用的工业标准( 包括h t t p 、x m l 、x m l s c h e m a 、s o a p ) 之上为基于w e b 服务的软件环境提供了一种互操作的基础设施,而不管它是公共 可用的服务还是企业内部的私有服务l j “。 2 2 4 1u d d i 在w e b 服务中的作用 u d d i 是w e b 服务的信息注册规范,可以被需要该服务的用户发现和使用。通过u d d i ,w e b 服 务可以真正实现“一次注册,到处访问”。在技术层次上,u d d i 为w e b 服务提供了三个重要支持: 1 标准化的、透明的、专门描述w e b 服务的机制。 2 调用w e b 服务的简单机制。 3 可访问w e b 服务的注册中心 由于u d d i 注册中心中包含有关服务提供者及w e b 服务的一般信息和技术信息,所以把u d d i 信息分为三层: 白页:包含服务提供者的一般信息,比如联系方式,名称,地址及可以唯一区分服务提供 者的标识符。标识符的例子有d u n & b r a d s t r e e t 的d u - n s ( 数据通用编号系统) 分类,即 分配给各个企业的九位数号码p 。 黄页:基于标准分类法的行业类别。比如,一家软件公司可能被分到计算机软件或软件工 程这一类。黄页允许注册中心的用户查找符合某个类别( 比如销售,旅游或书籍) 的公司 或服务j 。 第2 章w e b 服务概述 绿页:提供有关w e b 服务的更多的技术信息,这些信息告诉服务请求者如何和一个w e b 服务进行绑定。绿页通常包含对w e b 服务的w s d l 文档的引用,其中包含关于如何与w e b 服务进行交互的信息。 u d d i 在w e b 服务中占有重要的位置,如图2 - 3 所示嗍。 图2 - 3u d d i 的分层w e b 服务协议栈 图中所示,u d d i 包含于完整的w e b 服务协议栈之内,而且是协议栈基础的主要部件之一,支 持创建、说明、发现和调用w e b 服务。 2 2 4 2u d d i 的数据模型 u d d ! 注册使用的核心信息模型由x m ls c h e m a 定义。使用x m l 是因为它提供了平台无关的 数据描述,并很自然地描述了数据的层次关系。而选择x m ls c h e m a 是因为它支持丰富的数据类型, 便捷的描述方式及其按信息模型对数据进行验证的能力。 u d d i 的x m ls c h e m a 定义了四种主要的信息类型,其信息模型结构如图2 _ 4 所示p “。 图2 - 4u d d i 信息模璎结构图 - 9 - 东南大学硕t 学位论文 这四种信息是技术人员住需要使_ f j 服务提供者提供的w e b 服务时必须了解的技术信息。其中, b u s i n e s s e n t i t y ( 商业实体信息) 、b u s i n e s s s e r v i c e 服务信息、和b i n d i n g t e m p l a t e ( 绑定信息) 是层次 嵌套关系。t m o d e l 是独立实体,它描述了一切技术信息,b i n d i n g t e m p l a t e 结构中包含了对t m o d e l 的引用。t m o d e l 的全体组成了u d d i 中的所有技术注册信息。 2 2 4 3u d d i 的局限性 u d d i 自1 0 版本发布以来,已经有了两个升级版本2 0 和3 0 。u d d i2 0 基本是对1 0 规范的 完善和功能上的补充,并无本质区别。u d d i3 0 中引入了一些很关键的功能,比如更强大的客户机 分类和标识符支持、为复杂机构提供建模支持等,因此可以提高u d d i 注册中心的使用质量和效率, 同时也提供了数据共享,但就目前来说,u d d l 的具体实施远远落后于理论的发展,所以u d d i3 0 只是一种理论模型。 一些u d d i 注册中心存在数据可靠性问题,比如数据的最后刷新时间及数据的刷新频率,就会 导致用户对注册中心所包含的数据、服务描述和超链接是否能反映有关企业及w e b 服务的最新消息 产生怀疑。 u d d i 的另一个局限是:u d d l 只描述w e b 服务。但对其q o s ( 伽a l 时o f s e r v i c e ) 方面的信息 没有说明。一般来说,用户在使用某个w e b 服务之前,对它的价格、响应时间、信誉等这些非功能 属性方面的信息都很关心,而u d d i 目前并不包含这些相关的信息。虽然u d d i 并非设计用来提供 q o s 信息,但包含这些数据的注册中心将为服务请求者提供更多的价值,真正体现“以用户为本”。 2 3 本章小结 本章对w e b 服务进行了概述,包括w e b 服务的基本概念及w e b 服务的关键技术。首先在w e b 服务的基本概念中,介绍了w 3 c 对w e b 服务的定义,然后重点介绍了w e b 服务的体系结构,它由 三种角色及三个基本的操作组成;在w e b 服务的关键技术中,首先对x m l 语言做了简介,它是一 种新的i n t e r n e t 上用于交换数据的标准,是独立于平台,具有自描述、可扩展等优点;接着,对s o a p 协议、w s d l 和u d d i 进行了比较细致的介绍。下一章将对w e b 服务进行扩展,使其可以描述并发 布w e

温馨提示

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

评论

0/150

提交评论