语义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 系统的设计和开发带来了新的挑战。
王文博北京邮电大学网络与交换国家重点实验室,北京 (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服务进行建模,因此是一个独立的顶层元素。