(计算机软件与理论专业论文)语义web服务的自动调用.pdf_第1页
(计算机软件与理论专业论文)语义web服务的自动调用.pdf_第2页
(计算机软件与理论专业论文)语义web服务的自动调用.pdf_第3页
(计算机软件与理论专业论文)语义web服务的自动调用.pdf_第4页
(计算机软件与理论专业论文)语义web服务的自动调用.pdf_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

山东大学硕士学位论文 摘要 w e b 服务本质上是一个能用u r i 识别的软件系统,它的公共接口和服务绑定都 是用x m l 定义和描述的。它的定义可以被其他的软件系统发现,然后这些系统就 可以按照指定的方式和w e b 服务进行交互。 语义w e b 的思想就是利用元数据( m e t a d a t a ) 语言对w e b 信息资源的内容进行 语义上的描述,从而使计算机能够利用这些语义信息对信息资源的内容进行理解和 处理,并在此基础上,实现更高级的、基于知识的智能应用。语义w e b 服务就是一 个用具有良好的语义表达能力的语言来描述的w e b 服务,也就是在w e b s e r v i c e s 中 加入语义的支持。这种描述使得计算机之间能够理解互相通信的内容,从而实现w e b 服务自动化互操作。比如自动的发现、选择、组合、协同、调用、监控、管理等等。 利用o w l s 对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 服务的自动调用。 服务的组合是把原子服务按正确的顺序排列起来,服务的调用则是为每个服务 提供它所需要的正确的输入数据。本文提出的算法把经过服务组合得到的执行计划 p l a n 作为输入,从计划中第一个服务开始,如果它的执行条件具备了,就到知识库 中查找服务执行所需要的输入如果所有的输入都找到了,就可以执行这个服务, 并把服务执行所产生的输出加入到知识库中然后继续前进去处理下一个服务。如 果有些服务的需要的某些输入没有发现合适的匹配,算法要试着分析错误的原因 如果所有的层次中所有的服务都执行成功,整个计划就执行成功。否则提示执行失 山东大学硕士学位论文 败。 根据查询匹配中可能出现的完全匹配和部分匹配,本文使用两类查询: e x a c t q u e r y 和p a r t q u e r y 来为每个服务查找所需的输入数据以形成自动调用。如果 调用失败,算法还能够去分析失败的原因到底是服务的执行错误还是用户没有提供 正确完整的输入数据。 关键词:语义w e b 服务、原子服务、0 w l s 、w s d l 山东大学硕士学位论文 a b s t r a c t aw e bs e r v i c ei sas o f t w a r es y s t e mi d e n t i f i e db yau r lw h o s ep u b l i ci n t e r f a c ea n d b i n d i n g sa r cd e f i n e da n dd e s c r i b e db yx m l i t sd e f i n i t i o nc a l lb ed i s c o v e r e db yo t h e r s o f t w a r es y s t e m s t h e s es y s t e m sm a yt h e ni n t e r a c tw i t ht h ew e bs e r v i c ei nam a n n e r p r e s c r i b e db yl n t e r n e tp r o t o c o l s as e m a n t i cw e bs e r v i c ei saw e bs e r v i c ew h o s ed e s c r i p t i o ni si nal a n g u a g et h a th a s w e l l d e f i n e ds e m a n t i c s i ti s u n a m b i g u o 瑚l yc o m p u t e ri n t e r p r e t a b l e ,a n d f a c i l i t a t e s m a x i m a la u t o m a t i o na n dd y n a m i s mi nw e bs e r v i c ed i s c o v e r y , s e l e c t i o n , c o m p o s i t i o n , n e g o t i a t i o n , i n v o c a t i o n , m o n i t o r i n g , m a n a g e m e n t , r e c o v e r ya n dc o m p e n s a t i o n t h ep r o b l e mo fc o m p o s i n gw e bs e r v i c e sc a nb er e d u c e dt ot h r e ef u n d a m e n t a l p r o b l e m s : 1 m a k eap l a nt h a td e s e n b a sh o ww e bs e r v i c e si n t e r a c ta n dh o wt h ef u n c t i o n a l i t y t h e yo f f e rc a nb ei n t e g r a t e dt op r o v i d eas o l u t i o no f t h ep r o b l e m 2 d i s c o v e r yo f t h ew e bs e r v i c e st h a tp e r f o r mt h et a s k sr e q u i r e di nt h ep l a n 3 t h e nw ec a nm a n a g et h ei n t e r a c t i o na m o n gt h o s ew 曲s e r v i c e sa n da c h i e v e a u t o m a t e di n v o c a t i o n 7 1 1 碡s e r v i c ec o m p o s i t i o no r d e r sa t o m i cp r o c e s s e si nt h er i g h ts e q u e n c e ;t h e i n t e r a c t i o ni sc o m p l e t eo n l yw h e nt h ep r o c e s s e sa r ei n v o k e d e x e c u t e d i n v o c a t i o n i n v o l v e sg a t h e r i n gt h ec o r r e c td a t at ob ep r o d d e da si n p u tt oe a c hs e r v i c e 豇圯a m o h v o k ea l g o r i t h mt a k e st h ep l a ng e n e r a t e db yw e bs e r v i c e sc o m p o s e ra st h e i n p u ta n d h a sa c c e s st ou s e ri n f o r m a t i o ns t o r e da sf a c t si nt h eu s e r k ba n dt h eo u t p u t s r e c e i v e df r o me a r l i e re x e c u t i o no fs e r v i c e ss t o r e da sf a c t si nt h eo u t p u t k b :b o t ht h e s e r e s i d ei nj e s s 1 1 地p l a nh a snl e v e l s w i t ht h eh e a do ft h ep l a nc o r r e s p o n d i n gt ol e v e l0 a n dt h et a i lo f t h ep l a nc o r r e s p o n d i n gt ol e v e ln w ep i c kt h es e r v i c ea tl e v e l0a n dc h e e k i fa l lp r e c o n d i t i o n s 豁s o c i a t e dw i t ht h e mh o l dt r u e w et h e nq u e r yu s e r k ba n dt h e o u p u t k bt of i n dam a t c hf o rt h e i ri n p u t s i f am a t c h i sf o u n df o ra l lt h ei n p u t s 。w ee x e c u t e t h es e r v i c ea n ds t o r et h eo u p u t sr e c e i v e di nt h eo u t p u t k 8 w et h e ni b o v e0 1 1a n dp i c k o p e r a t o r sf r o mt h en e x tl e v e l f fa l li r l p u t sa r en o tf o u n d ( q u e r y a n d m a t c h r e r r n sm l ) , w eu yt od i a g n o s et h ec a u b eo fe r r o ru s i n gt h ed i a g n o s er o u t i n e i fa l lt h es e r v i c e si na l l 山东大学硕士学位论文 t h el e v e l sa r ee x e c u t e ds u c c e s s f u l l y , t h e np l a ne x e c u t i o ns u c c e e d s t h ea l g o r i t h mw ep r e s e n tf o ra u t o m a t i ci n v o c a t i o nu s i n gt w ot y p e so f q u e r i e s : e x a c t q u e r ya n dp a r t q u e r y a ta n ys t a g e , i fi n v o c a t i o nf a i l s ,o u ra l g o r i t h mf r i e st o d i a g n o s et h el i k e l yc a u s eo ff a i l u r e ,w h i c hm a yb ee i t h e rt h ef a u l t ye x e c u t i o no fas e r v i c e o ri n c o r r e c t i n c o m p l e t ei n f o r m a t i o np r o v i d e db yt h eu s e r k e y w o r d s :s e m a n t i cw e bs e r v i c e s ,o w l - s ,w s d l 、a t o m i cs e r v i c e s i v 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论 文不包含任何其他个人或集体已经发表或撰写过的科研成果。对本 文的研究作出重要贡献的个人和集体,均已在文中以明确方式标 明。本声明的法律责任由本人承担。 论文作者签名:猛盛 日期:塑箜:生互 关于学位论文使用授权的声明 关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权山东大学 可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 其他复制手段保存论文和汇编本学位论文 ( 保密论文在解密后应遵守此规定) 论文作者签名:越导师签名:铷期:一 山东大学硕士学位论文 第一章绪论 本章首先根据w e b 服务、语义w e b 以及语义w e b 服务的各自特点说明基于语 义w e b 服务的服务组合和自动调用问题的研究背景,分析现有技术的成功及不足, 然后概括本文的主要工作,说明论文的整体结构 1 1w o b 服务技术的不足 w w w ( w b d dw i d ew 曲) 自上个世纪9 0 年代初由t i mb e m e r s l e e 发明以来, 经过1 0 余年的发展,已经在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 s d l 文件中。w s d l 文档提供了可以被调用的操作的信息,定义了消息内容的 s c h e m a ,描述了消息交换的模式和服务的位置。这类似于一个集中了方法以及输入 输出的语法的信息的集合。如何调用还是要程序员根据对调用服务的含义的文本解 释手工完成。 为此,t i mb e r n e r s l e e 于1 9 9 8 年首次提出语义w e b ( s e m a n t i cw e b ) 的概念 语义w e b 研究的耳标是扩展当前的w e b ,赋予w e b 中的所有信息以定义良好的语 义,让计算机能够理解和处理,从而使人和计算机能更好地协作,充分发挥w w w 这个巨大的分布式信息系统的潜力也就是说,语义w e b 服务的目标是,通过清楚 地用s e m a n t i cw e b 语言而不是文本来描述这些含义,使得对当前服务的说明更丰 山东大学硕士学位论文 富,使得机器知道什么时候可以执行这个服务,执行这个服务的后果是什么。从原 则上说,这种描述可以被a g e n 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 服务等概念作进一步阐述。 1 1 1 w a b 服务概述 w 3 cw e bs e r v i c e s a r c h i t e c t u r e 小组为w e b 服务暂行的定义是:“w e b 服务是由 u r i 标识的软件应用程序,其接口和绑定可以通过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 ) 构件进行定义、描述和发现,w e b 服务支持通过基于因特网的协议使用基于x m l 的消息与其他软件应用程序直接交互”。w e b 服务所执行的功能可以是简单的请求, 也可以是复杂的商业过程。服务可以提供信息,例如天气预报、股票报价服务;也 可以对现实世界产生影响,例如机票预订、信用卡交易等服务。 w e b 服务的体系结构是基于三个角色( 服务提供者、服务请求者、服务中介) 和 三个操作( 发布、发现、绑定) 构建的。服务提供者通过在服务中介处注册来发布可 用的服务,服务请求者通过在服务中介处查找服务登记记录来发现合适的服务,并 绑定服务提供者以使用该服务w e b 服务的角色及操作如图1 1 所示。 图i 1w e b 服务架构 w e b 服务是由一套协议栈构成的层次化体系结构,如图1 2 所示,其中底层传 输协议是广泛使用的因特网标准:h t t p , f r p s m t p 等。中间部分是目前w e b 服务的 2 山东大学硕士学位论文 相关协议标准,包括简单对象访问协议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 ) 、统一 描述发珊集成协议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 ) ,w e b 服 务描述语言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 ) 。s o a p 是一种基于x m l 的不 依赖于传物协议的表示层协议,用于应用程序以对象形式方便地交换数据。u d d i 是一套注册中心的规范,所有w e b 服务注册信息都存储在u d d i 商业注册中心,以 便查找。w s d l 通过一套x m l 语法描述,将w e b 服务定义为一个能交换消息的通 信端点集合。在中间层之上,是一些支持复杂工作流和业务逻辑的工作流建模语言, 如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 和微软、m m 等共同提出的业务过程执行语言 b p e l 4 w s 1 6 】( 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 b s e r v i c e s ) 等。右边部分是 各个协议层的公用机制,包括安全和管理的协议或机制。 w s 兀。x l a n g b p e i m w s 等 u d d i w s d l s o a p h 1 1 p ,f t p s m t p 等 图1 2w e b 服务层次化体系架构 w 曲服务允许在w e b 站点上放置可编程的元素,能进行基于w 曲的分布式计 算和处理,把w e b 从一个信息的集合变成一个分布的计算环境,显著增强了w e b 体系结构的潜力,因此成为近年来软件业界研究和开发的热点。然而,目前w e b 服 务的描述都是基于半形式化的自然语言,如u d d lw s d l 等,对服务的自动发现、 协商、组合等的支持还很有限。 山东大学硕士学位论文 1 1 2 语义w e b 语义w e b 是对未来w e b 体系结构的一个伟大构想,被定义为“由一些可以被 计算机直接或间接处理的数据组成的w e b ”。当前基于h t m l 的w 曲网页是设计给 人看的,计算机并不能理解其中信息的含义。而语义w e b 的基本思想是通过本体 ( o n t o l o g y ) 和w e b 内容的语义标记,使计算机( 程序或智能a g e n t ) 能够理解并处理w e b 上的信息,从而更好地协助人们在w 上发现知识、处理事务。o n t o l o g y 是共享概念 的形式化、显式的定义。在语义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 研究的重点是如何把信息表示为计算机能够理解和处理的形式,即带 有语义的形式。b e r n e r s l e e 在x m l 2 0 0 0 国际会议上提出了语义w e b 的层次结构 1 _ z e 0 0 1 ,如图1 3 所示它主要基于x m l 和g d f ( r e $ o u r c cd e s c r i p t i o n f r a m e w o r k ) r d f s ( r d fs c h e m a ) ,并在此之上提供本体和逻辑推理规则,以完成基 于语义的知识表示( 日王) 和推理,从而能为计算机所理解和处理。语义w 曲在理论上 以知识工程( k e ) 成熟的理论、技术和方法为核心,知识表示,o n t o l o g y 和智能a g e n t 等都是重要的研究内容,它们是不可分割的。 图1 3 语义w e b 层次架构 4 山东大学硕士学位论文 i n t e m e t 上的资源不仅仅局限于数据和数据所表示的信息,随着信息技术的发展 和人们实际的生产和生活需要,越来越多的资源通过服务封装之后,都可以而且都 需要通过i n t e m e t 访问得到在这种情况下,如何将语义w e b 技术和w e b 服务技术 结合起来,通过w e b 服务的语义封装为人们提供所谓的语义w e b 服务,是一个非 常值得研究和探讨的问题。 1 1 3 语义w e b 服务 语义w e b 研究的兴起为w e b 服务带来了新的活力,结合语义w e b 技术的w e b 服务( 即语义w e b 服务【5 】) 将是一种更为智能的服务,是w e b 服务未来的发展趋 势我们从下面的例子就可以看出w e b 服务和语义w e b 服务的距离: 例如,假设一位教授要从北京去上海参加一个国际会议,他想在网上预订机票 和酒店房间。在目前的w e b 上,他必须自己先通过门户网站查询到可以订购机票的 网站。然后逐个访问,直至找到符合自己要求( 如航空公司、付费方式等) 的服务 并访问调用它然后再同样地去寻找合适的酒店房间预订服务并访问它 在这种传统的方式下,w e b 所提供的服务( 如机票预订服务、酒店房间预订服 务等) 是简单的、单个的对它们的查找、访问和组合是用户自己来完成的而且 这种查找和访问是基于关键词的,靠用户自己来理解服务的语义。 而在未来的语义w e b 上,用户可以委托自己的智能软件a g e n t 帮他查找符合自 己要求的服务,然后用户自己再去访问该服务,提交订单。或者,他可以进一步要 求a g e n t 直接帮他从找到的网站订购机票或订房间再或者,他可以直接要求a g e n t 帮他安排参加这次会议的所有行程( 包括查找服务、订机票和订房间等) 上述第一种应用是服务的自动发现,是指a g e n t 自动地为用户寻找符合特定要 求的服务。第二种是服务的自动执行,是指a g e n t 根据用户的个人信息自动为该用 户执行某个服务。第三种是服务的自动组合和调用,是指a g e n t 自动选择、组合和 调用服务来完成特定的复杂任务 在语义w e b 服务的工作方式下,服务的发现、执行和组合不再需要由人来完成, 而是可以由a g e n t 来自动完成。由于服务的描述是基于o n t o l o g y 的,是计算机能够 山东大学硕士学位论文 理解的形式,因此服务的查找可以是基于语义的匹配,单个的服务也可以由a g e n t 自动地组合起来,以完成用户提出的复合任务。 1 2w e b 服务组合技术的发展与现状 语义w 曲服务的自动调用是在建立了组合w e b 服务的计划后再执行的w e b 服务组合技术建立在w 曲服务基础上,在面向服务的体系结构下,成为企业业务集 成的关键技术。 1 2 1 w e b 服务组合关键技术 单个简单的w 曲服务往往无法满足实际的应用需求,人们常常需要组合多个 w e b 服务以完成一个较复杂的任务,这就是服务的组合问题,它包括服务的选取和 执行。传统方式下服务的选取和执行通常是由用户来完成的,而本文所讲的是在语 义w e b 环境下,计算机如何根据必要的输入信息自动地、动态地选取和组合服务, 形成服务计划,然后自动执行计划中的每个服务。 支持语义w e b 服务自动组合的主要关键技术包括: ( 1 ) 语义w e b 标记语言 w 曲服务的语义信息需要通过合适的语言来标记。标记语言的语义表达能力和 形式化支持直接影响到w e b 服务组合的自动化程度和灵活性因此,语义w e b 服 务自动组合技术与语义w e b 标记语言的发展密切相关 ( 2 ) w e b 服务的语义描述模型和本体 有了语义w e b 标记语言的支持,还需要考虑描述服务的哪些信息,也就是为 w e b 服务建模。完整的模型既需要能描述服务的属性,如功能信息、性能信息、物 理信息等,也需要能描述用户的需求、个人偏好和约束等。模型建立后,需要用合 适的语义w e b 标记语言将其描述为大家可以共享的本体。 ( 3 ) w e b 服务的组合方法 如果服务资源的语义描述模型已经建立,用户的需求描述模型也已经确定了组 合服务需要实现的目标,则需要考虑如何将多个原子服务集成在一起完成组合服务 的任务,即研究服务自动组合规划的方法。 山东大学硕士学位论文 ( 4 ) 组合w e b 服务的自动调用 组合w e b 服务计划生成后,需要解决如何具体调用计划中的每个服务去完成 整体服务,生成用户所需要的信息。如果信息不唯一,则采用某种方法生成正确的 信息。如果某个整体服务不能正确执行,则要找出错误原因并尽量解决 2 2 目前组合服务的研究情况及不足 随着w e b 服务应用的推广和用户的增加,己经有不同的企业和研究单位提出了 多种不同的w e b 服务组合的模型及其具体的实现技术。下面,我们就一些主要的 w e b 服务组合技术逐一进行介绍。 s w o r d 1 8 是一种服务组合的模型,但是它使用自己定义的一套简单的描述语 言而不支持任何一种象w s d l 或o w l - s 一样被大家接受的标准。服务被实体关系 模型模式化为输入和输出,输入被分为条件输入和数据输入,输出也是类似划分。 有条件的输入或输出被声明为服务操作的实体以及实体之间的关系。数据输入或输 出组成了服务所使用的实际的数据( 实体的属性) 。 i b m 也有一个类似的框架w e bs e r v i c e st o o l k i t ( w s t k ) 2 。为以w s d l 描述的 服务创建了一个组合引擎。虽然他们描述了这个组合的p l a n n e r 2 0 ,但是从服务描 述中创建操作符不是完全自动的。这主要是因为缺少一种从w s d l 文档中获得领域 知识的机制。本文参考的p l a n n e r 使用o w l - s 描述的服务。o w l 2 2 帮助我们描述 本体以获得领域知识。这些加入的知识使得p l a n n e r 具有多功能性而且可以组合复杂 服务。 t h eg o l o g - b a s e ds y s t e m 1 3 通过基于用户的参数而修改的通用模板来实现服务 组合,产生最终的计划。模板不是自动生成的。我们的组合器能够从无到有地生成 计划而且不依赖于模板。 e - w o r kf l o w 【6 组合讲的是在工作流系统中的组合。工作流是过程的抽象表达, 工作流用任务活动组件来构建,合适的任务可以从工作流库中选择出来,w e b 服务 被当作工作流中的任务。这种技术使用语义发现的方法去选择合适的w e b 服务以 及将w e b 服务集成如工作流。主要的贡献是提供了工具帮助实现手工的工作流组 7 山东大学硕士学位论文 合。但是不处理基于o w l - s 的语义w e b 服务。 s h o p 2 1 9 组合器要求每个原子服务要么产生输出,要么产生结果这个假设可 以区分信息收集服务和结果产生服务。做了这个区分,s h o p 2 就可以在计划生成阶 段执行收集信息的服务以及模拟产生结果的服务的执行。用s h o p 2 来组合时,服务 提供者必须描述和上面的假设一致的那些服务。原则上,服务可以被重新设计以使 得每个服务要么产生输出,要么产生结果。但这就使得新服务的设计受到一定的限 制,对已有的服务则需要重新改写。而本文的设计不需要上述限制,也不需要重新 设计。p a o l u o c i ,s y c a r aa n dk a w a m u r a 宣称在计划阶段执行信息收集服务可以用重新 计划的方法处理意料之外的情况 1 4 】。他们的论文中使用了o w l - s 但没有具体提到 如何修改来实现对o w l - - s 描述的使用。 s h o p 2 的组合器提供了同时的信息收集和计划【2 1 】。本文认为同时的组合和调用 在w e b 服务领域意义不大。这是因为除了在计划的开头的少数服务之外,大多数服 务可能需要其他服务的执行结果作为输出。这些服务需要在其他服务执行之后再开 始,而不是可以以任意的顺序执行。 因此,同时的执行和计划可以被从后向前的p l a n n e r 产生,或者被一个混合的, 同时从头和尾开始的p l a n n e r 产生但是,只有那些信息收集的服务可以在计划生成 阶段被调用,一旦遇到一个产生一个或多个结果的服务,那些需要这些结果的服务 就不能被执行了而且,事先也不知道一个计划能否被成功创建这就会导致在创 建计划中因为失败的尝试而调用一些服务,而服务的执行过程包括从网络上发出请 求以及接受回应,通常是很费时间的。如果事先建立好计划,我们就可以避免这些 额外的执行而采用从后向前的方法,s h o p 2 就失去了他们在计划阶段同时执行信 息收集而带来的可能的好处。 1 3w e b 服务调用的研究情况 w 曲服务的调用,一般可分为静态和动态两类。静态调用就是根据w s d l 7 】 文件生成n e t 或者j a v a 客户端代理,然后以s t u b - - s k e l e t o n 的方式调用w e b 服务, 这种调用需要手工的干预。传统的动态调用一般采用r p c 方法,如a p a c h es o a p , 但这种调用方式往往局限于特定的协议如s o a p ,没有通用性。 山东大学硕士学位论文 m m 提出的w s l f 8 允许客户端使用基于w s d l 文件的、无需考虑w 曲服务的 传输协议及其具体位置的方法来调用w e b 服务,并且允许以相同的方式调用非 s o a p 的服务,从而简化了应用程序的开发w s wa p i 是一组基于w s d l 文件的 a p i ,它调用可以用w s d l 文件描述的任何服务。w s i f a p i 允许编程者通过w s d l 描述和w e b 服务调用的抽象层打交道,而不直接使用s o a p 来调用w e b 服务。编 程者使用w s i f 后就可以使用统一的编程模型来调用w e b 服务而不需要了解该w e b 服务是如何实现和被访问的w s i f 还允许通过运行时分析w e b 服务描述的元数据 来实现动态调用w e b 服务但是w s i f 存在着实现过于复杂,对工作流的修改需要 整合平台大量的重编码和重编译,以及动态调用w e bs e r v i c e s 接口的时间较长等问 题。【1 7 就目前的w e bs e a , r i c e 的使用过程来看,编写应用程序的程序员需要人工在网 络上寻找合适的服务实例,阅读用自然语言描述的功能说明并据此手工指定服务的 输入和输出,然后在程序中嵌入根据服务描述生成的桩( s t u b ) 代码。如果程序发布后, 需要增加对新的服务的支持,就必须重复以上过程,然后重新发布代码。在这一过 程中,程序员和被使用的服务之间有着紧密的联系,这一关系事实上妨碍了服务的 动态发现和使用【2 3 】。 为了解除这种不必要的耦合,本文认为可以把程序员编写的应用程序看作一个 a g e n t ,当其运行到调用服务的代码时,a g e n t 就产生了一个对该种服务的请求。在 a g e n t 系统中,这种请求可以由一个中闯代理来满足这样,程序员只需要负责产 生中间代理能够识别的请求,就可自动地使用不同的服务。 为了能够被a g e n t 发现并理解,w e b 上的服务需要按照某种规范发布自己的描 述信息,如o w l - s 。服务需要发布的信息包括服务的摘要描述、调用的顺序和服务 的网络位置其中在发现和匹配过程中用到的主要是服务的摘要描述。 1 4 本文的主要工作 w e b 服务的组合及调用可以分为三个步骤,首先制定一个计划描述w e b 服务怎样 交互以及它们提供的服务以怎样的顺序集成在一起,以形成问题的解决方案;然后 寻找到计划中的每个具体的服务在此基础上,对w e b 服务之间的交互进行管理, 9 山东大学硕士学位论文 形成w e b 服务的自动调用。 服务的组合是把原子服务按正确的顺序排列起来,服务的调用则是为每个服务 提供它所需要的正确的输入数据本文使用两类查询:e x a c t q u e r y 和p a r t q u e r y 来为每个服务查找所需的输入数据以形成自动调用。如果调用失败,算法还应该去 分析失败的原因到底是服务的执行错误还是用户没有提供正确完整的输入数据。 本文主要阐述了在语义w e b 服务系统中,根据用户的要求利用“后向”算法对 现有的原子服务进行组合形成,形成一个服务的计划;然后根据产生的的服务计划 去自动执行服务计划中的每一个服务,从而满足用户的要求。 本文的第二章是相关工作介绍,介绍了利用o w l - s 实现w e b 服务语义化信息发 布的具体方法。这是语义w e b 服务自动调用的基础。在此基础上,第三章阐述语义 w e b 服务中怎样根据用户需要和现有的原子服务构建一个服务计划。这个服务计划 的产生参考了m a r y l a n d 大学的m i n d s w a p sw e bs e r v i c ec o m p o s e r 。根据服务计划, 第五章具体说明了自动调用w e b 服务实现计划的算法。本文提出的系统是首先创建 好计划然后再执行计划。执行中如果某个服务不能产生所要的结果,执行引擎会要 求p l a n n e r 创建一个使用另外的服务来产生所要结果的计划。通过依靠一个将计划和 执行分离的方法,我们还可以重新计划。分离的调用引擎可以执行p i a n n c r 产生的计 划如果计划的执行失败,调用引擎可以确定失败的原因是服务执行错误还是用户 提供的信息不完整。 1 0 山东大学硕士学位论文 第二章利用o 、l s 实现w 曲服务的语义化 本章主要介绍o w l - s p i 的组成以及如何利用o w l - s 实现w e b 服务的自动发 现、调用、组装为了能够被a g e n t 发现并理解,w e b 上的服务需要按照某种规范 发布自己的描述信息,例如o w l - s 。服务需要发布的信息包括服务的摘要描述、调 用的顺序和服务的网络位置等等。其中在发现和匹配过程中用到的主要是服务的摘 要描述。 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 ) ,是用o w l 语言描述的w e b s e r v i c e 的o n t o l o g y 1 5 它也是一种具有显式语义的、无歧义的、机器可理解的标 记语言( m a r k u pl a n g u a g e ) ,用来描述w e bs e r v i c e 的属性和功能。o w l - s 的早期 版本叫做d a m l s ( d a r p a a g e n tm a r k u pl a n g u a g ef o rs e r v i c e s ,基于d a m l + o i l ) h o w l t w o r k s 图2 1o w l s 中服务本体的结构 2 10 w l s 组成 图2 1 是s e r v i c e 的上层o n t o l o g y 结构在o w l - s 中,一个s e r v i c e 由三部分 来描述:s c 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 d i n g 。简单来说,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 最多被一个s e r v i c e m o d e l 描述,一个s e r v i c e c g o u n d i n g 必 须和一个s e r v i c e 相关联。以下将详细描述这三个部分。 山东大学硕士学位论文 2 1 1s e r v i o ep r o f i e s e r v i c ep r o f i l e 描述一个服务主要包含三方面信息。 首先,服务提供者的白页和黄页信息。比如服务提供者的联系方式 其次,服务的功能信息。主要是指服务的i o p e :i n p u t ,o u t p u t ,p r e c o n d i t i o n , e f f e c t 。i o p e 是o w l - s 中的主要内容之一,在s e r v i c e m o d e l 中还会详细描述。 最后,s e r v i c ep r o f i l e 可以提供服务的所属的分类,服务q o s 信息。s e r v i c e p r o f i l e 也提供了一种机制来描述各种服务的特性,服务提供者可以自己定义。s e r v i c e p r o f i l e 最大的特点就是双向的,服务提供者可以用p r o f i l e 描述服务的功能,服务 请求者可以用p r o f i l e 描述所需服务的需求。这样服务发现时,m a t c h m a k e r 可以利 用这种双向的信息进行匹配。 另一方面,s e r v i c ep r o f i l e 是r e g i s t a y - m o d e l - n e u t r a l 的,也就是说,p r o f i l e 支持 各种各样的r e g i s t r ym o d e l ,最常用的r e g i s t r ym o d e l 比如u d d i 的基于服务注册中 心的集中式解决方案。而在特殊情况下,比如某个服务供不应求,那么可以建立服 务请求的注册中心,对每个服务请求进行注册,当服务响应完一个请求后,从注册 中心中取出下一个进行响应。这与u d d i 是完全相反的一个过程。由于s e r v i c e p r o t l l e 是双向的,它完全支持这种方式的r e g i s t r ym o d e l 。对于p 2 p 方式的r e g i s t r y m o d e l ,没有统一的注册中心,s e r v i c ep r o f i l e 也能够支持。 2 1 2s e r v i c em o d e s e r v i c em o d e l 主要是服务提供者用来描述服务的内部流程。一个s e r v i c e 通常 被称之为一个p r o c e s s ( 过程) p r o c e s s 的o n t o l o g y 如图2 2 所示: 山东大学硕士学位论文 图2 2 p r o c e s s 分为三类:a t o m i cp r o c e s s , 过程本体的组成 c o m p o s i t ep r o c e s s ,s i m p l ep r o c e s s 。 r d f s :c o m m e n t ) t h em o s tg e n e r a lc l a s so fp r o c e s s e s o w l :c l a s sr d f :a b o u t = # s i m p l e p r o c e s s b o w l :c l a s sr d f :a b o u t = # c o m p o s i t e p r o c e s s n a t o m i cp r o c e s s ( 原子过程) 是不可再分的过程,可以直接被调用。每一个原子 过程都必须提供一个g r o u

温馨提示

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

评论

0/150

提交评论