您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 语义Web服务描述语言研究
服务描述语言研究王文博北京邮电大学网络与交换国家重点实验室,北京(100876)E-mail:jsjmaopei@163.com摘要:语义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](DARPAAgentMarkupLanguageforServices)草案于2001年被提出,是第一个针对Web服务的本体描述语言。它建立在DAML+OIL本体基础之上,专门用来描述Web服务的高层本体语言,由美国军方DARPA项目支持。DAML-S是采用DAML语言描述web服务而形成的一个本体。而OWL是在DAML基础之上的一种本体语言,它成为了W3C的WebOntology推荐的语言标准。而OWL-S[6]类似于DAML-S相对于DAML的关系,是基于OWL的语义Web服务的本体描述框架。OWL-S是用OWL语言写的本体,语义良好。它根据对象和它们之间的复杂关系来定义Web服务的词汇表,并且是基于XML的结构化语言。图1OWL-S服务本体OWL-S预先定义了一组用来描述服务的本体(Ontology),通过这些本体让机器能够理解Web服务。如图1所示,OWL-S的本体由三部分组成:ServiceProfile、ServiceModel和ServiceGrounding。它们都是关于服务的昀本质的描述,分别描述了服务的作用,服务如何-1-工作,以及如何访问服务。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种,分别是:原子过程(AtomicProcess),简单过程(SimpleProcess)以及组合过程(CompositeProcess)。过程本体(Process)通过输入、输出、前提条件、效果来描述过程。其中输入、输出属性取值可以为任何事物。而在特定领域中,过程类的子类可以用OWL语言元素来声明值域限制,包括这些属性的取值个数限制。原子过程是不可分解的Web服务,能够被直接调用,且可以单步执行。Web服务被调用后,响应用户调用后立即结束,不需要调用它的用户或Web服务与之建立会话过程。图2OWL-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的输入和输出-2-的类型(OWL类实例)和WSDL中的abstracttype(也就是WSDL规范中的messagepart)相对应,这种对应关系通过XSLT转换代码来定义实现。3.WSMOESSI(EuropeanSemanticSystemsInitiative)是欧盟发起的旨在提升欧洲在语义领域科学研究实力发起的一个项目,计划通过世界范围内的标准化来达到该目的。其中,WSMO(WebServiceModelingOntology)[7]工作小组属于ESSI项目的一部分,协调SEKT,DIP,KnowledgeWeb和ASG研究项目中的语义Web服务方向的科学研究。其昀终目的是实现语义Web服务语言领域的标准化工作,并实现语义Web服务的公共架构和平台。WSMO通过正式的本体和语言对WSMF(WebServiceModelingFramework)进行扩展。之前进行的WSMF研究已经定义了描述语义Web服务的4个不同要素:本体(提供术语供其他要素使用)、目标(指明Web服务应该完成的任务)、Web服务描述(定义Web服务各个方面信息)以及中介器(解决互操作问题)。其设计原则是:兼容Web:WSMO继承了,用来区分不同资源。不仅如此,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元素描述领域相关方面信息的术语。它通过属性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服务进行建模,因此是一个独立的顶层元素。通过属性requestsCapability定义用户需要的服务能力。通过属性requestsInterface定义了服务应该具备的接口。中介器:用于解决不同WSMO元素之间的互操作问题。中介器可以解决数据层面、过程层面和协议层面等不兼容的核心概念。如:采用不同本体属于导致的不匹配(数据层面)、Web服务之间如何通信(协议层面)、Web服务如何组合(过程层面)。中介器可以细分为以下四种类型:目标-目标中介器:连接两个目标,表示从源目标到目的目标的改进。如果两个目标是可相互替代的,则表明源目标和目的目标状态等价,本体-本体中介器:解决本体导入时可能产生的表达不一致情况。服务-目标中介器:连接Web服务和目标,表明Web服务完全或部分的满足了它所连接到的目标,清晰的定义了两者之间存在的差距。如果目标被连接到某个服务,说明该服务功能部分或完全的满足了该目标。如果服务被连接到某个目标,说明该服务需要对目标进行解析来满足服务描述中的能力。服务-
本文标题:语义Web服务描述语言研究
链接地址:https://www.777doc.com/doc-1602226 .html