语义Web服务描述语言研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
王文博
北京邮电大学网络与交换国家重点实验室,北京 (100876)
E-mail:jsjmaopei@
摘要:语义Web服务描述语言使得Web服务能够实现自动发现,自动执行,自动组合,是语义Web服务研究的重要组成部分。本文探讨了4种已提交给W3C的语义Web服务描述语言,并对其中影响最为深远的OWL-S和WSMO进行了比较。
关键词:WSMO,OWL-S,SWSF,WSDL-S,语义Web服务
中图分类号:TN911
1.引言
Web服务[1]由于其强大的松耦合能力,在工业界已经吸引了众多的目光。然而Web服务的接口是基于语法的,并不能为机器所理解,因而其服务的发现存在查全率和查准率低的问题[2]。基于此,人们提出了语义Web服务的概念:用语义Web技术对Web服务进行解释说明,让机器也能理解Web服务,提高服务发现的准确率,最终实现服务的自动发现,自动组合和自动调用[3,4]。
语义Web服务描述语言在整个语义Web服务中所起的作用是不言而喻的。通过语义Web 服务语言能够对现有的Web服务进行语义层面的阐述,通过本体的支持,实现从服务的功能层面和非功能层面的详尽的描述,最终实现机器理解服务的最终目的。因而对语义Web服务描述语言进行研究有着十分重要的意义。
2.OWL-S
DAML-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. WSMO
ESSI(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所示: