当前位置:文档之家› 语义web服务的分析与应用

语义web服务的分析与应用

路漫漫其修远兮,吾将上下而求索 -

百度文库

11 语义WEB服务的分析与应用

摘要:WEB服务机制缺乏对服务的语义描述,难以在逻辑层面上实现基于语义的服务发现、服务流程组合和服务动态调用。通过在WEB服务中加入语义WEB,即构造WEB语义服务,以克服传统WEB服务语义操作能力的局限,使其支持WEB服务自动发现、执行以及动态智能组合。

关键字:语义WEB服务;WEB服务;语义WEB;OWL-S;

随着网络技术的发展,WEB正由网页的集合转向服务的集合。面对网络上存在的大量服务,如何检索、使用这些服务,更好地满足用户的需要,成为目前迫切需要研究的问题。因此,采用一种合适的WEB服务描述方法是必需的。语义WEB(Semantic WEB)致力于开发“以计算机可处理形式表示信息的语言”,正逐渐成为WEB服务描述的重要方法。

1. WEB 服务中添加语义WEB的必要性

WSDL已经提供了一种面向人理解的语义化描述,但是还不够,为什么?为了使用一个WEB Service,软件实体需要一个计算机可解释的服务描述。而语义WEB标识语言的目标之一,就是创建这些描述被定制和共享的框架;WEB站点应该使用一个基本的类和属性的集合来声明和描述服务。

WEB服务机制缺乏对服务的语义描述,难以在逻辑层面上实现基于语义的服务发现、服务流程组合和服务动态调用。而且WSDL和UDDI技术关注服务功能和接口的静态描述,忽视对服务进行非功能属性的描述,而非功能属性如服务质量正是用户在SOA环境中动态选择服务所关注和必需的。使用RDFS定义WEB服务本体,并逐层对其进行Agent扩展和QoS扩展,构建WEB服务及其质量本体,克服已有技术只能在设计时对服务接口进行微调以满足用户需求的缺陷,丰富了WEB服务机制的语义描述,使得WEB服务能够被机器理解、对用户透明、被代理自动处理,在语义逻辑上实现WEB服务之间的交互性,而且用户在选择服务时可以同时考虑WEB服务的质量,从而提高服务选择时的灵活性和自主性。

WEB服务基本上采用标准化分类的方式描述服务的功能、提供者以及如何访问服务,如何与之交互。这种机制对服务的描述能力非常有限,特别是缺乏对服务的语义描述,难以在逻辑层面上实现基于语义的服务发现、服务流程组合和服务动态调用。

为了克服上述缺陷,人们将目光投向语义WEB。在WEB服务描述中加入语义信息可以帮助更好地完成服务的自动发现、自动选择、自动组合以及服务间数据的自动映射和转换路漫漫其修远兮,吾将上下而求索 -

百度文库

22 等功能,进一步帮助提高验证、配置、洽谈、合同签订等功能的自动化。

语义WEB服务并不是一种新的技术,它是将WEB服务和语义WEB两种技术结合而产生的语义WEB服务是以语义WEB和本体论为基础的一个重要的应用基础研究领域。语义 WEB服务的目标是:

(l)克服传统WEB服务语义操作能力的局限,使服务成为一种机器可解释的,能够使用智能主体的服务;

(2)支持WEB服务自动发现、执行以及动态组合能够智能地完成;

(3)突破虚拟领域,扩展到现实世界。

语义WEB和WEB服务是语义WEB服务的两大支撑技术。语义WEB服务标记语言(Ontology WEB Language for Services,OWL-S)是连接两大技术的桥梁,下面我们详细介绍一下OWL-S。

2. OWL-S简介

OWL-S是用OWL语言描述WEB服务的本体。它也是一种具有显式语义的、无歧义的机器可理解的标记语言,用来描述WEB服务的属性和功能。在OWL-S中,描述服务的基本信息主要有三类本体:Service Profile,Service Model和Service Grounding,它们分别回答了“服务做了什么”、“服务如何工作”、“服务如何访问”这三个重要类型的知识。Service类是对一个声明了的WEB服务的结构化的引用点,每个Service实例将对应一个发布的服务,而Presents,Described by和Supports作为Service类的三个属性,分别将值域映射到上面的Service Profile,Service Model和Service Grounding,如图2.1所示。

2.1 OWL-S模型的顶层本体

1) Service Profile 路漫漫其修远兮,吾将上下而求索 -

百度文库

33 Service Profile描述一个服务主要包含三方面信息。

(l)服务提供者黄页信息。比如服务提供者的联系方式。

(2)服务的功能信息。主要是指服务的IOPE: Input,Output,Precondition,

Effect。IOPE是OWL-S中的主要内容之一,在Service Model中还会详细描述。

(3)服务的所属分类,服务质量等信息。Service Profile也提供了一种机制来描述各种服务的特性,服务提供者可以自己定义。

Service Profile最大的特点就是双向的,服务提供者可以用Profile描述服务的功能,服务请求者可以用Profile描述所需服务的需求。这样服务发现时,Matchmaker可以利用这种双向的信息进行匹配。

2) Service Model

Service Model主要是服务提供者用来描述服务的内部流程。一个Service通常被称之为一个Process(过程),process分为三类:Atomic Process,Composite Process,

3) Simple Process。

(l)Atomic Process(原子过程)是不可再分的过程,可以直接被调用。每一个原子过程都必须与提供一个Grounding信息,用于描述如何去访问这个过程。

(2) Composite Process (复合过程)是由若干个原子和复合过程构成的过程。每个过程由一个Control Construct定义;Control Construct定义了复合过程中每个子过程的执行顺序:OWL-S中定义的控制流有Sequence,Split,Split +Join,Unordered,Choice,If-Then-Else,Iterate,Repeat-Until这几种。

(3)Simple Process是一个抽象概念,它不能被直接调用,也不能与grounding绑定。观察一个服务通常可以有不同的粒度,当我们需要关心一个服务的内部细节时,可以将这个服务定义成Simple Process。一个Atomic Process可以realizes一个Simple process,一个Composite process可以collapse To一个Simple Process。

IOPE是OWL-S中一个非常重要的概念。IOPE是指Inputs,Outputs,Preconditions,Effects。类似于程序设计语言中的相应概念。Inputs和Outputs是指服务的输入和输出,可以理解为数据的变换;Preconditions和Effects是指服务的前提条件和效果,即服务执行前应该满足的条件和服务执行后实际产生的效果,可以理解为状态的改变。OWL-S中可以定义条件式Outputs和Effects,即只有在某种条件满足的情况下,Outputs和Effects才能产生。

4) Service Grounding 路漫漫其修远兮,吾将上下而求索 -

百度文库

44 Service Profile和Service Model都是关于服务的抽象描述,而Service Grounding是涉及到服务的具体规范。简单来说,它描述服务是如何被访问的。具体的,它需要指定服务访问的协议、消息格式、端口等。但是OWL-S规范中并没有定义语法成分来描述具体的消息,而是利用WSDL规范。选择WSDL,一方面是因为WSDL是对具体消息进行描述的重要规范,另一方面因为它具有强大的工业支持。由于OWL-S利用了WSDL来描述具体的消息,所以在OWL-S和WSDL之间需要进行概念的映射,如图3.6所示。

图2.2 OWL-S到WSDL的映射

OWL-S和WSDL之间需要进行三方面的映射。

(l)OWL-S的Atomic Process映射到WSDL的operation;

(2)OWL-S中Atomic Process的Inputs和Outputs映射到WSDL中的message;

(3)OWL-S中Inputs和Outputs的类型(OWL Class定义)映射到WSDL中的abstract

type(XML Schema定义)。

3. 语义WEB体系结构

图3.1 语义WEB体系结构 路漫漫其修远兮,吾将上下而求索 -

百度文库

55 语义WEB体系结构包括七层,各层的基本功能和相互关系如下:

(1)URI和Unicode层:WEB环境下的应用之间不可避免地需要相互通信,以机器可读的格式传递或发布信息。这些信息中很大一部分是对WEB上资源的描述,因此,首先应该以明确的方式来标识这些资源。语义WEB采用统一资源标识符(Uniform Resource Identifiers,URI)来标识资源及其属性,URI是Internet标准。UFI包含了统一资源定位符 (Uniform

Resource Locator,URL)和统一资源名称 (Uniform Resource Name,URN),即URI=URL+URN。URI和URL、URN的区别在于,URL唯一标识资源的位置,描述资源的位置信息(Where);URN唯一标识资源的名字,描述资源的名称信息(What),URI泛指所有以字符串标识的网络资源。另外由于语义WEB的最终目的是要构建一个全球信息的网络,在这个网络上应该涵盖各种语言和文字的信息资源,因此采用统一编码Unicode作为字符的编码方案。它保证了使用的是国际通用字符集,实现了网上信息的统一编码。这一层是整个语义WEB的基石,它着眼于解决WEB上资源的定位和跨地区字符编码的标准格式的问题。

(2)XML、Namespaces、 XML Schema层:在URI和Unicode层次之上,是XML及相关技术层。可扩展标记语言Extensible Markup Language,XML)是一种标记语言。所谓“标记”是指计算机能理解的符号信息。XML允许用户根据需要自定义一些“有意义的”标签,对所发布信息的内容进行标记,并使用文档类型定义(Document Type Definition,DTD)或 XML

Schema来约束这些标签的结构。由于XML标签可以由用户根据自己的需要来定制,这样不可避免地会造成标签同名的情况,为了避免这样的冲突,W3C采用了命名空间机制。该层定义了万维网中数据交换的格式,即基于XML的标准进行数据交换和集成。

(3)RDF、 RDF Schema层:XML层之上是数据互操作层RDF和RDF Schema。该层用于描述万维网上的资源及其类型,为网上资源描述提供一个通用框架和实现数据集成的元数据解决方案。RDF是用于表达关于万维网上的资源的信息的语言。它专门用于表达关于WEB资源的元数据,比如WEB页面的标题、作者和修改时间,WEB文档的版权和许可信息等。

RDF本身并没有规定语义,但是它为每一个资源描述体系提供一个能够描述其特定需求的语义结构的能力。从这个意义上来说,RDF是一个开放的元数据框架。这个元数据框架定义了一种数据模型,可以用来描述机器能理解的数据语义。 RDF Schema规范用RDF进一步定义了建模原语,提供了RDF模型中使用的一个基本类型系统。这个类型系统有些类似于面向对象的编程语言。RDF和RDF Schema一起共同构成了语义WEB的数据层。

(4)Ontology层:该层用于描述各种资源之间的联系,本体揭示了资源本身以及资源之间

相关主题