语义web服务的分析与应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语义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服务描述中加入语义信息可以帮助更好地完成服务的自动发现、自动选择、自动组合以及服务间数据的自动映射和转换
等功能,进一步帮助提高验证、配置、洽谈、合同签订等功能的自动化。
语义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
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