




已阅读5页,还剩50页未读, 继续免费阅读
(计算机软件与理论专业论文)基于多用户偏爱推理的web服务选择.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着面向服务体系架构的提出和应用,计算机软件的发展己进入到一个开放的世界。服务计算,特别 是基本w e b 的服务组合,作为开放的分布式计算环境的发展方向,已越来越多的被关注和研究。由于w e b 服务具有规模大、异构、语义模糊、动态变化、不确定等特征,如何动态地进行简单w e b 服务的选择和组 合,以提供复杂的,高性能的w e b 服务是我们面临的关健性的挑战问题。 目前,研究w e b 服务组合问题主要集中在二个方面:基于功能的和基于服务质量的( q o s ) 。本文中我 们将关心如何解决根据用户的偏好提供基于服务质量的高性能服务组合问题。如何在一些功能相似或相同 的服务集合中选出更符合用户要求的服务,当前所使用的方法总的来说可以分为二大类:定量的方法和定 性的方法。定量的方法适用于用户对于服务的各种属性( 如响应时间、价格、可用性等) 及各属性的权重等 能够给出明确的满足用户要求的具体值。然而在大多数情况下,这种要求对用户来说是苛刻的,因为用户 可能自己都不知道该如何给定这些值才更符合自己的要求,他们更多的或更愿意表达自己的对于各种属性 的喜好关系,比如“我偏爱于价格甚于响应时间,在其它条件相同的情况下”。如何捕获用户的这种偏爱关 系并将其应用于服务的选择,以选择出更符合用户偏爱的服务,这就是定性方法所要解决的主要问题。目 前研究偏爱问题主要有二种方法:非单调逻辑和基于c p n e t 的研究方法。 目前对于基于用户偏爱的w e b 服务选择的研究主要集中在单个用户的偏爱,然而现实的情况是:可能 会有多个用户同时提出对服务选择的不同的偏好,在这种情况下如何综合考虑所有用户的偏好,使其尽可 能满足大部分用户的偏爱要求,这是单个用户偏爱研究方法所无法解决的。本文我们将采用基于m c p - n e t s 的方法解决多用户多偏爱的服务选择问题。本文同时考虑了当用户的偏爱序列存在环路时,如何将环路进 行有效拆解,将其转化为相应的无环偏爱序列来进行表示和推理。 本文首先详细介绍了w e b 服务及w e b 服务组合的相关基本概念,接着介绍了偏爱逻辑的一些基本概 念,并在此基础上将c p n e t 应用于w e b 服务选择过程中用户偏爱的表示及推理上。最后给出了一个原型 系统,用于说明本文所采用的方法的正确性及有效性。 关键词:w e b 服务;服务质量;服务组合;c p n e t ;多用户;偏爱逻辑;环路 东南大学硕士学位论文 a b s t r a c t w i t ht h ep r o p o s i n ga n da p p l i c a t i o no fs e r v i c e - o r i e n t e da r c h i t e c t u r e ( s o a ) ,c o m p u t e rs o f t w a r eh a v e d e v e l o p e di n t oo p e nw o r l ds o f t w a r e s e r v i c e sc o m p u t i n g ,e s p e c i a l l yw e bs e r v i c ec o m p o s i t i o n ,a sd e v e l o p m e n t a l d i r e c t i o no fo p e na n dd i s t r i b u t e de n v i r o n m e n t , h a sb e e np a y e dm o r ea n dm o r ea t t e n t i o na n dr e s e a r c h b e c a u s e w e bs e r v i c e sh a v ec h a r a c t e r i s t i c so fl a r g e s c a l e ,i s o m e r i s m ,s e m a n t i cf u z z i n e s s ,d y n a m i c ,n o td e t e r m i n i s ma n ds o o n , h o wt os e l e c ta n dc o m p o s i t es i m p l ew e bs e r v i c e sp r o v i d i n gc o m p l e xa n dh i g hc o n f i g u r a b l ew e bs e r v i c e si s t h ek e yc h a l l e n g ew ea r ef a c i n g n o w a d a y s ,s t u d i n gt h ep r o b l e mo fw e bs e r v i c e ss e l e c t i o na n dc o m p o s i t i o nm a i nf o c u so nt w oa s p e c t s : f u n c t i o n - o r i e n t e dc o m p o s i t i o na n dq o s - o r i e n t e dc o m p o s i t i o n t h i sp a p e rm a i n l yf o c u s e so nt h el a t t e r t h em o s t p o p u l a rm e t h o ds t u d i n gq o s - o r i e n t e dc o m p o s i t i o ni ss o - c a l l e dq u a n t i t a t i v em e t h o d t h i sm e t h o dr e q u i r eu s e r sn o t o n l yk n o wa l lk i n d so fa t t r i b u t e ( s u c ha sr e s p o n s et i m e ,p r i c ea n dr e l i a b l e ,a n ds oo n ) o fs e r v i c e sb u tc a ng i v ee x a c t w e i g h tt oe a c ha t t r i b u t e h o w e v e r , i nm o s tc i r c u m s t a n c e ,i ti st o or i g o r o u st oau s e rf o rt h eu s e rh i m s e l fp o s s i b l e d o n tk n o wh o wm u c hs h o u l dh ea s s i g nt ot h e s ew e i g h tt om e e tt h e i rr e q u i r e m e n tm a x i m u m t h e ym o r el i k et o r e p r e s e n tt h e i rp r e f e r e n c eo nt h e s ea t t r i b u t e s ,f o re x a m p l e ,o n em a ys a y “ip r e f e rp r i c et or e s p o n s et i m e ,c e t e r i s p a r i b u s ”i ns e l e c t i n gw e bs e r v i c e s i nt h i sp a p e r , w em a i n l yc o n c e r no nh o wt oc a p t u r ea n dr e p r e s e n tu s e r s p r e f e r e n c ea n dp r o v i d eh i g hc o n f i g u r a b l ew e bs e r v i c e sb a s e do nq u a l i t yo fs e r v i c e ( q o s ) a c c o r d i n gt ou s e r s p r e f e r e n c e ,t h a ti sh o wt os e l e c tt h ew e bs e r v i c ew h i c hs a t i s f yu s e r sp r e f e r e n c em o s ta m o n gt h es e to fs e r v i c e s w h i c hh a v et h es i m i l a ro rt h es a n l ef u n c t i o n a l i t yt oa c c o m p l i s hw e bs e r v i c e sc o m p o s i t i o n p r e f e r e n c e sa r eg a i n i n gm o r ea n dm o r ea t t e n t i o ni n a r t i f i c i a li n t e l l i g e n c e ( a da n dc o n s t r a i n tp r o g r a m m i n g ( c p ) i nc u r r e n t , t h er e s e a r c ho fw e bs e r v i c e ss e l e c t i o nb a s e do nu s e r sp r e f e r e n c em o s t l yf o c u so ns i n g l eu s e r s p r e f e r e n c e b u tt h er e a l i s t i cs i t u a t i o ni s :t h e r ea r em a n yu s e r sp r o p o s et h e i rp r e f e r e n c ei ns e l e c t i n gs e r v i c e sa tt h e s a m et i m ea n dt h ep r e f e r e n t i a lo r d e r so fe a c hu s e rm a yh a v ec y c l e s i nt h i ss i t u a t i o n , h o ws h o u l dw ed e a lw i t ht h e p r e f e r e n t i a lc y c l e sa n dc o n s i d e ra l lu s e r s p r e f e r e n c ec o m p r e h e n s i v ea n ds e l e c ts e r v i c e sw h i c hs a t i s f ya l l u s e r s p r e f e r e n c ea sf a ra sp o s s i b l e ? t h i sp r o b l e mc a nb er e s o l v e db yt h em e t h o dt h a ti n v o l v i n gs i n g l eu s e rp r e f e r e n c e a n da c y c l i cp r e f e r e n t i a lo r d e r s i nt h i sp a p e r , w ep r o p o s ea l la l g o r i t h mb a s e do nm c p n e t st os o l v et h ep r o b l e m m e n t i o n e da b o v e k e y w o r d s :w e bs e r v i c e ,q u a l i t y o fs e r v i c e ,s e r v i c ec o m p o s i t i o n , c p n e t , m u l t iu s e r s ,p r e f e r e n c el o g i c , p r e f e r e n t i a lc y c l e s 东南大学硕士学位论文 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其它人已经发表或撰写过 的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名: 辨日 期: 芈罗。 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其它复制手段保存论文。本人电子文档的内容和纸质 论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 繇翻舻燧名蟛期:当护 第一章绪论 1 1 研究背景 第一章绪论 随着面向服务体系架构的提出和应用,计算机软件的发展已进入到一个开放的世界i l 引。服务计算1 1 6 1 , 特别是基于w e b 的服务组合,作为开放的分布式计算环境的发展方向【1 4 】【1 3 】【1 0 】【l l 】,已越来越多的被关注和 研究。凭借着崭新的基本构架及其核心支撑技术,w e b 服务的应用范围不断扩大。w e b 服务作为目前最新 颖的分布式计算模型,它为在不同的平台和软件结构下运行的软件应用程序提供了一种标准的交互方法, 它是基于t c p i p ,h r r p ,x m l 等规范而定义的具有w e b 上链接文档浏览、事务自动调用、服务的动态 发现和发布等功能的软件结构,使得分布的软件组件采用了全新的通讯和发布机制,使得新型的分布式软件 可以跨越整个i n t e m e t ,通过分布在网络不同位置计算机、资源的共同协作来完成一个应用。这样w e b 服 务采用分布在网络中的资源构成了一个虚拟的计算机系统,这些资源的重用和协同工作就涉及到了复杂服 务的组织和表述;i t 资源的按需使用这两方面的问题。一般现实中的应用都是一个复杂的体系结构。而w e b 服务技术为了保证单个服务的重用性,简化服务逻辑和实现,就会设计得不太复杂。这样要实现现实中的 应用就必须使用多个简单的w e b 服务来组合完成现实应用。 随着w e b 服务数量逐渐增多,不可避免地出现了许多服务提供者提供功能相同或相似服务的情况,而 这些服务具有不同的服务质量( q o s ) ,因此,在服务的选择和组合过程中,就需要基于用户的q o s 要求对 具有相同或相似功能的w e b 服务进行选择。传统的w e b 服务的体系结构基于服务提供者、服务注册中心 和服务请求者3 种角色。服务提供者定义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 服务选择和组合中变的越来越扮 演着相当重要的角色1 6 j 。w e b 服务的应用正在逐步推广,提供相同功能的服务会越来越多,于是出现的新 问题是:如何动态地从众多w e b 服务中选择出最适合用户需求的。 基于o o s 的服务选择也是最近提出的新概念,大致的过程是:首先,由服务提供者发布他所提供的 w e b 服务的价格、性能、可靠性、安全性、响应时间等q o s 属性:其次,服务请求者在选择服务时会依照 q o s 属性作出一些具体的要求,如用尽可能低的价格去购买到性能比较好、响应时间比较快的w e b 服务, 或者要求性能最好、响应时间最快而不在乎价格的高低。这些价格,性能,可靠性,安全性,响应时间就 是对服务质量的具体描述,它们一起构成q o s 的主体内容。 目前,已经有很多的算法和模型被用来表示和推理用户的偏爱,尤其是在a i 领域和决策领域,但这 些算法和模型却很少被用于w e b 服务的选择和组合过程中,尤其是用于多个用户偏爱推理的情形,但这种 情形在现实生活中却又是非常常见的。故本文重点着眼于面向服务质量( q o s o r i e n t e d ) 的服务组合问题, 讨论当有多个用户同时提出对q o s 属性不同的偏爱需求时如何选择一个或一组w e b 服务使其尽可能满足 大部分用户的偏爱需求。本文提出一种基于m c p n e t s 的投票语义机制来解决这个问题。实验结果表明使 用该方法总是可以选择一个较优解其能够最大限度的满足大部分用户偏爱需求。本文最后给出一个例子来 说明该方法的性能。 东南大学硕士学位论文 1 2 研究现状 具我们所知,在面向服务质量( q o s ) 的w 曲服务选择中最常用的是所谓的定量的方法,比如效用函数 【3 2 】,混合整数线性编程【1 2 】,模糊多标准决策( f m c d m ) 【2 3 】等等。但是这些方法不但要求用户必须知道服务 的各种属性( 比如响应时间、价格、可用性等) ,而且对于每种属性要给出具体的权重。然而,在很多情况 下,用户自己可能也并不知道该给这些属性赋于怎么样的权重才能最大限度的满足他们的要求。在这些情 况下,定量的方法并不能被很好的应用。相比于定量的方法,定性的方法更加具有一般性,它可以应用于 各种场合。 目前,已经有很多的算法被用来表示和推理单个用户的偏爱,尤其是在a i 领域和决策领域【1 5 】【2 4 l 【2 引。 v o nw r i g h t1 2 l j 提出了偏爱逻辑惮j ,开创了对偏爱逻辑领域的研究。 r a w a d a b o u a s s ia n ds o u h i l a k a c i 2 6 】提出了关于偏爱的非单调逻辑,其可以同时表达用户的多个偏爱描 述。作者将它用于关系数据库中用来仅提取用户感兴趣的数据。 p c a r m e ld o m s h l a k1 2 2 j 提出了一种新颖的技术以语义严谨地方式对用户的偏爱语句集进行高效的推理。 尤其提出了一种新颖的方法用于从用户的定性偏爱语句集中产生一组序列化的效用函数,其利用了知识表示 和机器学习中的技术。 s t e f f e nl a m p a r t e r 等i j r 2 j 提出了一种o w l 本体用来规范可配置的w e b 服务的提供者和请求者;一个灵活 的、可扩展的框架用于优化服务选择,其结合已公布的基于逻辑的匹配规则的优化方法,如线性规划法。 p a o l ov i a p p i a n i 等1 2 u j 实现了一个基于用例的工具用于基于偏爱的查询。研究表明这种方法能够取得非常 高的精确性当他们在已有的选择的基础上补全建议被选择的信息。 x u d o n gl u o 等1 36 j 提出了用例学习的方法用来产生基于知识的获取折衷偏爱的谈判a g e n t s ,该方法消除 了传统方法 a g e n t 无法获得充足的知识以充分表达用户的偏爱和谈判时只代表自己利益的缺点。 t e r r e n c eh a r v e yl j 驯提出了一个分布式适应系统m a d s u m ( m u l t i a g e n td e c i s i o ns u p p o r tv i au s e r m o d e l i n g ) ,其使用协商的过程来请求和组织a g e n t s 以产生信息。该系统基于用户模型,一个用户模型包括 内容偏爱,最终期限和长度限制等。用户模型对内容选择和表示的影响将提高系统输出的质量。 c r a i gb o u t i l i e re ta 1 1 4 j 提出了用c p n e t 以定性的和图形化的方法来表示用户的偏爱,其反映了用户的条 件偏爱及偏爱的依赖关系。这种表示方法在很多情况下是更加严密和自然的。 还有一些文献介绍了定性表示和推理多用户偏爱的方法。 f r o s s i ,k b v e n a b l ee ta 1 1 7j 使用m c p n e t s 来建模和处理多个用户定性的条件偏爱。文章中给出了几 个不同的基于m c p n e t s 的投票语义机制来推理多用户偏爱,它们描述了如何比较结果的优先性并给出了 完成这些任务的复杂性。然而,文中并没有给出具体的算法来实现它。 m sp i n i ,fr o s s ie ta 1 1 1 7 j 考虑如何结合多个用户的偏爱当用户偏爱序列中存在不完整及不可比的情 况。本文致力于计算“可能的”及“必然的”优胜者,也就是,那些对大部分a g e n t s 都比较优的结果。这 种方法和c p n e t 相比不是一种严密的知识表示形式。 1 3 研究内容 目前,基于用户偏爱的服务选择的研究主要集中在单个用户的偏爱,而且大部分是定量的方法。但实 际的情况是:在服务选择时可能会有多个用户同时提出不同的偏爱需求、每个用户可能只对部分属性提出 自己的偏爱需求且这些偏爱序列有可能存在环路。比如:某个w e b 服务有a 、b 、c 、d 四个属性,用户 可能存在这样的偏爱需求:“在其它条件相同的情况下偏爱a 甚于b ;在其它条件相同的情况下偏爱b 甚 于c ;在其它条件相同的情况下偏爱c 甚于a ”,即用户只对属性a 、b 和c 提出了自己的偏爱,且对a 、 b 、c 的偏爱序列间接构成环路。在这种情况下我们应该如何解决偏爱序列中的环路问题,以及如何综合 考虑所有用户的偏爱需求,选出尽可能满足大部分用户偏爱需求的服务呢? 现有的只考虑单个用户偏爱的 方法和只考虑用户线性偏爱序列的方法都不能解决这个问题。另外,在很多领域,用定性的而不是定量的 方法来评估这些偏爱更加可取i 4 j 。 在本文中,我们在m c p n e t s 思想的基础上提出了基于r a n k 投票语义机制的算法来解决这个问题。该算 2 第一章绪论 法通过v o t i n g 语义机制【7 】来处理多个用户的偏爱,其可以找到一个较优的结果集而不是单个最优解。 m c p n e t s 是一种以图形化的形式定性的表示用户偏爱的工具,其以相对严密、直观和结构化的方式描述用 户的定性偏爱语句。和其它偏爱的表示和推理方法相比,m c p - n e t s 在表示用户的偏爱时更加严密和直观。 基于r a n k 投票语义机制的算法虽然其时间复杂度依然很高,但是该算法具有a n y t i m e 属性,即其在运行的 任何时刻停止,都可返回最优结果集。该方法还可以被扩展用于处理多用户决策问题。 本文的创新和价值在于:第一,我们使用了一个相对严密的定性的方法来表示和推理用户的偏爱,其 不需要用户给出确切的权重;第二,我们第一次使用m c p - n e t s 表示和推理多用户的不完全偏爱;第三, 解决并实现了当用户的偏爱序列中存在环路时,如何将有环偏爱序列拆解为无环偏爱序列;第四,虽然f r o s s i ,k b v e n a b l e 等人在文中给出了r a n k 投票语义机制的思想,但并没有实现具体的算法,我们实现 了r a n k 投票语义机制用于推理多个用户的偏爱。第五,我们成功地将该方法用于基于q o s 的多用户偏爱 的w e b 服务选择中。 本文具体的研究内容包括: 1 扩展w e b 服务描述发布机制,使其可以描述发布服务的q o s 信息。 2 基于m c p n e t s 对多用户的q o s 属性偏爱进行表示和推理,并实现具体算法。 3 用户的偏爱序列中存在环路时,将有环偏爱序列拆解为无环偏爱序列。 4 如何将算法应用于w e b 服务的选择过程。 5 设计一个基于多用户q o s 属性偏爱的w e b 服务选择原型系统,通过仿真数据来说明本文所使用的算 法的有效性。 1 4 本文组织结构 本文共分为六章,组织结构如下: 第一章前言 介绍了研究的背景,国内外的研究现状,本文的研究内容和论文的组织结构。 第二章研究基础 介绍了w e b 服务的基本概念,主要包括w e b 服务的定义、w e b 服务概述、w e b 服务的体系结构以及 w 曲服务的相关规范等。最后介绍了w e b 服务组合的相关知识。 第三章偏爱逻辑 介绍了有关偏爱的基础知识,首先介绍了目前国内外有关偏爱的研究现状,然后介绍了w e b 服务质量, 本文所研究的偏爱逻辑主要是针对w 曲服务q o s 属性的偏爱。接着又介绍了一些定量和定性表示偏爱的 方法,并重点介绍了遗传算法、模拟退火算法以及非单调逻辑算法。最后详细介绍了本文算法的基础c p - n e t 和m c p n e t s 的相关知识,并介绍了五种投票语义机制。 第四章w r e b 服务选择中多用户偏爱的表示及推理 本章主要介绍如何将基于m c p - n e t s 的算法应用于w e b 服务的选择过程中,特别是当用户的偏爱信息 不完整,即当某些用户只对w e b 服务的部分属性提出偏爱需求时,以及当用户的偏爱序列存在环路时,该 算法是如何有效的工作的。 第五章原型系统与实验分析 本章根据第四章的应用场景建立了一个完整实用的基于m c p n e t 算法的原型系统,其能够综合考虑输 入的多个用户的q o s 属性偏爱需求返回一个或一组实现了解微分方程服务的最优w e b 服务,并在该系统 的基础上,通过随机产生的大量w e b 服务对系统进行了测试,对实验进行了分析,进一步说明了本文所使 用的w e b 服务选择算法的效性。 第六章本文总结及展望 总结了论文的主要工作,并对下一步的研究工作作了展望。 3 东南大学硕士学位论文 2 1w e b 服务 第二章研究基础 2 0 0 2 年4 月,w 3 c 给出了一个相对清晰的定义:“w e b 服务是一种通过u r i 标识的软件应用,其接口 及其绑定形式可以通过x m l 标准定义、描述和查找,并能通过x m l 消息及互联网协议与其它应用的直 接交互”。 2 1 1w e b 服务定义 w 曲服务( w e bs e r v i c e s ) 是基于x m l 和h t t p s 的一种服务,其通信协议主要基于s o a p ,服务的 描述通过w s d l ,通过u d d i 来发现和获得服务的元数据。根据g a r t n e r 研究所的定义, w e b 服务是通过 i n t e r a c t 标准技术传递的、松散耦合的软件组件”。具体的来说:w e b 服务是一种模块化的软件应用程序, 它们通过网络注册并发布到注册中心( 如u d d i 注册中心) ,使得其他的应用程序可以通过注册中心获得 这些w e b 服务的调用规范,一般使用w s d l 描述,然后按照调用规范的定义使用s o a p 协议绑定来访问 和调用这些w e b 服务。 w e b 服务是建立在s o a ( 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 ,面向服务的体系架构) 这种最新的分布式计算 技术基础上的。w e b 服务基于x m l 标准,为运行在不同平台、不同架构以及使用不同语言编写的各种软 件应用程序之间的互操作提供了一种标准的解决方案。它的目的是为了让计算机应用程序自动识别和运用 所提供的服务。 2 1 2w e b 服务概述 从表面上看,w e b 服务就是一个应用程序,它向外界暴露出一个能够通过w e b 进行调用的a p i 。这 就是说,你能够用编程的方法通过w e b 来调用这个应用程序。我们把调用这个w e b 服务的应用程序叫做 客户。例如,你想创建一个w e b 服务,它的作用是返回当前的天气情况。那么你可已建立一个a s p 页面, 它接受邮政编码作为查询字符串,然后返回一个由逗号隔开的字符串,包含了当前的气温和天气。要调用 这个a s p 页面,客户端需要发送下面的这个h t t pg e t 请求: h t t p :h o s t c o m p a n y c o m w e a t h e r a s p ? z i p c o d e = 2 1 1 1 8 9 返回的数据就应该是这样: 8 到1 2 度,晴到多云 这个a s p 页面就应该可以算作是w e b 服务了。因为它基于h r r pg e t 请求,暴露出了一个可以通过 w e b 调用的a p i 。当然,w e b 服务还有更多的东西。 w e b 服务平台是一套标准,它定义了应用程序如何在w e b 上实现互操作性。你可以用任何你喜欢的语 言,在任何你喜欢的平台上写w e b 服务,只要我们可以通过w e b 服务标准对这些服务进行查询和访问。 网络时代的兴起推动了电子商务的应用,也为企业和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 它们的体系结构是各自独立的,协议也是各自私有的,不同模型的应用系统之间通信十分不便。 2 客户端与服务器端之间在语义上是紧密耦合,一旦服务器端的接口或执行方式发生变化,客户端 将无法执行。 4 兰三兰塑壅茎型_ _ _ _ _ _ _ _ _ _ _ - - - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ _ _ _ _ _ 。- _ _ _ _ _ _ _ - 。_ 。1 1 。1 。1 3 客户与服务器之间有较大的网路通信量与交互信息。如c o r b a 、d c o m 、r m i 等模型要求必须在 对等体系结构间才能进行通信。在电子商务市场中,要求所有的参与者都采用同一个基于某种语言 和平台的模型是很困难的事情。 w e b 服务结合了面向构件和w 曲技术的优势,利用标准网络协议和x m l 数据格式进行通信,具有良 好的普适性和灵活性。它解决了传统中间件和传统集成技术的局限。w e b 服务具有如下的特点: 一互操作性 w e b 服务以s o a p 为基础,可以使用任何语言来编写,开发者无须更改自己的开发环境就可生产和使 用w e b 服务。w e b 服务之间可以交互。 二应用普遍性 w 曲服务使用h t l p 和x m l 进行通信,因此,任何支持这些技术的设备都可以拥有和访问w 曲服务。 三低成本 开发者可以利用工具快速创建和部署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 服务是当今网络经济模式的必需。 2 1 3w e b 服务体系结构 w e b 服务的体系结构可简单的看作是三个独立的角色及其它们之间的关系( 如图2 1 给出了w e b 服务 的基本模型) 。 i 一一- - _ 一。一一一。一一一一_ 一1 ; u d d i ;将服务描述存储为 - ; 注册中心 ; 绑定模块 i ( s o a p ) 定义服务接口描述和服 务实现描述 图2 iw e b 服务的基本模型 ( 1 ) 三种角色 w e b 服务体系结构中的三种独立角色: 服务提供者( s e r v i c ep 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 er e g i s t r y ) :指存储服务描述信息的注册中心, 务描述,服务请求者在此查找服务并获得服务的绑定信息。 ( 2 ) 三种行为 对应上面的三种角色,给出w e b 服务体系结构中的三种行为: 发布( p u b l i s h ) :服务提供者需要将服务描述发布到服务注册中心, 5 服务提供者在此发布他们的服 使得潜在的服务请求者可以查 东南大学硕学位论立 找、投现它。 查找( f i n d ) :服务请求者根据注册中心提供的接口发出查找请求,从而获得所需服务的相关信息, 包括服务的接口描述、服务的绑定和位置描述等。 绑定( b i n d ) :服务请求者通过分析从注册中心得到的服务描述中的绑定细节来定位和联系,进而 调用服务提供者所提供的服务。 ( 3 ) w e b 服务实现的基本步骤: 服务提供者开发和测试w e b 服务,使用w s d l 定义服务描述,包括定义服务接口描述和定义服务 实现描述。 服务提供者将这些服务描述注册并发送到u d d i 注册中心,从而使潜在的服务请求者能够发现这些 w e b 服务。 u d d i 注册中心使用u d d i 注册表将服务描述存储为绑定模块,提供了多种不同的s o a p 操作,使 得请求者可以访问其数据。 服务请求者通过杏找u d d i 注册表找到所需服务的绑定信息,找到w e b 服务应用程序的提供者。 服务请求者使用该绑定信息激活并获取该服务的w s d l 描述,从而与服务提供者进行绑定,使片j s o a p 协议调用所需的w e b 服务。 2 1 4w e b 服务架构协议栈 一个w e b 服务体系不仅仅包含一些标准和技术,还需要有相关的一系列的协议规范。给出了w e b 服 务架构的协议栈,自下而上分别为:网络传输层、数据表现层、数据模型层、基于x m l 的消息层、消息 路由层、安全消息层、服务描述层、服务发布层、服务发现层、服务工作流层、服务用户界面表现层。 幽2 2 是比较常见的一种协议栈图实际由于w e b 服务的使用方式多种多样,协议栈图也未必相同 嚣嚣色 n u 帆帅一m n 服务纽装 服务发布 与发现 b p e l 4 聃s w 埘i u d d i 、e b x m lr 雌l “r 既 w s - - i n s l 小l i o n 服务描述 w 讣娜i c e si k “p i h nl a n g u a g e w s d i - 服务消息 服务传输 s i m p l e o l ”ta c 性s sp r o i 盹o n s o a p ; h 、p e r t c x l t h n s f e rp 1 w j ( h t t p i s i m l l l tm a i lir a , s r t ip f o l o c o l ( s 、1 1 i i f i l e t r n “s h r p 眦o 】t f t p l呲 幽2 2w e b 服务架构协泌栈 最底层是服务传输层,在幽中可以看到w e b 服务可以使用多种( o s i 麻削层) 网络协议进行消扈传递, h t t p 足使片 最为广泛的,因为h t t p 的请求应答模式十分符合r p c 类型调用,s m t p 主要爿j 于异步方式 的调用,例如订阅信息等等。服务消息层的协议定义了消息的格式,在这一层里几乎全部是卧s o a p 为协 议的,至少我还没见过使用其他协议的例子。s o a p 的基础是x m l ,也就是说,s o a p 消息一定都是x m l 格式的。服务描述层的协议用于对如何使用这个w e b 服务进行描述,描述信息一般包括使用到的数据类型、 消息格式、方法名称和参数( 在w s d l 里的称呼有所不同) 等等。w s d l 也是以x m l 为基础的。服务发 布和发现层曲议是供注册中心这个角色使用的,u d d i 是目前使用最j 泛的注册中心,图中其他几种方式 也有廊_ j 。服务组袈层用于组装w e b 服务成为新的服务,这些被组装起来的服务般体现了一定的业务流 程。其好处是各服务问祸台很小,改变起来十分容易。在这层里,目前有不少协议正在竞争,b p e l 4 w s 可以说具有一定的优势吧。图中右边三个纵向协议贯穿粘个w e b 服务生命周期,它们是服务管理、服务质 6 第二章研究基础 量和服务安全。因为将来很多的w e b 服务是要收费才可以使用的,和钱挂钩的东西就必须能够管理、保证 质量和安全才行。一直以来,它们都是w e b 服务研究的难点( 因为涉及到太多方面的利益) ,目前在功能 方面w e b 服务已经做好了准备,如果能够攻破这些非功能性的难题,我想w e b 服务距离大规模应用就不 远了。 2 1 5相关规范 w e b 服务平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系 统。要实现互操作性,w e b 服务平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件 模型中的不同类型系统。在传统的分布式系统中,基于界面( i n t e r f a c e ) 的平台提供了一些方法来描述界面、 方法和参数( 如c o m 和c o b a r 中的i d l 语言) 。同样的,w e b 服务平台也必须提供一种标准来描述 w e b 服务,让客户可以得到足够的信息来调用这个w e b 服务。最后,我们还必须有一种方法来对这个w e b 服务进行远程调用。这种方法实际是一种远程过程调用协议( 】r p c ) 。为了达到互操作性,这种r p c 协议还 必须与平台和编程语言无关。下面简要介绍组成w e b 服务平台的这三个技术。 2 1 5 1x l v l l 和x s d 可扩展的标记语言( x m l ) 是w e bs e r v i c e 平台中表示数据的基本格式。除了易于建立和易于分析外, x m l 主要的优点在于它既是平台无关的,又是厂商无关的。无关性是比技术优越性更重要的:软件厂商 是不会选择一个由竞争对手所发明的技术的。 x m l 解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类 型。例如,整形数到底代表什么? 1 6 位,3 2 位,还是6 4 位? 这些细节对实现互操作性都是很重要的。 w 3 c 制定的x m ls c h e m a ( x s d ) 就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给 出了一种语言来扩展这套数据类型。w e b 服务平台就是用x s d 来作为其数据类型系统的。当你用某种语 言( 如v b n e t 或j a v a ) 来构造一个w e b 服务时,为了符合w e b 服务标准,所有你使用的数据类型都必须 被转换为x s d 类型。你用的工具可能已经自动帮你完成了这个转换,但你很可能会根据你的需要修改一 下转换过程。 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 3 5 】标准是一个基于文本的w b r l d 晰d ew 曲 协会( w 3 c ) 规范的标记语言,是一种i n t e m e t 上的新的数据交互标准,它可以更多地反映文档的内容和逻辑 结构信息,用户可以根据想要表示的结构和内容对它的标记进行扩展,而这些都是h t m l 做不到的,所有 的这些特性使它成为w e b 服务技术的基础。为了说明它是如何描述应用数据的,本文举一个x m l 描述网 上影视资讯的小实例。 7 东南大学硕士学位论文 x m l 是一种自描述的数据共享机制,它有如下特点: 1 自描述性:这个特性使差异性可以存在,使计算机可以在没有人为干预的情况下,理解数据的含义。 2 扩展性:任何人都可以根据自己的应用需要定义相应的x m l 标签来表达信息的结构和类型。 3 层次结构:能够保证信息的层次性描述。比如,一个商品可以有品名、商品代码和价格,价格又可以 有基本价格、商品税和运输费等。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年春季中国邮政储蓄银行陕西省分行校园招聘模拟试卷参考答案详解
- 2025年安阳市新华学校招聘教师4人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025广西玉林市福绵区石和镇人民政府招聘代理服务记账中心编外人员2人模拟试卷及答案详解(夺冠系列)
- 2025鄂尔多斯市消防救援支队招聘50名政府专职消防队员考前自测高频考点模拟试题及1套完整答案详解
- 2025贵州传媒职业学院第十三届贵州人才博览会引才考前自测高频考点模拟试题及答案详解1套
- 2025甘肃酒泉市公安局招聘留置看护岗位警务辅助人员(第二批)30人考前自测高频考点模拟试题完整参考答案详解
- 2025福建福州市水路运输事业发展中心招聘编外人员1人模拟试卷及一套参考答案详解
- 2025甘肃酒泉市肃北县人武部招聘2人考前自测高频考点模拟试题及答案详解(易错题)
- 2025年上半年四川凉山州宁南县考核招聘教师44人考前自测高频考点模拟试题完整参考答案详解
- 2025广西桂林市象山区教育局招聘编外聘用人员1人考前自测高频考点模拟试题及答案详解(全优)
- 资阳产业投资集团有限公司第三轮一般员工市场化招聘笔试参考题库附答案解析
- 2025年淮南市大通区和寿县经开区公开招聘社区“两委”后备干部30名笔试备考题库及答案解析
- 《文献检索与科技论文写作入门》课件(共八章)
- 2025云南红河红家众服经营管理有限公司社会招聘工作人员8人笔试参考题库附带答案详解
- 共享实验室合作协议书
- 客服人员安全操作培训课件
- 城管协管员面试题目及答案
- DL-T 794-2024 火力发电厂锅炉化学清洗导则
- 地质项目合同管理办法
- 天津市受问责干部管理办法
- 内科进修汇报护理
评论
0/150
提交评论