语义Web服务描述语言研究
- 格式:pdf
- 大小:359.68 KB
- 文档页数:7
收稿日期:2012-05-11;修回日期:2012-07-16基金项目:国家“973”计划资助项目(2009CB3020402);江苏省自然科学基金资助项目(BK2010103)作者简介:王珏(1987-),男,黑龙江哈尔滨人,助理工程师,主要研究方向为Web 服务匹配(415638921@qq.com );向朝参(1987-),男,博士研究生,主要研究方向为SOA 架构、无线传感网;王萌(1983-),男,助教,主要研究方向为Web 服务发现;田畅(1963-),男,教授,博导,主要研究方向为网络信息系统、无线分组网;赵文栋(1972-),男,副教授,主要研究方向为SOA 体系架构、计算机网络;代登坡(1986-),男,助理工程师,主要研究方向为Web 服务发现.语义Web 服务发现研究现状与发展*王珏1,向朝参1,王萌1,田畅1,赵文栋1,代登坡2(1.解放军理工大学通信工程学院,南京210007;2.中国人民解放军78083部队,成都610011)摘要:从不同方面对语义Web 服务发现相关技术进行综述。
阐述了语义Web 服务的基本概念和特点,总结和分析了语义服务发现的基础———语义服务描述语言,重点从单服务匹配和服务组合匹配两个方面对语义Web 服务发现的关键问题———语义Web 服务匹配近年来的研究,进行了全面的总结和讨论,并指出了语义Web 服务发现研究领域的挑战和未来的研究方向。
关键词:面向服务架构;语义Web 服务;服务发现;服务组合;服务匹配中图分类号:TP393文献标志码:A文章编号:1001-3695(2013)01-0007-06doi :10.3969/j.issn.1001-3695.2013.01.002Survey on semantic Web services discoveryWANG Jue 1,XIANG Chao-can 1,WANG Meng 1,TIAN Chang 1,ZHAO Wen-dong 1,DAI Deng-po 2(1.Institute of Communication Engineering ,PLA University of Science &Technology ,Nanjing 210007,China ;2.78083PLA Troops ,Chengdu 610011,China )Abstract :This paper presented the state-of-the-art of semantic Web service from various aspects.First of all ,this paper ex-plained the basic concepts and character of semantic Web service.And then ,it summarized and analyzed several kinds of ser-vice description languages which were the base of service discovery.Moreover ,it comprehensively summarized and discussed service matching as the key problem of service discovery from two aspects —single service matching and service compositionmatching.In the end ,this paper proposed the challenge and the future work of the study on semantic Web service discovery.Key words :SOA (service-oriented architecture );semantic Web service ;service discovery ;service composition ;servicematching0引言信息技术的发展带动了各类应用系统的不断涌现,在为用户带来更多便利的同时,也给IT 系统的设计和开发带来了新的挑战。
2010年10月情报探索第10期(总156期)1引言随着互联网、移动计算和传感器网络等技术的不断发展,人们生活在由它们编织的一个大网中,并且成为其中的一部分。
几乎在任何时间任何地点人们都可以获取Web服务。
随着Web服务数量的增加,Web服务发现显得越来越重要。
语义Web技术的出现使得Web服务发现有了较大的发展,如英国马萨诸塞州理工学院的Mark Klein和美国纽约大学的Abraham Bernstein提出了基于过程本体论的服务发现技术,即将每个Web服务分解成几个过程的集合,前一个过程的输出是后一个过程的输入。
利用过程本体来描述查询请求与Web服务,把查询的过程本体与服务的过程本体进行匹配[1];美国卡内基梅隆大学的M.Paolucci提出了基于OWL-S的Web 服务发现模型和基于Web服务能力的语义匹配思想,即把体现服务功能的输入输出参数作为匹配依据,并根据预定义的匹配类型来计算服务的匹配程度,它们成为后来服务发现研究的经典模型和核心思想[2]。
虽然语义Web相关技术使得Web服务发现有了很大的改善,但是就像上述两种语义Web服务发现方法一样,大多语义Web服务发现方法都只关注服务功能的语义匹配,忽视了上下文对服务发现的影响。
庞大的Web服务使得用户的选择性增加,用户个性化的需求就显得尤为重要,同时用户的环境也影响着其所能接受的服务,而服务提供者对用户和环境的要求也无法被忽视。
然而上述关注的语义Web服务发现缺乏用户、服务提供者和具体环境的上下文信息,不能很好地满足不同的用户希望根据自己的实际情况获取到不同的服务的需求,从而无法选出最合适用户的服务。
本文从上下文的角度出发提出一种基于上下文的语义Web服务发现的框架。
在这个框架中上下文信息充分参与整个服务发现过程,在服务功能性匹配的基础上进行用户、服务提供者和环境上下文之间的匹配,从而提高服务发现的查准率和查全率。
2上下文在语义Web服务中的描述尽管上下文在某些环境中显而易见,如某次谈话中谈话的时间、地点和氛围等很容易成为交谈双方确知的上下文,但要给上下文下一个通用的定义却相当困难。
语义Web服务Web服务是自包含、自描述的模块化应用,它提供了从简单请求到复杂商业处理的功能,一旦web服务被部署,其它的应用就能够发现并调用部署的服务,从技术角度来看,web服务描述了一系列操作的接口,它使用标准的XML消息传递技术封装信息,并可经由网络访问这些接口和操作,完成特写的任务。
服务实现与服务接口的分离,促使基于web服务的应用成为松耦合,面向构件、跨技术的实现。
Web服务最初是由Ariba、IBM和Microsoft等共同提出的,旨在为Internet 上跨越不同地域、不同行业的应用提供更强大的互操作能力。
Web服务是一种软件系统,被设计用于实现机器之间通过网络的互操作。
Web服务拥有极其可处理的接口描述,外部系统可依据这个描述,通过SOAP消息与其交互。
Web 服务主要依托一系列开放的协议和标准。
下面图1展示了Web服务协议栈。
Web 服务使用标准的、规范的XML进行描述,该描述包括消息格式(详细描述操作)、传输协议和位置,隐藏了实现服务的细节,这允许并支持基于Web 服务的应用程序成为松散耦合、面向组件和跨技术实现。
它能够快速地开发、发现、发布和动态地绑定应用服务正是由于web服务上述的特性,使得它非常适合于当今商务应用的集成。
然而一个单独的web服务很可能限制其所拥有的能力。
所以工业界和学术界都希望能够通过合成现有的web服务来创造出新的服务功能。
同时,B2B商务的发展也使得web服务合成获得了空前的关注,通过集成多个服务从而得到增值和新服务,这将是一个不容错过的商务。
为了向用户提供可理解的服务资源的描述形式,提高服务选取与推荐的准确性,需要一种更加精确的刻画手段,从语义层面对Web服务的能力和属性进行描述,进而提出了对服务的语义描述的需求。
变无序数据为有序知识,让计算机理解Web信息,即语义Web。
语义Web是由WWW的创始人Tim Berners-Lee在2001年正式提出的,它是对万维网本质的变革,它的主要任务是使数据能被计算机自动的处理和理解,其最终目标是让计算机可以在这些海量信息中找到人所需要的任何信息,从而将万维网中现存的信息发展成一个巨大的全球信息库、知识库。
收稿日期:2012-11-05;修回日期:2012-01-12基金项目:湖南省教育厅科研项目(10C1237)作者简介:李发英(1972-),女,湖南郴州人,讲师,硕士,研究方向:分布式计算.基于语义的web 服务匹配算法研究与实现李发英,陆武魁(湘南学院计算机科学系,湖南郴州 423000)摘 要:随着Internet 信息的迅速增长,快速而有效地查找网络信息成为获取网络信息的基础.为了实现高效查找web 服务,提出一种基于语义的三阶段匹配算法,首先对web 服务进行基于关键字的分类筛选,然后实现web 服务基于语义的功能匹配,最后实现web 服务的非功能匹配.实践证明,该算法能够提高web 服务匹配效率.关键词:web 服务;匹配算法;分类;功能web 服务匹配中图分类号:TP393.027 文献标识码:A DOI:10.3969P j.jssn.1672-8173.2012.02.0121 引言当今Internet 迅猛发展,个人和企业对Internet 上的资源需求也在大幅度增长,如何有效利用网络上的海量资源和信息成为一个关键问题.Web 服务是对Internet 环境下资源的统称,指具有自治性的软件实体,在实现上,web 服务由服务提供者提供并发布到网络上,网络上的服务注册中心统一管理各类web 服务,需要web 服务的对象包括团体或个人或是其他web 服务称为服务请求者,服务请求者通过注册中心寻找web 服务.要实现web 服务的发布与调用,涉及到三个基本对象和三种基本操作,其中的关键技术分别是SOAP,W SDL 和UD -DI,三个基本对象是服务提供者Provider,服务请求者Requester 以及服务注册中心Register.三种基本操作是发布(publishing),绑定(binding)和请求(request).SOAP 的中文意思是是简单对象访问协议,对应的四个英文单词分别是Simple Object Access Protoc ol,SOAP 是web 服务实现服务调用的基础,当网络上的web 服务要调用其他服务时,SOAP 提供相应的通信机制.SOAP 将web 消息体封装使web 服务之间的调用与具体平台和操作系统无关.WSDL 是Web Service Description Language 的缩写,WSDS 是一种web 服务描述语言,它通过XML 文件格式来描述服务基本信息以及服务调用的相关信息,其中最基本的信息是某一个web 服务可以实现那些方面的功能,调用该web 服务的具体方法等,本质上,web 服务匹配的精确度跟WSDL 文件中描述信息的丰富程度紧密相关,文件中关于web 服务的描述信息越详尽,在服务匹配时精确度越高,因此,要提高服务匹配的精度,实现快速和有效匹配,一种方法是在该文件中添加更多的关于该web 服务的功能和非功能语义信息.然后基于语义实现服务匹配.由于篇幅的限制,如何添加更多的语义信息在本文中不给出具体介绍.UDDI 的中文意思是统一描述、发现集成,UDDI 是Universal Description Discovery Integrated 的缩写,UDDI 的功能是实现对web 服务的注册,因此也可以将UDDI 看作一个用于查找和注册WEB 服务的注册器,通过UDDI 可以为服务提供者提供发布服务的方式,同时UDDI 也负责管理由服务提供者已经发布的Web 服务.UDDI 是服务请求者和服务提供者之间联系的桥梁,UDDI 将服务提供者和服务请求者绑定在一起,从而便于服务请求者调用所需要的web 服务.Web 服务赖以实现的这三大核心技术以XML(eXtensible Markup Language)可扩展标记语言为基础,相互作用,共同完成web 服务的描述、发布、管理和调用,在整个SOA 体系架构中起到关键性的作用.2012年4月第33卷第2期 湘南学院学报Journal of Xiangnan University Apr.,2012Vol.33No.2Web 服务的实质是/共享资源、交互通信、协作研究0.通过分布在全球各地web 上的各种资源,在SOAP 协议下达到共享的目的.服务的内涵十分广泛,从计算服务、查询与检索、信息处理到自动完成服务服务查找和合成的语义web 服务时代.因此,要实现语义环境下的WEB 服务查询与处理,服务的自动合成,服务匹配算法至关重要,特别是算法本身的效率高低,直接影响到服务查找与合成的速度,决定了用户利用网络资源和访问网络资源的快速性和高效率.2 Web 服务的体系结构要实现SOA 体系结构中的WEB 服务匹配,首先了解体系结构中的基本组成部分,从体系结构实现的功能来看,Web 服务体系结构包含必须的三个对象以及三种基本操作.三个对象分别是:服务请求者Requester:在SOA 体系中,服务请求者可以是最终用户也可以是实现某个特定功能的应用程序.服务提供者Provider:能够提供服务的软件实体.服务注册中心Registry:保存服务并对服务进行管理的机构.三种基本操作是:发布(Publish):发布操作将服务提供者对象与注册中心联系起来.发现(Find):发现操作将服务提供者与服务请求者联系起来.绑定(Bind):绑定操作将注册中心与服务请求者联系起来,为实现服务发现提供了支撑作用.在SOA 体系结构中,三个对象和三种基本操作互相连接,密不可分,三个对象对三个基本操作有重要作用,由图1可知,服务提供者将WEB 服务发布到服务注册中心,服务请求者通过查找服务注册中心来查找并发现所需要的W EB 服务,服务提供者通过棒定操作与服务请求者联系在一起.图1 SOA 架构下的WEB 服务体系结构图如图1所示,SOA 体系结构中的三个对象分别实现以下功能,这三个对象与三个核心操作紧密结合,共同实现WEB 服务的发布、发现和绑定,以及在动态环境下为企业和个人实现动态服务选择和服务组合.(1)服务提供者(Service Provider):该对象在SOA 体系结构中是一个关键部分,它通过因特网向企业或个人提供应用服务.通过使用一种服务描述语言来描述和定义应用程序的功能,服务描述语言的描述能力直接关系到WEB 服务的查找和调用,当前比较流行的服务描述语言是W SDL,在SOA 结构中,任何一个服务提供者可以在网上发布一个或者多个应用服务,应用服务的基本信息通过UDDI 服务注册中心发布,这样其他应用程序或用户可以通过网络接收和调用满足需要的Web 服务.(2)服务请求者(Service Requester):服务请求者对象也称服务用户(Service User).服务请求者可以是最终用户,也可以是一个由其他任何一个服务提供者提供的WEB 服务.从服务调用和服务使用的角度看,服务请求者可以是任何一个发现并调用其他应用程序,或启动与服务交互的应用程序.(3)服务注册器(Service Registry):服务注册对象的主要作用是实现WEB 服务的注册.并发布服务基本信息的对象,主要负责将服务提供者对象和服务请求者对象联系起来.在SOA 体系结构中,实现WEB 服务的发现、查找和调用,必须发生的基本操作有:(1)发布服务(Publishing):在W EB 服务,服务提供者为了将自身提供的WEB 服务描述信息及时发布到网络上,可以通过发布服务的操作将服务基本信息,如何调用该服务的相关信息通过服务注册器对象进行发布.发布后,WEB 服务保存在服务注册器中,供服务提供者在需要的时候调用.(2)发现服务(Finding):在服务匹配系统中,服务请求者通过服务注册中心查找需要的WEB 服务,在服务注册中心查找并获取要调用WEB 服务的相关描述信息,为调用该WEB 服务奠定基础.通过发现操作,服务提供者和服务注册中心可以很方便地联系起来,最后将需要的W EB 服务通过服务注册中心查找并实现成功调用.李发英,陆武魁:基于语义的web 服务匹配算法研究与实现湘南学院学报(自然科学版)2011年4月(第33卷)第2期(3)绑定服务(Binding):服务提供者将自身所提供的WEB服务发布到服务注册器后,服务请求者可以直接使用服务描述信息中的服务绑定信息来定位、联系以及调用所需要的WEB服务,从而完成与某个特定的需要Web服务的交互.3基于语义实现三阶段WEB服务匹配算法当前对WEB服务研究中,WEB服务匹配算法的研究在学术界已经有多种不同的实现方法.大概有语法级和语义级服务匹配.语法级服务匹配基于UDDI技术和WSDL技术,并运用本体论思想,根据领域本体对已发布服务实现逻辑划分.语义层次上的服务匹配算法则通过在WSDL描述文件中添加了更多语义信息,或者通过人工标注的方法添加了丰富语义信息,最终可以实现服务的自动查找和自动合成.一种方法是通过使用OWL-S基于本体的服务描述语言,该本体描述服务可以有更强的信息表达能力,并且支持语义推理功能[3].另一种方法是将UDDI技术与OW L-S本体结合来实现语义服务匹配功能[4],但没有提及非功能匹配特性.我们给出的三级服务匹配算法很好地将语法级关键字匹配与语义层次上的服务匹配结合,同时也很好地实现了服务的功能特性和非功能特性,既全面又可以提高服务匹配效率.3.1基于关键字的服务筛选如前所叙,要高效利用Internet网上的资源,个人或企业以及其他软件实体能够有效地访问网络上的web 服务,需要使用一种有效的用于语义环境下高效发现和查找web服务的服务匹配算法,在面向语义的WEB服务环境下,我们提出一种三阶段服务匹配算法,该算法的第一步是实现语法级的基于关键字的服务匹配,第二阶段是基于语义的功能WEB服务匹配,第三阶段是基于语义的非功能WEB服务匹配.由于服务请求者需要的web服务是在整个全球性的Internet中查找,Internet是一个拥有海量信息的资源库,我们考虑到首先从大量的web服务中筛选出一部分,以便缩小web服务查找范围.在这个阶段,我们采用了基于关键字的服务筛选,即根据服务请求者的服务需求,直接根据服务请求web服务关键字来匹配网络中的web服务,将匹配web服务保存在一个缓冲池中,然后再从该缓冲池取出筛选出来的服务,这部分服务将作为第二阶段基于语义的功能性服务匹配和第三阶段基于语义的非功能性服务匹配的很多可选WEB服务.基于关键字的服务匹配如图2 .所示Array图2服务匹配系统的第一阶段关键字匹配在上述的图2中,第一步将服务请求者预期需要的web服务转化为与服务提供者相同的服务描述,本文中,假设给定的服务描述语言为OWL(Ontology Web Language),代理B1获取服务请求者的描述信息,代理B2负责将描述信息包含的主要关键字提取出来,然后将此关键字与服务提供者提供的服务进行匹配,将关键字能够匹配成功的服务作为下一阶段进行功能性匹配的侯选服务,如果匹配不成功,则舍弃该web服务,依次选择下一个web服务进行匹配.通过模块2匹配成功的服务将作为匹配结果保存在匹配结果存储器中.3.2三阶段服务匹配在执行了第一步给出的基于关键字服务匹配算法后,取出通过语法层次的服务匹配算法选出的语法上与服务请求者需求一致的WEB服务,而这样的服务在语义上是否满足服务需求者,需要作进一步的服务匹配.也就是对那些满足语法级服务匹配的WEB服务再一次执行语义级别的服务匹配.语义级别的服务匹配算法的实现对于智能化服务组合及动态服务组合至关重要.在整个服务匹配算法中,语义级服务匹配是核心,也是关键.为了能够更好地实现服务匹配高效精确的效果,我们将这一阶段的匹配细分为两个方面,一是根据服务能够最终为用户提供的实际功能,根据是否满足需求者的预期功能为目标的匹配,功能级服务匹配.二是根据服务是否满足除核心功能外的其他指标如服务费用,服务所需时间,服务所能达到的质量指标等,者类服务匹李发英,陆武魁:基于语义的web服务匹配算法研究与实现配我们称为服务的非功能匹配.3.2.1功能级服务匹配过程在整个服务匹配过程中,功能级WEB服务匹配的目标是针对服务提供者所提供的WEB服务,使得服务请求者能够找到满足自身需要的服务,最基本的需要就是所查找到的服务能够满足最基本的功能需求,这种功能就是在服务描述文件中所描述的服务能够实现的基本功能.另一方面,我们所提到的服务匹配是在语义级别上的服务匹配,因此,针对服务描述文件中大量的语义信息,我们要设法利用描述文件中的语义信息来实现功能级服务匹配.在海量的服务中查找和定位一个预期的WEB服务需要一个高效的服务匹配算法,从服务描述到算法的实现需要很多工作要做.再有,功能级服务匹配在服务的动态组合中是一个关键因素,因为服务匹配算法决定了能否在查找到动态组合中所需要的WEB服务,一个不合适的服务对于服务组合来说是不利的,使用这样的服务影响组合服务的功能,组合服务根本不能实现其功能,如果一个WEB服务不能在基本的功能上满足服务请求者的需求,那么这项服务不再参与第三阶段的非功能级服务匹配,实际上,判断功能级服务匹配是否匹配成功的最简单的方法是,给定一个特定的输入in,能否获得预期的输出out,如果有预期的输出则说明该WEB服务满足基本的功能.然而在语义环境下,需要结合本体中的概念来实现功能级语义匹配. 3.2.2功能级服务匹配的描述在基于语义的服务匹配系统中,需要引入本体这一概念,在SOA体系结构中,本体描述了特定领域中的概念及概念之间的关系,这种关系涉及到其中的类与子类关系,属性关系,包含关系和被包含关系,继承关系以及二元关系等.在本体中,这些概念及其关系表现为具有明显层次的树状结构,通过树状结构的概念集,本体至少在概念层次上表明了特定领域中任意两个概念之间有多少相似点,如果两个概念不同,可以通过本体表明这两个概念的差异程度.从软件设计的角度看,本体中的概念(concept)与面向对象程序设计中的类(class)相似,假设我们用in表示要执行服务的输入,用out表示进行执行服务后的输出.在基于本体的服务匹配系统中,由于本体给出了特定领域中相关的类及其关系,把输入、输出参数与本体中的类相关联,服务的输入信息可以表示成本体中的一个类,服务执行后的输出结果表示成本体中的另一个类,通过本体实现服务功能的语义描述,再通过描述逻辑将本体中的概念及其关系形式化,这样服务匹配的功能级匹配在服务调用和服务动态组合中可以由软件代理来实现,这种基于本体的服务匹配算法是实现自动服务组合和语义匹配的基础.在功能级语义服务匹配中,根据匹配结果与请求者预期服务之间的关系,综合有关文献大致有以下几类:A.匹配结果包含需求服务.即可以通过匹配算法找到满足服务需求者需要的服务.对以上的匹配结果进一步细分,又可以将匹配成功的结果划分为两种.(1)完全满足需要的匹配.指匹配算法所返回的WEB服务完全满足服务需求者的预期结果;换句话说,返回的W EB服务都能够满足服务请求者,实现请求者需要的预期功能.(2)不能完全满足需要的匹配.指在经过匹配算法得到的所有返回的W EB服务中,有少部分WEB服务不能满足服务需求者预期的功能,要么返回的服务包含太多的不能起任何作用的无用信息.这些无用信息对服务请求者来说既不能实现预期功能又不具备非功能特性如服务质量、可靠性和价格等的需求;二是不能返回需求者完全的预期的WEB服务,也就是需求者需要的服务不能完全通过这种不完全匹配得到满足,只能满足请求者的部分功能需求.B.匹配结果不包含需求服务:指服务匹配结果不满足服务需求者预期的服务请求,意味着通过功能级匹配后不可以为服务请求者找到预期的WEB服务.如果出现这种情况,也就是在第二阶段被过滤掉的WEB服务,不能参与第三阶段即非功能服务匹配.3.2.3功能级服务匹配算法在当前服务匹配算法研究中,对服务匹配算法的描述有多种方法,文献1通过本体实现功能级服务匹配算法,这种方法能够将概念及其关系详尽体现在树形结构上,并通过树的层次关系表明概念之间的包含与被包含关系,继承关系等,在基于推理的服务匹配算法中,基于本体的描述方法特别有效.但本体的创建是繁琐的,并且对于一个特定的领域,由于概念数目多,关系复杂,要构建符合本领域的通用本体比较困难,这不是一个人能够完成的工作,通常要涉及到领域专家的参与.文献2给出了面向对象的服务匹配描述方法,在面向对象中,通过类的构建及其与子类的继承关系来描述整个算法,但这种方法没有包括类与子类除继承关系外的其他关系,如二元关系,并且这种方法比较抽象,不是很只管.集合论是比较直观也是比较简单的描述方法,基于集合论的方法来描述服务匹配算法的基本思想是:给定两个集合,判断集合中概念之间的相似程度,由于功能级服务匹配是基于语义的,因此概念之间的相似程度是指概念的语义相似度.为了很好地描述基于集合论的服务匹配算法,可以给出以下定义:对于服务提供者提供的服务可能的输出用用集合X表示,服务请求者预期的输出服务用集合Y表示.从集合Y中取出任意一个元素y,使用深度规则,在集合X进行深度遍历,查找到与元素y的语义相似度最大的元素x(x指X中与y最匹配的元素),可以得到y的最大语义相似度,这个值是集合X与元素y的语义相似度.X与Y的相似匹配结果可以通过集合X与集合Y中的每个元素的语义相似度执行几何平均计算求得.用sim(x,y)表示集合X中的任何一个实例x与y之间的相似度,ma x表示X集合中的x与y的最大语义相似度,该算法用伪代码描述如下:For I=1to N P P取集合X中的某个元素For J=1to N P P取集合Y中的某个元素If sim(xi,yj)>max将X中的元素x与Y中的元素y的语义相似度跟max比较ma x=sim(xi,yj) elseoutput xi通过上述服务匹配算法可知,对于任何一个返回服务,如果该服务的语义相似度大于其他任何一个相似度,则返回给服务请求者的服务就是取服务相似度值最大的一个.因为服务相似度值越大,说明该服务越接近服务请求者的需求,服务匹配精度和准确度越高.3.2.4非功能级服务匹配算法的实现要在理论上判断服务匹配算法返回的WEB服务是否完全满足服务请求者的预期目标,在执行了概念级服务匹配和功能级服务匹配后,还有一个比较重要的因素,即服务的非功能因素,如执行服务或调用服务所需的时间、获取该服务所需的成本即服务费用、服务质量等.如何实现服务非功能匹配、如何衡量非功能匹配算法的有效性、高效性和完备性是值得关注的问题.一个通用的方法是,在服务的功能匹配模式中,通过添加外部高级约束条件的方式来实现服务的非功能匹配,也就是说,我们可以将服务费用、服务质量等非功能因素作为一些附加条件来判断服务匹配是否成功.这种综合了功能匹配和非功能匹配的服务匹配算法对于一个实际应用型的系统很重要,单独考虑服务的非功能因素远远不够,原因是服务的非功能因素总是在动态变化的,这些因素随着服务执行过程中的外部条件变化而发生很大的变化.由于综合匹配模式包括功能匹配和非功能匹配,在具体的服务匹配可以将服务非功能性匹配的实现作为服务关键匹配模式的一个组成部分,在这里,使用SHI Q描述逻辑,将服务的功能级匹配和非功能级匹配的交集作为关键匹配模式的主要组成部分,这样一来,整个关键匹配模式可以用下面的表达式来表示: KE YMT1=(服务类型类.task(服务约束类.(执行时间类.time(服务对象.object))))KE YMT2=(服务类型类.task(服务约束类.(服务价格类.time(服务对象.object))))KE YMT3=(服务类型类.task(服务约束类.(服务质量类.time(服务对象.object))))、KE YMT=KEYMT1H KEYMT2H KE YMT3其中,服务类型有:企业类服务,个人服务;服务约束类包括执行时间,服务费用和服务质量通过以上的关键匹配表达式,可以很好地综合功能匹配和非功能匹配,实现满足服务请求者的高精确度匹配,实践证明,这种匹配模式是可行的而且是高效率的.4算法性能分析本文提出的三阶段服务匹配算法与单独的基于关键字的匹配算法及功能级匹配算法相比,在以下两个方面有了极大的改进.一是提高了服务的查准率.查准率是指匹配的返回给服务请求者的WEB服务在多大程度上满足服务请湘南学院学报(自然科学版)2011年4月(第33卷)第2期李发英,陆武魁:基于语义的web服务匹配算法研究与实现求者需要的W EB服务.查准率是服务匹配返回的满足服务需求的WEB服务数量与返回的WEB服务总数量的比值.如果返回的服务完全满足请求者的需求,则查准率为100%.二是提高了服务的查全率.查全率是指所返回的WEB服务包含了需求者期望的W EB服务的数量.查全率是服务匹配返回并且满足服务需求的WEB服务数量与服务请求者预期需要的WEB服务数量的比值.为了更好地说明本文提出的服务匹配算法在算法性能和查找效率方面的优越性,通过实验数据进行说明.实验环境为:CPU1.5HZ,内存1G,操作系统WI NXP,推理机Jena,本体构建平台Protege3.2,数据库Mysql6.0.测试用W EB服务;生物信息领域的100个本体.通过读取部署在服务器上的服务描述信息进行实验,实验过程中对原有WEB服务不作任何修改.实验数据表明,该算法与单独使用本体推理和单独使用几何距离相似度计算两种算法相比,在一定程度上可以提高服务匹配系统的查全率和查准率.单独概念级的服务匹配算法在三种算法中查全率和查准率最低,三阶段服务匹配算法查全率最高,但该算法所需要的匹配时间相对长,因为要进行三次匹配,下一步研究的重点是讨论如何缩短三阶段服务匹配算法的匹配时间,以便使该算法具有更好的实用性和灵活性.5结束语基于关键字、功能和非功能服务匹配的三级服务匹配算法是一种语义web服务匹配.将此匹配系统应用于各种查询系统中可以提高服务查全率和查准率,既可以避免有用信息的遗漏,又可以防止大量无用信息呈现在用户面前,导致无用信息的泛滥.这是有效整合系统、实现服务自动组合的必要措施.后续研究的重点是研究相似度匹配精确算法,此外,结合一个典型实例说明服务匹配方法在查询系统中的实际应用.参考文献:[1]Paolucci M,Kawamura T,Payne TR,et al.Importing the Semantic Web in UDDI[C].Web Services,E-Business and Semantic WebWorkshop,2002.[2]高振国,杨孝宗.服务发现技术中的服务描述和服务匹配技术[J].计算机工程与设计,2005,4(12):3313-3316.[3]任波.基于功能的Web服务语义相似匹配[J].计算机工程,2006,6(2):206-208.[4]侯冕.基于语义Web本体语言的推理机引擎的实现[J].学术论文,2005,4(7):41-43.[5]尹晓璐.基于语义的Web服务查询[J].实验科学与技术,2005,5(1):31-34.Research and Realization of Web ServiceMatching Based on SemanticsLi Faying,Lu Wukuei(Department of Computer Science of Xiangnan University,Chenzhou423000,C hina)Abstract:With the development of the internet,it is of primary importance for us to find network information quickly and efficiently.So in this essay,a three stage web matching algorithm based on semantic is provided.Firstly,category and choice based on key words are performed,secondly,function web service matching is rea-l ized,lastly,non-function web service matching is realized.This algorithm has been proved to improve web ser-vice efficiency.Key w ords:web service;matching algorithm;category;function web service matching。
王文博北京邮电大学网络与交换国家重点实验室,北京 (100876)E-mail:jsjmaopei@摘要:语义Web服务描述语言使得Web服务能够实现自动发现,自动执行,自动组合,是语义Web服务研究的重要组成部分。
本文探讨了4种已提交给W3C的语义Web服务描述语言,并对其中影响最为深远的OWL-S和WSMO进行了比较。
关键词:WSMO,OWL-S,SWSF,WSDL-S,语义Web服务中图分类号:TN9111.引言Web服务[1]由于其强大的松耦合能力,在工业界已经吸引了众多的目光。
然而Web服务的接口是基于语法的,并不能为机器所理解,因而其服务的发现存在查全率和查准率低的问题[2]。
基于此,人们提出了语义Web服务的概念:用语义Web技术对Web服务进行解释说明,让机器也能理解Web服务,提高服务发现的准确率,最终实现服务的自动发现,自动组合和自动调用[3,4]。
语义Web服务描述语言在整个语义Web服务中所起的作用是不言而喻的。
通过语义Web 服务语言能够对现有的Web服务进行语义层面的阐述,通过本体的支持,实现从服务的功能层面和非功能层面的详尽的描述,最终实现机器理解服务的最终目的。
因而对语义Web服务描述语言进行研究有着十分重要的意义。
2.OWL-SDAML-S[5](DARPA Agent Markup Language for Services)草案于2001年被提出,是第一个针对Web服务的本体描述语言。
它建立在DAML+OIL本体基础之上,专门用来描述Web 服务的高层本体语言,由美国军方DARPA项目支持。
DAML-S是采用DAML语言描述web服务而形成的一个本体。
而OWL是在DAML基础之上的一种本体语言,它成为了W3C的Web Ontology推荐的语言标准。
而OWL-S[6]类似于DAML-S相对于DAML的关系,是基于OWL的语义Web服务的本体描述框架。
OWL-S是用OWL语言写的本体,语义良好。
它根据对象和它们之间的复杂关系来定义Web服务的词汇表,并且是基于XML的结构化语言。
图1 OWL-S服务本体OWL-S预先定义了一组用来描述服务的本体(Ontology),通过这些本体让机器能够理解Web服务。
如图1所示,OWL-S的本体由三部分组成:ServiceProfile、ServiceModel和ServiceGrounding。
它们都是关于服务的最本质的描述,分别描述了服务的作用,服务如何Service类是要语义描述的Web服务的引用点,其实例将对应一个发布的服务。
通过属性presents、describedBy和supports和ServiceProfile、ServiceModel和ServiceGrounding相关联。
这三个类的实例从三个不同角度对Web服务进行描述,根据所描述的服务的不同,其内容可能大不相同,但都描述了一个Web服务的重要内容:ServiceProfile:主要描述服务做了什么,对于Web服务而言,相当于服务的广告,描述服务的能力,对于用户而言,是用户需求服务的描述。
OWL-S提供了服务的一个可能的表达Profile类。
Profile为服务添加三种类型信息:服务的提供者,服务提供的功能,服务的特征属性。
提供者信息包括服务该提供者的联系信息;服务的功能描述包括:服务的输入、输出;服务执行的前置条件以及服务执行产生的预期效果;服务特征属性包括:服务所属的种类;服务的质量评价;一个不限长度的服务参数列表,它可以包含任何类型的信息,如:服务的最大响应时间,服务的领域特性等其他属性。
ServiceModel:描述服务如何工作,即描述服务在执行时是如何运作的。
一个服务(Service)被视为一个过程(Process)。
OWL-S定义了ServiceModel的一个子类——ProcessModel。
过程本体(Process)又分为3种,分别是:原子过程(Atomic Process),简单过程(Simple Process)以及组合过程(Composite Process)。
过程本体(Process)通过输入、输出、前提条件、效果来描述过程。
其中输入、输出属性取值可以为任何事物。
而在特定领域中,过程类的子类可以用OWL语言元素来声明值域限制,包括这些属性的取值个数限制。
原子过程是不可分解的Web服务,能够被直接调用,且可以单步执行。
Web服务被调用后,响应用户调用后立即结束,不需要调用它的用户或Web服务与之建立会话过程。
图2 OWL-S与WSDL的映射ServiceGrounding:指明了访问一个Web服务的细节。
通常包括消息格式、通信协议、以及其他如端口号等和服务相关的细节。
还指定对于在ServiceModel中说明的抽象类型,在进行信息交换时的数据元素的明确的表达方式。
原子过程被认为是基本的过程的抽象描述。
OWL-S的ServiceGrounding最主要的功能就是描述原子过程的输入、输出是怎样被具体实现为消息的。
OWL-S对完成消息的下层映射的规范没有限制。
现以WSDL为例进行解释说明。
如图2所示。
一个OWL-S原子过程和一个WSDL操作相对应。
一个拥有输入、输出的原子过程和一个WSDL的request-response操作相对应;一个只有输入的原子过程和一个WSDL的one-way操作相对应;一个只有输出的原子过程和一个WSDL的notification操作相对应;一个拥有输入、输出并且发送输出在接收输入之后的组合过程和一个WSDL的solicit-response操作相对应。
OWL-S原子过程的输入、输出和WSDL的message相对应。
OWL-S的输入和输出3. WSMOESSI(European Semantic Systems Initiative)是欧盟发起的旨在提升欧洲在语义领域科学研究实力发起的一个项目,计划通过世界范围内的标准化来达到该目的。
其中,WSMO(Web Service Modeling Ontology) [7]工作小组属于ESSI项目的一部分,协调SEKT,DIP,Knowledge Web和ASG研究项目中的语义Web服务方向的科学研究。
其最终目的是实现语义Web服务语言领域的标准化工作,并实现语义Web服务的公共架构和平台。
WSMO通过正式的本体和语言对WSMF(Web Service Modeling Framework)进行扩展。
之前进行的WSMF研究已经定义了描述语义Web服务的4个不同要素:本体(提供术语供其他要素使用)、目标(指明Web服务应该完成的任务)、Web服务描述(定义Web服务各个方面信息)以及中介器(解决互操作问题)。
其设计原则是:兼容Web:WSMO继承了WWW中一个核心设计理念URI,用来区分不同资源。
不仅如此,WSMO还采用了命名空间的概念用于指示一致的信息空间,还支持XML和其他W3C的推荐规范。
基于本体:本体作为数据模型贯穿整个WSMO,这意味着所有资源描述以及服务使用过程中的数据交换都是基于本体的。
本体是一个被广泛接纳的最新知识表示方法,因此被采纳为语义Web中核心技术。
本体的广泛使用使得实现增强的语义信息处理以及互操作支持。
WSMO还支持语义Web中定义的本体语言。
严格去耦合:去耦合意味着WSMO资源被各自孤立的定义,每一个资源都能在不与其他资源交互或者使用其他资源的情况下进行独立定义,这和Web开放以及分布式的特性相一致。
中介器为中心:作为一个严格去耦合的补充设计原则,中介器解决了在开放式环境中很容易引起的异构问题。
异构问题发生在数据层,本体层,协议层和过程层中。
WSMO意识到要想成功部署实现Web服务就必须将中介器作为该框架的首要元素。
本体角色分离:用户,或是客户,由于存在于不同的上下文环境中,其需要的功能和已经存在的Web服务能力具有很大不同。
例如:一个用户可能想根据对于天气、文化、小孩照顾的偏好预订一个假日,而Web服务仅仅标准地覆盖航线和酒店服务。
基于此认知,WSMO 将用户或者客户的需求和可用Web服务的功能区分开来。
描述和实现:WSMO区分了语义Web服务元素的描述和执行技术。
前者基于适当形式化之上,需要一个精确可行的描述框架来提供精确的语义描述;后者关心对于语义Web和Web 服务已有和最新技术的支持。
WSMO目的是提供一个合适的本体描述框架,且和现有以及最新技术相兼容。
服务和Web服务:一个Web服务是一个计算实体,通过调用Web服务能实现一个用户的目标。
与之相反,一个服务则是此次调用实际提供给用户的实际功能。
WSMO提供方法来描述提供到服务入口的Web服务。
WSMO被设计成为一种方法对前者进行描述,但不替代后者的功能。
WSMO顶层元素如图3所示:图3 WSMO顶层元素本体:提供了其他WSMO元素描述领域相关方面信息的术语。
它通过属性hasNonFunctionalProperties描述版本、标题、来源、语言、所有者等非功能属性。
通过属性importsOntology定义本体中导入的其他本体。
通过本体的导入能够较好的实现本体的模块化,降低工作的复杂程度。
通过属性usesMediator关联到用于解决本体导入时需要解决的本体协调问题。
通过属性hasConcept关联到某个问题域中公认的概念术语,定义这些术语具有的属性以及属性的取值类型等。
通过属性hasRelation对概念间相互关系进行建模。
通过属性hasInstance定义了该本体的实例。
通过属性hasAxiom定义了该领域内的公理。
Web服务:描述提供访问服务的计算实体。
所有Web服务都采用本体中定义的术语进行描述。
除非功能属性、引入的本体以及采用的中介器外,Web服务重点从能力、接口定义了Web服务所能实现的功能。
其中接口又从choreography和orchestration两个角度描述了Web服务的功能是如何被实现的。
其中,choreography定义了如何和该Web服务交互来调用其服务能力。
而orchestration定义了如何通过和更多的Web服务提供者进行交互合作实现一个更加复杂的能力。
Choreography通过从用户角度对Web服务进行描述,即:将服务描述成状态以及在某个状态下的转换规则。
和Choreography一样,Orchestration也将服务描述成状态以及某个状态下的转换规则,但是它还引入了中介器来连接到其他目标或者Web服务。
目标:表示能够被执行某个Web服务满足的用户需求,本体可以被用来作为领域内属于来描述其相关方面。
除非功能属性、引入的本体以及采用的中介器外,目标还从用户视角对要求的Web服务进行建模,因此是一个独立的顶层元素。