曹洪江,聶規(guī)劃,陳冬林
CAO Hong-jiang, NIE Gui-hua, CHEN Dong-lin
(武漢理工大學(xué) 經(jīng)濟學(xué)院 電子商務(wù)研究所,武漢 430070)
基于語義標(biāo)注的Web服務(wù)發(fā)現(xiàn)組合策略
Semantic information-based Web service discovery &compostion strategy
曹洪江,聶規(guī)劃,陳冬林
CAO Hong-jiang, NIE Gui-hua, CHEN Dong-lin
(武漢理工大學(xué) 經(jīng)濟學(xué)院 電子商務(wù)研究所,武漢 430070)
為Web服務(wù)的提供者以及服務(wù)請求者在服務(wù)描述以及服務(wù)請求中加入相應(yīng)的語義信息能消除Web服務(wù)中服務(wù)的查找和匹配環(huán)節(jié)參數(shù)的語義上的模糊性.將有助于服務(wù)的自動發(fā)現(xiàn)和組合.提出通過語義標(biāo)注的方法在服務(wù)發(fā)現(xiàn)組合過程中添加語義信息,構(gòu)建語義Web服務(wù)網(wǎng)絡(luò).并利用Web服務(wù)功能屬性之間的語義關(guān)聯(lián),使用基于反向推理機制的自動組合算法形成語義Web服務(wù)組合方案選出能有效滿足客戶需求的服務(wù)組合.
Web服務(wù);語義標(biāo)注;Web服務(wù)組合策略
Web服務(wù)被認(rèn)為是一個被設(shè)計來支持網(wǎng)絡(luò)上機器之間的可互操作的交互,具有一個清晰的、機器可讀的、通用的標(biāo)準(zhǔn)描述(WSDL),其他系統(tǒng)以該描述中說明的方式與它交互,具有完全開放、松散耦合、標(biāo)準(zhǔn)協(xié)議規(guī)范和高度可集成能力等特征的一個軟件系統(tǒng),但傳統(tǒng)的Web服務(wù)體系結(jié)構(gòu)中[1],由于WSDL[2]對服務(wù)的描述接口是基于語法的以及UDDI本身是一種基于關(guān)鍵字的注冊查找機制,都缺乏對服務(wù)中必要的語義信息描述,從而無法實現(xiàn)滿足客戶需求的Web服務(wù)的自動發(fā)現(xiàn)和組合,將語義網(wǎng)的相關(guān)知識應(yīng)用到Web服務(wù)領(lǐng)域是一種有效的克服上述缺陷的方法。實現(xiàn)在因特網(wǎng)上,將處于異構(gòu)環(huán)境下的多個單一的Web服務(wù)組合成滿足用戶需求的服務(wù)的應(yīng)用需求。本文從增強Web服務(wù)語義信息角度出發(fā),提出了通過對請求信息以及服務(wù)描述信息進行語義標(biāo)注[3,4],再將服務(wù)請求同Web服務(wù)功能屬性的語義描述相匹配。最后利用反向推理方法找出滿足用戶需求的服務(wù)組合的策略。
在傳統(tǒng)的Web服務(wù)邏輯框架下,底層協(xié)議如:UDDI,SOAP[8],WSDL可以滿足跨平臺的不同服務(wù)之間傳遞數(shù)據(jù)的作用,但在較高的層面上由于缺乏語義信息無法滿足服務(wù)的語義查找和自動匹配合,因此參考舊有的Web services的框架,在不同的Web services協(xié)議棧的層次上加入語義信息,實現(xiàn)對Web服務(wù)的語義化[5]。本文提出的基于語義標(biāo)注的Web services發(fā)現(xiàn)組合邏輯框架如圖1所示。
圖1 語義標(biāo)注的Web 服務(wù)發(fā)現(xiàn)組合邏輯框架
框架各部分作用簡介:
-Soap協(xié)議層:負(fù)責(zé)以XML格式傳遞各個服務(wù)間的消息
-Semantic Description:用OWL-S對WSDL中的Web 服務(wù)相關(guān)的描述信息進行語義標(biāo)注
-Publication:將語義Web服務(wù)發(fā)布到Web服務(wù)語義網(wǎng)
-semantic network of Webservices:一個相互之間具有內(nèi)在聯(lián)系的服務(wù)集合,每個節(jié)點對應(yīng)一個具體的WEB服務(wù),節(jié)點之間的連接線則根據(jù)不同Web服務(wù)的功能服務(wù)屬性(input,output)之間的語義相似度測量值做上對應(yīng)的標(biāo)記。
-Discovery&composition:語義Web服務(wù)的發(fā)現(xiàn)和組合
-Semantic request:服務(wù)請求的語義標(biāo)注
-QoS:服務(wù)組合的QoS指標(biāo)參數(shù)
邏輯結(jié)構(gòu)圖中的semantic request 中主要是通過領(lǐng)域本體對服務(wù)的input,output參數(shù)進行語義標(biāo)注,Discovery/composition則利用服務(wù)請求中的語義信息和semantic network of Websevices中的服務(wù)之間的語義關(guān)聯(lián)來實現(xiàn)服務(wù)的有效組合,semantic annotation 則是通過OWL-S[6]對已發(fā)布服務(wù)的WSDL文件進行語義標(biāo)注。整個系統(tǒng)工作流程如圖2所示。
圖2 Web服務(wù)發(fā)現(xiàn)組合工作流程
在進行有效的語義Web服務(wù)組合之前,首先建立一個語義Web服務(wù)元模型,該模型要考慮到服務(wù)的描述信息和其后用于服務(wù)發(fā)現(xiàn)和組合的功能信息以及用于服務(wù)選擇的QoS信息,故使用一種“原子模型”,將有利于增強Web服務(wù)的發(fā)現(xiàn)組合的有效性和準(zhǔn)確性。該文將一個語義Web服務(wù)定義為以下四元組:
Web服務(wù)的語義標(biāo)注:以上四元組將用來描述所有的WEB服務(wù),在WEB服務(wù)的語義描述中,其中很重要的一點就是將其Inputs、Outputs參數(shù)進行語義標(biāo)注并將它們對應(yīng)到對應(yīng)的語義模型中去,從而使WEB服務(wù)的功能屬性具有語義信息。目前比較常用的就是使用W3C推薦的OWL-S本體描述語言來實現(xiàn)這一環(huán)節(jié)。OWL-S中通常由ServiceProfile、ServiceModel、ServiceGrounding[10]三部分組成,其中ServiceProfile主要是描述服務(wù)諸如服務(wù)名稱,服務(wù)功能信息等一般信息,ServiceModel主要是服務(wù)提供者用來描述服務(wù)的內(nèi)部流程,而ServiceGrounding 它描述服務(wù)是如何被訪問的,在這三部分中,ServiceProfile中的(Inputs,Outputs)將可以被用來進行服務(wù)的發(fā)現(xiàn)和組合,而ServiceGroundin中的atomic process,(Inputs,Outputs)同WSDL中的operation,Message是一種對應(yīng)關(guān)系[7]??捎脕韺Ψ?wù)進行語義標(biāo)注。
表1 語義Web services示例
圖3 Web服務(wù)的語義標(biāo)注
服務(wù)請求的標(biāo)注:服務(wù)請求和Web服務(wù)應(yīng)該對應(yīng)到同一個語義模型中來進行,當(dāng)服務(wù)請求提交后。通常經(jīng)過解析,將對服務(wù)組合有用的參數(shù)信息提取出來。分別對應(yīng)到inputs和outputs參數(shù),這個解析過程的完成一般會通過相應(yīng)的語法解析器,也可以通過用戶頁面直接提交的方式來獲取。當(dāng)代表服務(wù)請求的參數(shù)獲取后,inputs和outputs將動態(tài)的連接到一個OWL描述的和Web services描述所共享的領(lǐng)域本體,從而消除服務(wù)請求同Web services語法語義上存在的二義性,為服務(wù)的發(fā)現(xiàn)和匹配掃清障礙。
圖4 服務(wù)請求的語義標(biāo)注
為了能自動找出滿足查詢要求的服務(wù)組合,本文考慮用反向推理的自動服務(wù)算法來查找服務(wù)組合。該算法的主要思路是利用目標(biāo)outputs參數(shù)同后續(xù)服務(wù)inputs參數(shù)的相似性來進行。
算法如下:
1)將服務(wù)請求的outputs作為目標(biāo)outputs
2)通過web服務(wù)語義網(wǎng)中查找和目標(biāo)outputs相匹配(equivalent,opposite subsumption)的語義服務(wù)
3)將尋找到的語義服務(wù)的inputs作為新的目標(biāo)outputs
4)在還未被查找過的語義服務(wù)集合內(nèi)繼續(xù)查找同新目標(biāo)相匹配outputs從而查找到下一個加入組合方案的新的服務(wù)節(jié)點。
5) 跳轉(zhuǎn)到step3
6)所有outputs參數(shù)已經(jīng)查找過或者再無法再找到滿足匹配要求的outputs,服務(wù)組合結(jié)束。
本文采用反向推理的方法使得出的組合方案都是滿足服務(wù)請求的,因此可以減少無用組合方案的產(chǎn)生。
該組合策略在課題組的前序研究中已經(jīng)得到了初步驗證,能較為快速有效的找出服務(wù)組合方案,其中推理機采用JENA,本體建模工具為protégé 3.2,服務(wù)本體采用的是: http://www.mindswap.org/2004/owl-s/services.shtml中的實例。但在大量服務(wù)本體存在情況下的組合效果還需要進一步驗證和研究。
根據(jù)在Web服務(wù)發(fā)現(xiàn)和組合中增加語義信息有助于提高服務(wù)組合的準(zhǔn)確性和有效性這一理論,本文采用對服務(wù)請求通過領(lǐng)域本體進行語義標(biāo)注以及在服務(wù)請求提出之前利用本體概念間的語義匹配,對不同Web服務(wù)的inputs,outputs參數(shù)進行匹配,文中提出的利用反向推理機制的服務(wù)組合算法,能提高服務(wù)組合方案的產(chǎn)生效率避免無用組合方案的產(chǎn)生。該服務(wù)發(fā)現(xiàn)組合策略是在一些已經(jīng)具有的標(biāo)準(zhǔn)之上提出的一套形式化方法和算法,因此具有較強的實用性。進一步的研究主要在服務(wù)本體的分類、不同類別Web服務(wù)語義網(wǎng)的建立、大量Web服務(wù)存在時組合算法的優(yōu)化、考慮用戶偏好的服務(wù)語義建模、服務(wù)的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 -),男,湖南雙峰人,講師,博士,研究方向為語義網(wǎng)與本體論、知識管理。