基于语义标注的Web服务发现组合策略
2010-04-11曹洪江聂规划陈冬林
曹洪江,聂规划,陈冬林
CAO Hong-jiang, NIE Gui-hua, CHEN Dong-lin
(武汉理工大学 经济学院 电子商务研究所,武汉 430070)
基于语义标注的Web服务发现组合策略
Semantic information-based Web service discovery &compostion strategy
曹洪江,聂规划,陈冬林
CAO Hong-jiang, NIE Gui-hua, CHEN Dong-lin
(武汉理工大学 经济学院 电子商务研究所,武汉 430070)
为Web服务的提供者以及服务请求者在服务描述以及服务请求中加入相应的语义信息能消除Web服务中服务的查找和匹配环节参数的语义上的模糊性.将有助于服务的自动发现和组合.提出通过语义标注的方法在服务发现组合过程中添加语义信息,构建语义Web服务网络.并利用Web服务功能属性之间的语义关联,使用基于反向推理机制的自动组合算法形成语义Web服务组合方案选出能有效满足客户需求的服务组合.
Web服务;语义标注;Web服务组合策略
0 引言
Web服务被认为是一个被设计来支持网络上机器之间的可互操作的交互,具有一个清晰的、机器可读的、通用的标准描述(WSDL),其他系统以该描述中说明的方式与它交互,具有完全开放、松散耦合、标准协议规范和高度可集成能力等特征的一个软件系统,但传统的Web服务体系结构中[1],由于WSDL[2]对服务的描述接口是基于语法的以及UDDI本身是一种基于关键字的注册查找机制,都缺乏对服务中必要的语义信息描述,从而无法实现满足客户需求的Web服务的自动发现和组合,将语义网的相关知识应用到Web服务领域是一种有效的克服上述缺陷的方法。实现在因特网上,将处于异构环境下的多个单一的Web服务组合成满足用户需求的服务的应用需求。本文从增强Web服务语义信息角度出发,提出了通过对请求信息以及服务描述信息进行语义标注[3,4],再将服务请求同Web服务功能属性的语义描述相匹配。最后利用反向推理方法找出满足用户需求的服务组合的策略。
1 语义Web服务发现组合策略
1.1 语义标注在Web服务发现组合中的作用
在传统的Web服务逻辑框架下,底层协议如:UDDI,SOAP[8],WSDL可以满足跨平台的不同服务之间传递数据的作用,但在较高的层面上由于缺乏语义信息无法满足服务的语义查找和自动匹配合,因此参考旧有的Web services的框架,在不同的Web services协议栈的层次上加入语义信息,实现对Web服务的语义化[5]。本文提出的基于语义标注的Web services发现组合逻辑框架如图1所示。
图1 语义标注的Web 服务发现组合逻辑框架
框架各部分作用简介:
-Soap协议层:负责以XML格式传递各个服务间的消息
-Semantic Description:用OWL-S对WSDL中的Web 服务相关的描述信息进行语义标注
-Publication:将语义Web服务发布到Web服务语义网
-semantic network of Webservices:一个相互之间具有内在联系的服务集合,每个节点对应一个具体的WEB服务,节点之间的连接线则根据不同Web服务的功能服务属性(input,output)之间的语义相似度测量值做上对应的标记。
-Discovery&composition:语义Web服务的发现和组合
-Semantic request:服务请求的语义标注
-QoS:服务组合的QoS指标参数
逻辑结构图中的semantic request 中主要是通过领域本体对服务的input,output参数进行语义标注,Discovery/composition则利用服务请求中的语义信息和semantic network of Websevices中的服务之间的语义关联来实现服务的有效组合,semantic annotation 则是通过OWL-S[6]对已发布服务的WSDL文件进行语义标注。整个系统工作流程如图2所示。
图2 Web服务发现组合工作流程
在进行有效的语义Web服务组合之前,首先建立一个语义Web服务元模型,该模型要考虑到服务的描述信息和其后用于服务发现和组合的功能信息以及用于服务选择的QoS信息,故使用一种“原子模型”,将有利于增强Web服务的发现组合的有效性和准确性。该文将一个语义Web服务定义为以下四元组:
Web服务的语义标注:以上四元组将用来描述所有的WEB服务,在WEB服务的语义描述中,其中很重要的一点就是将其Inputs、Outputs参数进行语义标注并将它们对应到对应的语义模型中去,从而使WEB服务的功能属性具有语义信息。目前比较常用的就是使用W3C推荐的OWL-S本体描述语言来实现这一环节。OWL-S中通常由ServiceProfile、ServiceModel、ServiceGrounding[10]三部分组成,其中ServiceProfile主要是描述服务诸如服务名称,服务功能信息等一般信息,ServiceModel主要是服务提供者用来描述服务的内部流程,而ServiceGrounding 它描述服务是如何被访问的,在这三部分中,ServiceProfile中的(Inputs,Outputs)将可以被用来进行服务的发现和组合,而ServiceGroundin中的atomic process,(Inputs,Outputs)同WSDL中的operation,Message是一种对应关系[7]。可用来对服务进行语义标注。
表1 语义Web services示例
图3 Web服务的语义标注
服务请求的标注:服务请求和Web服务应该对应到同一个语义模型中来进行,当服务请求提交后。通常经过解析,将对服务组合有用的参数信息提取出来。分别对应到inputs和outputs参数,这个解析过程的完成一般会通过相应的语法解析器,也可以通过用户页面直接提交的方式来获取。当代表服务请求的参数获取后,inputs和outputs将动态的连接到一个OWL描述的和Web services描述所共享的领域本体,从而消除服务请求同Web services语法语义上存在的二义性,为服务的发现和匹配扫清障碍。
图4 服务请求的语义标注
1.3 Web服务组合策略
为了能自动找出满足查询要求的服务组合,本文考虑用反向推理的自动服务算法来查找服务组合。该算法的主要思路是利用目标outputs参数同后续服务inputs参数的相似性来进行。
算法如下:
1)将服务请求的outputs作为目标outputs
2)通过web服务语义网中查找和目标outputs相匹配(equivalent,opposite subsumption)的语义服务
3)将寻找到的语义服务的inputs作为新的目标outputs
4)在还未被查找过的语义服务集合内继续查找同新目标相匹配outputs从而查找到下一个加入组合方案的新的服务节点。
5) 跳转到step3
6)所有outputs参数已经查找过或者再无法再找到满足匹配要求的outputs,服务组合结束。
本文采用反向推理的方法使得出的组合方案都是满足服务请求的,因此可以减少无用组合方案的产生。
该组合策略在课题组的前序研究中已经得到了初步验证,能较为快速有效的找出服务组合方案,其中推理机采用JENA,本体建模工具为protégé 3.2,服务本体采用的是: http://www.mindswap.org/2004/owl-s/services.shtml中的实例。但在大量服务本体存在情况下的组合效果还需要进一步验证和研究。
2 结论
根据在Web服务发现和组合中增加语义信息有助于提高服务组合的准确性和有效性这一理论,本文采用对服务请求通过领域本体进行语义标注以及在服务请求提出之前利用本体概念间的语义匹配,对不同Web服务的inputs,outputs参数进行匹配,文中提出的利用反向推理机制的服务组合算法,能提高服务组合方案的产生效率避免无用组合方案的产生。该服务发现组合策略是在一些已经具有的标准之上提出的一套形式化方法和算法,因此具有较强的实用性。进一步的研究主要在服务本体的分类、不同类别Web服务语义网的建立、大量Web服务存在时组合算法的优化、考虑用户偏好的服务语义建模、服务的QoS等非功能属性的匹配几个方面。
[1] Oasis,UDDI version 3.0.1[DB/OL].http://uddi.org/pubs/uddi-v3.0.1-20031014.html.
[2] W3C,Web services Description Language,version1.1[DB/OL].http://www.w3.org/tr/wsdl.
[3] Duo zhang,Juan-zi Li,XU Bin.Web Service Annotation using ontology Mapping[C].Proc of IEEE International workshop on Service-oriented System Engineering,2005:243-250.
[4] Semantic Web Annotation&Authoring Community[DB/OL],http://annotation.semanticWeb.org.
[5] I.Arpinar,B.Aleman-Meza,R.Zhang,A.Maduko, Ontologydriven Web services composition platform[J],Inf.Syst.E-Business Management,2005,3.
[6] David Martin,Mark Burstein,et al,owl-s:Semantic Markup for Web services[DB/OL].http://www.daml.org/service/owl-s/1.1/overview/.
[7] Massimo Paolucci,Naveen Srinivasan,Katia P.Sycara et al.Towards a Semantic choreography of Web Services:from wsdl to Daml-s[C],Proc of the International conference on Web Services(ICWS,2003):22-26.
TH166
A
1009-0134(2010)10(上)-0179-03
10.3969/j.issn.1009-0134.2010.10(上).56
2010-04-25
曹洪江(1972 -),男,湖南双峰人,讲师,博士,研究方向为语义网与本体论、知识管理。