(计算机软件与理论专业论文)基于本体的web服务描述、查找和选取研究.pdf_第1页
(计算机软件与理论专业论文)基于本体的web服务描述、查找和选取研究.pdf_第2页
(计算机软件与理论专业论文)基于本体的web服务描述、查找和选取研究.pdf_第3页
(计算机软件与理论专业论文)基于本体的web服务描述、查找和选取研究.pdf_第4页
(计算机软件与理论专业论文)基于本体的web服务描述、查找和选取研究.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 w e b 服务是实现i n t e r n e t 环境中跨平台、跨语言和松散耦合的分布式计算技术, 也是面向服务架构中的关键技术之一。w e b 服务给许多企业带来了商机和快速发 展的机会。但是w c b 服务的应用面临着如下问题:如何更加准确的描述服务;如 何快速的选择满足服务功能的w e b 服务;如何从众多的候选服务中选取最优的服 务。 本文通过引入本体技术来对w e b 服务及其功能进行语义化描述,并以此为基 础提出了一个基于本体的w e b 服务发现框架。该框架将需求和服务形式化描述, 并利用了本体的推理机制来查找满足功能需求的服务。此外,我们还在此框架中 对多本体情况下如何进行服务匹配进行了研究。对于服务的选取,我们结合考虑 了用户反馈信息、用户期盼值以及企业信誉度等等因素,提出了一个新的计算服 务质量属性q o s 值和服务q o s 值的模型来选取最优服务。文章最后给出了服务的 q o s 计算公式和选取最优服务的算法。 关键词:本体w e b 服务面向服务架构服务质量描述逻辑 a b s t r a c t a b s t r a c t w e bs e r v i c e sa r ean e wd i s t r i b u t e dt e c h n o l o g yt h a te n a b l e ss o f t w a r es y s t e m s d e v e l o p e di nm u l t i p l el a n g u a g e so rp l a t f o r me n v i r o n m e n t st os e a m l e s s l yi n t e r a c tw i t h e a c ho t h e rt h r o u g ht h ei n t e r a c t i ti sa l s ot h ec o m e rs t o n ei nt h es e r v i c eo r i e n t e d a r c h i t e c t u r ed u et oi t sl o o s e c o u p l i n gf e a t u r e m e a n w h i l e ,t h ew e bs e r v i c e st e c h n o l o g y h a sa l s ob r o u g h tl o t so fb u s i n e s sc h a n c e st oe n t e r p r i s e s h o w e v e r , t h e r ea r es t i l ls o m e h a r di s s u e st ob es o l v e di nt h ei m p l e m e n t a t i o n so fw e bs e r v i c e s ,s u c ha sh o wt od e s c r i b e w e bs e r v i c e sm o r ea c c u r a t e l y , h o wt os e a r c ht h er e q u i r e dw e bs e r v i c e sm o r eq u i c k l y , a n dh o wt os e l e c tt h em o s ts u i t a b l ew e bs e r v i c e sa m o n gt h ec a n d i d a t es e r v i c e sm o r e e f f i c i e n t l y , i n t h i sd i s s e r t a t i o n ,t h eo n t o l o g yt e c h n o l o g yi su t i l i z e dt od e s c r i b et h es e m a n t i c so f w e bs e r v i c e sa n dt h e i rf u n c t i o n s b a s e do nt h es e m a n t i cd e s c r i p t i o n s ,w ep r e s e n ta f r a m e w o r kf o rd i s c o v e r i n gw e bs e r v i c e s i nt h i sf r a m e w o r k ,b u s i n e s sr e q u i r e m e n t sa n d w e bs e r v i c e sa r ed e s c r i b e df o r m a l l y , a n dt h eq u a l i f i e dw e bs e r v i c e sa l ed i s c o v e r e d t h r o u g ho n t o l o g yr e a s o n i n g i na d d i t i o n ,h o wt o d i s c o v e rw e bs e r v i c e si na m u l t i o n t o l o g ye n v i r o n m e n ti sa l s oi n v e s t i g a t e d t h ef a c t o r sc o n s i d e r e di nt h ew e b s e r v i c e ss e l e c t i o np r o c e d u r ei n c l u d eu s e r s f e e d b a c k ,u s e r s e x p e c t a t i o na n de n t e r p r i s e c r e d i t t h eq o s ( q u a l i t yo fs e r v i c e ) i s s u ei sp r o p e r l ys o l v e da sw e l l an e wm o d e li s p r o p o s e dt oc a l c u l a t et h ev a l u e so ft h es e r v i c er e l a t e dq o sm e t r i c sa n dt h eq o sv a l u e s o ft h ee n t i r ew e bs e r v i c e s w i t ht h i sm o d e l ,t h em o s ts u i t a b l ew e bs e r v i c e sc a nb e e f f e c t i v e l ys e l e c t e d k e y w o r d :o n t o l o g y w e bs e r v i c e ss e r v i c e - o r i e n t e da r c h i t e c t u r eq u a i l t yo f s e r v i c e d e s c r i p t i o nl o g i c s 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其它人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:主建乏 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名:主建垒同期丝2 :! :兰 导师签名:璧鼠 霞 嫩霉x 澜 := = j 一l j 同期鲨乙 第1 章绪论 第1 章绪论 1 1 研究背景 近年来,为了适应b 2 b 电子商务的需要,越来越多的企业级1 1 r 架构开始趋向 于采用面向服务的架构( s 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 ) 。s o a 是一种r r 体 系结构模式,支持将企业或者个人的业务以链接形式提供服务或可复用任务进行 集成,可在需要时通过网络访问这些服务和任务i n 。这个网络可能完全包含在企业 内部,也可能分散于各地并且采用不同的实现技术,通过对来自世界上不同地方 的服务进行组合,在使用的时候,可让最终用户感觉似乎这些服务就如安装在本 地桌面上一样。面对不同的业务需求,这些服务可以将自己组装为按需应用程序 即相互连接的服务提供者和使用者集合,彼此结合以完成特定业务,从而能 够快速适应不断变化的情况和需求。从技术角度看,在s o a 中使用的是“松散耦 合”的应用程序组件,这些组件的实现不一定要绑定到某一特定语言或者某类特 定数据库。利用这些组件松散耦合的特性,我们可以将服务组合成各种应用程序, 不但大幅度提高了代码的重用率,而且在很大程度上减少了工作量,缩短了丌发 周期。从业务角度来浣,s o a 能够将企业l t 架构抽取出来,将其功能以粗粒度的 服务形式表示出来,每种服务都能清晰地展现其业务功能和业务逻辑。这些服务 的用户就可以得到并使用这些服务,而不必考虑其具体实现的技术。更进一步的 说,如果用户能通过互联网发现、绑定这些可用的服务,那么基于这些服务的1 1 r 系统就具有更强的灵活性。 w e b 服务【4 j 是迄今为止最适合实现s o a 的一些技术集合,w e b 服务使应用程 序的集成比以l j 更快、更容易而且更便宜,它基于更注重服务语义而不那么注重 网络协议语义的消息,从而能实现业务功能的松散集成。这些特性对于在企业之 日j 和企业内部通过w e b 连接业务功能是非常理想的。w e b 服务中的协议相互工 作使得其满足s o a 的特点:( 1 ) 独立的功能实体:通过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 ) l3 9 l 的目录查找,我们可以动态改变一个服务的提供方而 无需影响客户端的应用程序配置。所有的访问都通过s o a p ( s i m p l eo b j e c ta c c e s s p r o t o c 0 1 ) 1 4 0 】访问进行,只要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 ) 1 8 1 接口封装 良好,外界客户端足根本没有办法直接访问服务器端的数掘。( 2 ) 大数据量和低频 率访问:通过使用w s d l 和基于文本( l i t e r a l ) 的s o a p 请求,我们可以实现能一 次性接收大量数据的接口。这罩需要着重指出的是s o a p 请求分文本方式和远程 调用( r p c ) 两种方式。( 3 ) 基于文本的消息传递:w e b 服务所有的通讯是通过s o a p 2 基于本体的w e b 服务描述、查找和选取研究 进行的,而s o a p 是基于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 ) 的,不同版本之间可 以使用不同的d t d 或者x m l s c h e m a 加以辨别和区分。因此只需要我们为不同的 版本提供不同的处理就可以轻松实现版本控制的目标。 s o a 和w e b 服务技术能力的强大和灵活性将给企业带来巨大的好处。部署在 i n t e r a c t 上的服务在飞速增加,但是根据k i m 在文献【2 1 中的研究,公共w e b 服务 的使用情况并没有明显的增加,只有大约3 4 的服务可用,而且每周大约有1 6 的已注册可用服务已经失效。也就是说从u d d i 中查找到的服务信息的可用性很 差,查找的服务在功能上与业务需求不一定匹配,另外满足功能要求的服务在 q o s ( q u a l i t y o f s e r v i c e ) 上也不一定满足用户的要求。究其原因在于:( 1 ) 现有u d d l 只能提供一些关于企业概况和服务所属行业的分类信息,缺乏服务能力方面的表 示同,只支持关键字和分类的查询。( 2 ) u d d i 规范没有考虑服务过滤和选择的问 题,进而不能确保其发现的服务能够满足用户的q o s 需求。基于u d d i 的应用将 服务的过滤和选取工作完全交给用户来完成。在u d d i 数据模型中没有包含任何 形式的w e b 服务模型,用户从u d d i 获取候选服务之后根本无法对其进行过滤和 选择,从而无法实现有效的服务调用。 当i j 工业界的服务描述的标准语言w s d l 只能提供语法级别的描述,缺 乏定义良好的语义信息,它只有面向人的形式化信息,因而无法实现服务发现组 合等操作的智能化。如何在w e b 服务的描述中添加语义信息以及如何根据用户对 目标服务的q o s 要求动态选择、绑定并调用最合适的服务成为当前w e b 服务领域 研究的热点问题。这也是本文要探讨的问题。 1 2 研究现状 在w e b 服务中有2 个关键问题:w e b 服务的描述和w e b 服务的发现【4 i 。统一 标准的w e b 服务描述使得w e b 服务之问能进行交互,w e b 服务描述具有标准性和 简单性的特点;w e b 服务发现使得w e b 服务请求者能够找到合适的服务,并使 w e b 服务的自动组合成为可能。 1 2 1 服务描述 目前基于w s d l 语言的w e b 服务描述大多是语法性的,缺乏足够的语义信息。 其它w e b 服务描述语言如w s c l ( w e bs e r v i c e sc o n v e r s a t i o nl a n g u a g e ) 1 3 6 】和 w s o l ( w e bs e r v i c e so f f e r i n g sl a n g u a g e ) 【3 7 l 根据不同的目的,在基本描述语言的基 础上进行了扩充,从而使得w e b 服务的商业会话、服务质量、类型以及其它附加 属性能够很方便的描述出来1 6 - 8 1 。d a m l ( d a r p aa g e n tm a r k u pl a n g u a g e ) 4 2 1 、 第1 章绪论 3 o i l ( o n t o l o g yi n f e r e n c el 丑n g i l a g c ) 1 3 8 、d a m l - s no w l ( o n t o l o g yw e bl a l l g i l a g e , w e b 本体描述语言) 和o w l - s ( o n t o l o g yw e bi j a n g i i a g ef o rw e bs e r v i c e ) 1 4 1 j 等语言 的提出给w e b 服务的描述带来了新的突破,在w c b 服务描述中借助于领域本体为 服务添加了语义信息。目前,o w l - s 是w e b 服务语义描述领域中最成熟的语言, 它在o w l 的基础上进行了延伸用以语义描述w e b 服务。o w l - s 语言由3 个本体 构成:( s e r v i c e p r o f i l e ,s e r v i c e m o d e l ,s e r v i c e g r o u n d i n g ) 如图1 1 所示。s e r v i c e p r o f i l e 本体描述了判断服务是否满足服务请求者需求的一组内容和属性等信息,也就是 服务能够做什么。s e r v i c e m o d e l 本体描述了服务的行为和动作,也就是服务如何工 作。s e r v i c e g r o u n d i n g 本体将s e r v i c e m o d e l 和具体的实现细节通信协议( 例如s o a p ) 和消息描述( 例如w s d l ) 联系起来。 1 2 2 服务发现 图1 1 顶层服务本体 w e b 服务发现与传统的信息检索有很大的相似之处。工业标准的服务发现大 多是基于框架和关键字进行精确匹配,而在学术上为了克服这种服务发现的缺点 ( 冗余信息多等) ,大多考虑利用语义信息和本体论技术。 w e b 服务发现技术的系统结构大致有以下几种: 直接检索:效用和使用性不高; 集中式架构:此架构提供了一个中心目录,服务提供者在其中注册服务, 发布服务相关信息。最典型的就是u d d i 。 分布式架构:如p 2 p 发现机制,提供了良好的可扩展性和灵活性,但是效 率很难保证。最典型的就是w s i n s p e c t i o n 。 从技术上看,w e b 服务发现可分为三类1 4 j : 基于关键字,与传统的搜索引擎的工作方式类似; 4 基了:本体的w e b 服务描述、查找和选取研究 基于框架的,根据分类法和功能将服务归类,服务发现归结为结构化查找; 基于语义的,视w e b 服务为功能体和关系,以语义w e b 及本体描述w e b 服务,服务的发现过程就是本体论过程模型中的本体概念匹配过程。 1 2 3 服务选取 在服务的选取过程中,o o s 扮演着极其重要的角色。目前在w c b 服务领域, 对q o s 的研究主要集中在如何为用户选择一个满足其q o s 要求的w c b 服务。由 于现在许多的w c b 服务应用都没有提供q o s 能力声明或者是q o s 保障机制。当 前提出的方法主要包括对u d d i 和s o a p 进行扩展,例如在文献【9 】提出了如何进 行扩展,并提供了如何发现满足q o s 要求的服务;根据用户的q o s 需求,在注 册中心查找满足q o s 的服务,再根据一系列过滤规则选取最合适的服务1 1 0 】;在文 献i n o e ,d e o r a 等提出了一种基于用户期望值的q o s 评估方法,并利用此方法选 择最合适要求的服务;i b m 提出的w s l a ( w e bs e r v i c el e v e la g r e e m e n t ) i s 】为o o s 参数的定义和管理提供了良好的框架,但这个框架对于服务提供者和消费者来说 都过于复杂。在实际中,现在的w e b 服务并没有提供q o s 的能力,而且有些q o s 信息是动态的,如何来提供w e b 服务的q o s 保障目前仍然缺乏有效的解决方案。 人们面l 临的问题包括:( 1 ) 如何在不改变现有w e b 服务实现的情况下,为服务提供 o o s 保障;( 2 ) 使用高效、准确的计算方法来计算服务的q o s 值进行服务选取。 1 3 本文的研究工作及组织结构 本文系统地论述了w c b 服务发现和选择的相关技术和存在的主要问题,提出 从w e b 服务的体系结构入手,研究如何采用本体方法来描述服务,从而为服务引 入语义信息。改进现有的u d d l 模型,使得其支持服务的q o s 信息,并提出新的 方法来计算服务的q o s 值。具体的来说本文的研究工作包括以下几点: 1 ) 为了统一和共享企业注册信息,将本体作为资源集成和共享的基础,提出 了一种以本体为基础的知识表示模型,并研究了本体知识查找和应用的策 略。在知识领域中抽取服务功能和q o s 相关概念,构建服务本体和质量 本体。利用构建好的服务本体描述现实存在的领域个体以及个体和个体之 间的关系。 2 ) 借助领域本体将用户的业务需求形式化表示,并利用本体的推理机制完成 w e b 服务匹配和发现过程。由于不同机构可能采用不同的本体对服务进行 描述,本文还考虑了在多本体的情况下如何完成w e b 服务的发现。 3 ) 对现有u d d i 模型进行改进,提出一个新的服务选择模型,使得该模型能 第1 章绪论5 够支持w e b 服务的q o s 信息。对于q o s 的计算是基于用户期望值的评估 方法基础上,同时给出了服务选取流程和算法。此外还研究了如何利用质 量本体为q o s 属性添加语义标注。 文章结构安排如下: 第1 章绪论部分,介绍了本文的研究背景及论文主要内容。 第2 章w e b 服务相关技术,介绍了w e b 服务发现相关概念以及相关技术和标 准。 第3 章语义w e b 和o n t o l o g y ,介绍了本体的相关理论以及描述逻辑 ( d e s c r i p t i o nl o g i c s ) 。 , 第4 章基于本体的服务描述和查找,介绍了如何利用领域本体描述w e b 服务 以及如何利用本体的推理机制完成w e b 服务发现。 第5 章基于o o s 的服务选取,介绍了如何利用本体对q o s 属性进行语义标注, 以及如何计算服务质量属性和服务的q o s 值迸行服务的选取。 最后的结论部分,对本文的工作和不足之处进行了总结,并对以后工作进行 展望。 第2 章w e b 服务相关技术 7 第2 章w e b 服务相关技术 2 1 产生背景 随着因特网的发展,基于w c b 的应用数量j 下在以惊人的速度增长。互联网上 出现的技术正被大量应用于生产和商业活动中,越来越多的企业提出了要全面实 现企业的信息化,以努力实现全球范围的企业电子商务。而传统的软件技术在解 决复杂的、基于i n t e m e t 技术的电子商务问题时,遇到了前所未有的难题: 不断变化的业务需求:应用的需求总是随着经济环境和社会的变化而经常 需要修改; 需要不同的运行平台:不同的业务系统需要在不同的操作系统上运行,而 且这些系统采用的技术架构也不尽相同; 应用孤立:每添加个新的业务,就需要一个新的软件系统去对应,而这 些新的系统很难与原来的系统协同工作。企业内部的信息孤岛总是不断出 现。如何使得不同系统之间的能够相互联系和协同工作是更大的一个挑 战; 难于复用:老代码或者组件的复用很大程度上还是停留在理论阶段,升级 系统的时候,原来的系统重用性很低,一次系统升级往往意味着重新购买 或者编写一套全新的系统; 技术主导:以前针对电子商务的开发模式大多是技术主导而不是业务驱 动。 这些问题导致企业电子商务系统总是庞大、复杂而且花费巨大的。而且这些 系统往往滞后于业务需求,需求的变化速度往往快于系统的开发速度。人们迫切 需要一种更加合理的机制来帮助应用摆脱这种复杂实现方式。在w e b 服务出现以 前,传统的分布式技术如面向过程的分布式计算环境d c e 和面向对象的c o r b a 等,它,f f i l 够很好的实现了对象之间的透明互操作,并且已经在通信、会融等行 业得到了广泛的应用。这些技术也存在跨越防火墙时需要借助其他技术,不能很 好的解决异构系统之间和不同组件之间的交互等问题。随着基于x m l 技术的w e b 服务的出现,因为其技术更加的简单、更强的兼容性和更低的成本而受到更多的 关注。w e b 服务标准( w s d l ,s o a p 和u d d l ) 的出现能够很好解决跨平台、语言 独立和异构应用的交互与集成等问题。可以说w e b 服务是目前最受关注的分布式 计算技术,它充分利用了现有成熟的技术、协议和架构。越来越多的l t 厂商致力 于提供相关的技术、文档和产品。 8 基于本体的w e b 服务描述、查找和选取研究 2 2w e b 服务概述 如果w e b 提供了程序到用户的交互,那么w e b 服务是为程序到程序的交互 做好了准备。w e b 服务使公司或企业可以降低电子商务的成本、更快的部署解决 方案以及开拓新机遇。要达到这个理想效果,关键在于通用的程序到程序的通信 模型,该模型必须建立在现有的和新兴的标准之上,例如h r r p ,s o a p ,w s d l , x m l 等。 w e b 服务是一些操作的接口,利用标准化的x m l 消息传递机制可以通过网 络访问这些操作。该接口隐藏了实现服务的细节,允许独立于实现服务的硬件或 软件平台和编写服务所用的编程语言使用服务。这就允许并支持基于w e b 服务的 应用程序成为松散耦合、面向组件和跨技术实现。它是用标准的、规范的x m l 概 念描述的,称为w e b 服务的服务描述。这一描述囊括了与服务交互需要的全部细 节,包括消息格式( 详细的操作描述) 、传输协议和位置。w e b 服务能够履行一项 特定的任务或一组任务,可以单独或同其它w e b 服务一起用于实现复杂的业务或 商业交易。 根据w 3 c 的定义,w e b 服务是一个设计来“支持网络上机器之问的互操作的 软件系统;它拥有一个机器可处理的格式描述的界面( 具体采用了w s d l 格式) , 其他系统按照w e b 服务描述所规定方式与w e b 服务交互。这种采用s o a p 消息的 描述一般是用x m ls e r i a l i z a t i o n 的 i t t p 协议( 同时结合其它w e b 相关的标准协议) 传输的”。本质上,w e b 服务是一种自描述的、模块化的、崭新的分布式计算模 型。其它关于w e b 服务的定义还包括: 广义上的w e b 服务1 1 3 i :w e b 服务是使因特网上应用到应用的通信非常便利的 系统,就像早期因特网协议着重于应用到用户的通信一样。 直观理解的w e b 服务1 1 4 j :从功能和作用方面看,w e b 服务是被打包成一个整 体并发布到网络中,供其他程序使用的一组操作。w e b 服务是建立开放式分布系 统的一块块积木,使公司和个人能快速轻易地建立自己全球范围内的数字资产。 根据服务要素定义的w e b 服务1 1 5 】:服务的三个要素( 互操作性、一般描述性 和高度依赖于标准) 出发来定义w e b 服务。w e b 服务是一个网络化的应用,它能 通过定义好的接口使用标准的应用一应用w e b 协议交互,并使用一种标准的功能 描述语言来描述。 综上所述,w e b 服务具有如下特点: 封装性:w e b 服务描述了一系列操作的接口,它使用标准x m l 来封装消 息,提供可由网络访问的接口和操作来完成特定服务。服务的使用者只能 看到服务对象提供的功能列表。 第2 章w e b 服务相关技术 9 规范性:w e b 服务使用开放的标准协议规范进行描述、传输和交换。服务 的描述提供了与w e b 服务进行交互的所有细节( 包括消息格式、传输协议 和位置等) ,这种说明通常包含在w s d l 文档中:服务被注册在u d d i 注 册中心中;通过标准的w c b 协议向w e b 用户及应用提供服务,一般采用 x m l s o a p 协议。 松散祸合: 服务接口和服务描述将服务表现和服务实现隔离,根据服务 描述,用户能够创建客户端应用程序调用w e b 服务接口完成特定任务。 服务的实现发生变化时,使用者完全感觉不到。只要服务的调用接口没有 发生变化,使用者就不会感觉到服务实现的任何变更。 高度可集成性:因为w e b 服务使用的都是基于x m l 的、简单的、易于理 解和处理的w e b 协议,完全可以忽略各类平台和语言之间的差异,当前 存在的分布式技术如:c o r b a 、d c o m 和e j b 都能采用这种协议标准进 行交互。 2 3 1w e b 服务模型 2 3w e b 服务相关技术 在w e b 服务结构中包含服务提供者、注册中心和服务消费者三种角色,它们 之间的交互包括了发布、查找和绑定操作。w e b 服务模型是面向服务的体系结构, 它描述了这三个基本角色和它们之间的关系,如下图2 1 所示: 幽2 1w e b 服务系统架构模刑 服务注册中心( s e r v i c er e g i s t r y ) :服务提供者在此注册和发布他们的服务描 述。现在的注册中心例如u d d i ,为了更精确的查找服务,还提供了对服务进行分 类的服务描述机制,当然这些信息都是由服务提供者提交给注册中心的。注册中 1 0 基于本体的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 ) :在注册中心查找某种特定服务。请求者可以 通过浏览注册中心的方式,也可以提交一个查询来查找服务。 在图2 1 中,可以很清楚的看到一个服务建立、发布以及被其他应用查找,绑 定并调用的过程。( 1 ) 服务提供者发布服务相关信息到u d d i 注册中心;( 2 ) 服务 请求者在u d d i 中查询服务,注册中心返回服务的w s d l ;( 3 ) 服务请求者分析查 询到的信息,并使用服务描述中的绑定细节来定位、联系和调用服务,从而在运 行时调用或启动与服务的交互。 2 3 2w e b 服务核心技术 w s d l ,u d d i 和s o a p 是w e b 服务中三个最基本的规范,他们都是基于x m l 的。w s d l 提供了如何来描述一个w e b 服务的机制。服务提供者可以在u d d i 中 注册自己的服务,发布服务描述文档,也就是u d d i 提供了发布和查找w e b 服务 的功能。s o a p 提供了应用一应用之间进行交互的通信手段。这三个基本标准都是 以x m l 为基础的。他们在w e b 服务协议栈中的位置如下图所示: 二三三 图2 2w e b 服务协议栈 第2 章w e b 服务相关技术 2 3 2 1w s d l 在前面的章节中,我们已经介绍过w s d l 文档是w e b 服务的描述文档,它将 w e b 服务描述定义为一组服务访问点。该文档中包括了在进行服务调用时候所需 要的全部技术细节,包括服务的u r l 和命名空间,服务的类型、接口的参数、参 数的类型以及接口返回值的类型等等。下面将对w s d l 中的重要元素进行简单的 介绍。 t y p e s :数据类型定义的容器,包含了所有在m e s s a g e 部分中需要的x m l 元素 的类型定义。实际应用中t y p e s 对应方法调用的参数。 m e s s a g e :通信交换消息的数据结构的类型化定义,使用t y p e s 定义的类型来 定义整个消息的数据结构。m e s s a g e 具体定义了在通信中使用消息的数据结构。它 包含了一组p a r t 元素,每一个p a r t 元素都是最终消息的一个组成部分。每一个p a r t 元素都会引用一个元素来表示它的数据结构。 o p e r a t i o n :对服务中所支持的操作的抽象描述。单个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 ,而一个o p e r a t i o n 则是指访问入口支持的一种类型的调用。支持四种 访问入口调用的模式:a 单请求;b 单响应;c 请求响应;d 相应请求。 在实际应用中它对应的是接口。 p o r t :描述的是单个服务访问点的部署细节,包括通过哪个w e b 地址( u r l ) 来访问,使用什么样的消息调用模式来访问等。其中消息调用模式则是使用b i n d i n g 结构来表示。 b i n d i n g :用户特定端1 3 类型的具体协议和数据格式规范的绑定。b i n d i n g 用于 表示通信中的某个 元素定义的操作和具体网络传输协议或消息传输协 议相绑定。 s e r v i c e :描述的是一个具体的被部署的w e b 服务所提供的所有访问入口的部 署细节,一个s e r v i c e 往往会包含多个服务访问入口,而每个访问入口都会使用一 个p o r t 元素束描述。 为帮助在u d d i 注册中心发布和查找w s d l 描述,w s d l 文档被分为2 种类 型:服务接口和服务发现。服务接口包含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 等 元素。它是关于w e b 服务的抽象定义,与具体的部署细节无关,是可复用的描述。 而s e r v i c e 和p o r t 是与具体服务实现相关的信息。 下图2 3 简单的概括了u d d i 中的w s d l 文档类型【1 6 j : 1 2 基丁本体的w e b 服务描述、查找和选取研究 图2 3 w s d l 文档类型 2 3 2 2u d d i ( 1 ) u d d i 概述 u d d i 是基于w e b 的、分布式的服务注册中心,它使用一组基于标准规范来 描述、发布和发现服务,还提供了一组基于i n t e r a c t 的实现。这些标准规范包括了 x m l 和s o a p 等。u d d i 规范的第一个版本在2 0 0 0 年9 月份发布的,第二版本于 2 0 0 1 年6 月发布,第三个版本于2 0 0 2 年9 月份发布。版本1 打下了注册中心的基 础,版本2 则添加了企业关系等功能,版本3 解决进了w e b 服务开发中的问题, 比如安全性,国际化,以及注册中心之间的交互并进一步改进了a p i 和数据结构。 u d d i 中最重要的就是它的数据结构,以下是对其的简单介绍: 不同版本的u d d i 规范在描述u d d i 实施的时候可能有所不同,但是u d d i 数据模型却是基本相同的。u d d i 注册所使用的模型是由x m ls c h e m a 所定义的, 其中定义了如下4 种信息类型: 商业实体( b u s i n e s s e n t i t y ) “b u s i n e s s e n t i t y ”支持“黄页”分类,“黄页”是商业分类信息。在这个数 据结构中主要包含在注册中心发布服务的企业或者机构的相关信息,包括企业的 名字、联系方式和分类信息等。在一个u d d i 注册中心中,每一个商业实体都有 一个u u i d ( u n i v e r s a l l yu n i q u ei d e n t i f i e r ) 即b u s i n e s s k e y ,它用来唯一标识一个商业 实体。 服务( b u s i n e s s s e r v i c e ) 作为“绿页”服务,它是关于一个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 e n t i t y 可以有多个b u s i n e s s s e r v i c e 。每一个 b u s i n e s s s e r v i c e 中包含2 个k e y ,一个是s e r v i c e k e y ,用来唯一标识一个 b u s i n e s s s e r v i c e :另一个是b u s i n e s s k e y ,用来确定b u s i n e s s s e r v i c e 所属的商业实体。 第2 章w e b 服务相关技术 在这个结构中还包括了名称、描述、绑定模板等元素。一个b u s i n e s s s e r v i c e 是对 一个企业的某一个特定服务进行描述。 服务绑定( b i n d i i 】i g t e m p l a t e ) 每一个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 来实现。它也包含了2 个k e y ,一个是b i n d i n g k e y 用来 唯一标识一个b i n d i n g t e m p l a t e ;另一个是s e r v i c e k e y 用来指明包含这个 b i n d i n g t e m p l a t e 的b u s i n e s s s e r v i e e 。此类型还包括了访问点、描述以及其他信息。 技术模型( t e c h n i c a lm o d e l ) t m o d e l 元素能够清晰的表示关于服务或者分类法信息的规范说明的描述。每 一个t m o d e l 通过个u u i d 即t m o d e l k e y 来标识,还包括了名字、描述、文档以 及分类信息等等。在一个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 l n s t a n c e d e t a i l s 元素下。 图2 4u d d i 数据结构模型 ( 2 ) w s d l 到u d d l 的映射 u d d i 提供了服务的注册、发布和发现功能。在前面已经介绍过,一个w s d l 文档可以分为抽象部分和实现部分。抽象部分指的是服务接口,描述了某种类型 的服务。服务实现部分指的是关于实现一个服务接口的服务描述。当发布一个 w s d l 服务描述时,其服务实现中的每个s e r v i c e 元素都被作为一个b u s i n e s s s e r v i c e 发布。而服务的抽象部分具有可重性,在文献 1 6 1 中提到,可以将其映射为一个 t m o d e i 。图2 5 展示了如何将w s d l 跌射到u d d i 。 1 4基丁本体的w e b 服务描述、查找和选取研究 例2 5 w s d l 到u d d i 的映射 2 3 2 3s o a p ( 1 ) s o a p 概述 s o a p 是一种轻量的、简单的、基于x m l 的协议,s o a p 技术有助于实现异 构程序和平台之间的互操作。所有的因特网浏览器都支持h 1 r r p ,所以在应用程序 之间进行通讯还有一个更好的办法,就是通过h 1 r p 。s o a p 就是基于这个理论而 被创建出来的。它充分利用了x m l 技术的灵活性和可扩展性,同时也借助了现在 成熟的基于h r r p 的w e b 技术。也就是说s o a p 采用x m l 技术来组织数据的格 式,而h ,兀甲协议实现消息的传送。另外s o a p 还可以与其他许多协议相结合使 用,例如:简单邮件传输协议( s m t p ) ,多用途网际邮件扩充协议( m i m e ) 。 s o a p 包括如下四个部分: s o a p 封装:定义了一个整体框架用来表示消息中包含什么内容,谁来处 理这些内容以及这些内容是可选的还是必需的: s o a p 编码规则:定义了交换应用程序数据的一系列机制,它支持x m l s c h e m a 中全部的简单数据类型、以及结构和数组; s o a pr p c 表示:定义了一个用来表示远程过程调用和应答的协定; s o a pb i n d i n g :它定义了使用底层传输协议来完成在节点键交换s o a p 信 封的约定。 虽然这四个部分均为s o a p 的一部分,但都是分别作为一个整体定义的,他 们在功能上是相交的、彼此独立的。s o a p 封装和s o a p 编码规则可以被定义在不 同的x m l 命名空间( n a m e s p a c e ) 中,这样使得定义更加简单。 第2 章w e b 服务相关技术 ( 2 ) s o a p 消息 消息格式 一个s o a p 消息就是一个x m l 文档,它的结构如图2 6 所示,其中它必然包 括一个s o a pe n v e l o p e 和s o a pb o d y 部分,而s o a ph e a d e r 部分是可选的。 图2 6 s o a p 消息格式 h e a d e r 元素 h e a d e r 元素信息项具备以下内容: 一个局部名:h e a d e r ; - 一个命名空间; 零个或多个带有命名空间修饰限定的属性信息项; 零个或多个带有命名空间修饰限定的元素信息项。 h e a d e r 元素的所有子元素都被称为s o a ph e a d e r 条目,每个s o a ph e a d e r 条目元素信息项: _ 必须带有命名空间修饰限定; - 可以带有一个e n c o d i n g s t y l e 属性信息项; 可以带有一个a c t o r 属性信息项; 一可以带有一个m u s t u n d e r s t a n d 属性项。 b o d y 元素 b o d y 元素信息项具备以下内容: 一个局部名b o d y 一个命名空间, - 零个或多个子元素信息项。 它的所有子元素必须是命名空问限定的,可以包含一个e n c o d i n g s t y l e 属性信 息项。 1 6 基于本体的w e b 服务描述、查找和选取研究 s o a ph e a d e r 和s o a pb o d y 的关系 它们的处理顺序是由s o a

温馨提示

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

评论

0/150

提交评论