摘要: 在當前的Web Service應用研究中,服務的查找篩選已成為研究的熱點。Web服務發現的研究目標是檢索效率和自動化程度的提高,語義描述和邏輯推理則是達到該目標的有效途徑。本文介紹了語義Web服務,并提出了一種應用語義Web服務篩選算法的Web Service中間件模型,并對中間件模型的服務篩選過程用UML時序圖表示,該模型提高了服務查找的查全率和查準率。
關鍵詞: Web Service 服務篩選 OWL-S 中間件
1.引言
Web Service技術是最新的程序間協作交互技術,它因具有可描述、可發布、可查找、可調用、可組合等特性被廣泛應用,而且它具有其他組件無法比擬的平臺無關性。當前,隨著XML技術在Web分布式計算環境中的應用,Web Service比CORBA、Java RMI和DCOM更加便利。
隨著Web服務的不斷發展,注冊到UDDI上的服務越來越多,使得用戶查找服務問題變得相對困難。目前主流的Web服務描述語言和查詢手段是WSDL和UDDI。它們并沒有很好地實現自動化和互操作的目標[1]。WSDL對服務的描述是基于語法的,描述能力有限,僅僅提供了Web服務的接口描述,不能提供對服務功能和行為上的描述。UDDI是一套基于Web的、分布式的、為Web服務提供的Web服務注冊中心的實現標準規范,它包含一組使企業能將自身提供的Web服務注冊以使得別的企業能夠發現的訪問協議的實現標準,并且提供了一組基于標準的規范,用于描述和發現服務。但是它同樣不能表達服務的用途和能力,而且它對服務的搜索是基于字符串的[2],因此,可能查詢到的服務有很多是不符合服務請求者的要求。
為了解決這一問題,本文提出了一種基于語義Web服務篩選的中間件模型,該模型利用了基于語義的服務篩選算法,對服務進行有效篩選,從而使用戶得到相對精確的Web服務。同時,對整個模型的篩選流程進行了UML建模。
2.基于語義的Web服務篩選的匹配
2.1匹配思想
當服務請求者在UDDI搜索一個服務時,如果這個服務正好就是用戶所要求的服務,這種情況就成為完全匹配。但是一般情況下,很難找到完全滿足用戶要求的服務,更多情況是搜索引擎搜索到大量類似用戶需求的服務。這是因為注冊的服務和請求的描述是不精確的,因此,對于搜索到的類似的服務,就應該通過定義服務的相似度[3]來選擇相對更加精確的服務,那么,匹配的關鍵就聚焦在如何定義這種相似程度上。
對于OWL本體定義而言,它定義每個類都有一個共同的祖先類“OWL:Thing”,類與類之間構成了一棵以“OWL:Thing”為根的類層次樹,描述了類之間包含關系。基于語義的Web服務篩選算法SWSFA(Semantics-based Web Services Filter Algorithm)的匹配思想如下:
Exact match:(request.input=register.output)最高程度的匹配。當兩種描述完全相等的情況下,這種情況才能發生。如圖1所示,服務提供者注冊了Sedan,如果用戶請求的服務是Sedan,這種情況是完全相同的,即exactmatch。
Full match:(request.input Part match:(request.input>register.output),當提供者不能完全滿足請求,產生部分匹配,即服務是請求的子集。如圖1,Car請求和Sedan服務間的匹配,Car是Sedan的父集。 Outer match:(request.input(register.output)服務和請求間沒有任何的包含關系,外部匹配發生。 據此可設計語義篩選函數selectJudge( ),根據請求服務與注冊服務的輸入/輸出參數之間的語義關系,返回不同的數值,用于表示兩者的匹配程度(返回值越小,越匹配;返回4表示完全不匹配)。 SelectJudge(req,reg) switch(relation(req,reg)){ casereq≡reg:return 1;break; casereg casereq casereq∝reg:return 4;break; } 2.2 基于語義的服務篩選過程框圖 基于語義的服務篩選原型圖如圖2所示,本體數據庫中存放了領域本體OWL本體,包括類層次關系等信息,是本體對外的接口;注冊中心登記了大量用OWL描述的服務,是存放注冊服務語義信息的容器;服務發現引擎則應用服務篩選算法,根據用戶的請求,以本體庫中選定的本體為基礎、以OWL-S為描述框架在注冊中心進行搜索,返回匹配請求的服務id。最后將篩選的結果返回給用戶。 3. 運用該算法思想的中間件模型及其流程建模 3.1 中間件模型結構 一般情況下,UDDI分為兩類:(1)基于Internet的全局商務注冊UDDI服務器;(2)基于Intranet的企業局部商務注冊UDDI服務器。無論是全局商務注冊UDDI,還是企業局部商務注冊UDDI,用戶都必須手工訪問每一個查詢的Web Service看是否滿足自己的要求。因為這種查詢的Web Service結果只提供注冊的Web Service的簡單說明,不能說明它們是否能夠真正達到用戶的目的,而且也不知道這些注冊的Web Service當前的狀態[4]。 基于Agent的Web Service中間件可以接受多用戶的需求,將之傳遞給UDDI服務器。但它可以對UDDI服務器的查詢結果進行篩選,具體篩選過程由Web Service Agent服務器調用SWSFA來完成,然后中間件自動根據Web Service的WSDL信息生成合適的隨機值,這些隨機值與Web Service的操作參數相對應。中間件根據這些隨機值調用Web Service執行,從而向用戶提供Web Service的執行結果,以便用戶進一步判斷是否是自己所需要的服務。經過二次篩選后的Web Service的數量大大減少,查找到的準確度也有所提高。圖2為該Web Service中間件模型。 3.2 OWL與UDDI的結合 UDDI注冊中心使用的核心信息模型由XML Schema定義。XML Schema定義了商業實體信息、服務信息、綁定信息和技術規范信息四種主要的信息類型。 其中,技術規范信息主要是作為描述一種技術規范的機制存在的。一個技術規范信息是描述UDDI注冊中心中各種商業、服務和模板結構的一種方式[5]。技術規范信息結構用來描述與某一規范、概念或共享設計的兼容性,任何抽象的概念都可以在UDDI注冊中心以一個技術規范信息的形式進行登記。在此中間件模型中,采用技術規范信息的方法對UDDI層進行語義方面的擴展會非常方便,并且與現行的標準的UDDI注冊中心不產生沖突,包含語義的Web服務注冊信息可以方便地保存在UDDI注冊中心,不需要對原有的架構進行大的調整,發現技術也可以通過UDDI注冊中心找到特定的技術規范信息,從而打開其中封裝的語義編碼。當一個新的技術規范信息被注冊到UDDI中心后,它的類型便被歸類到UDDI分類框架中。本體庫中存放了領域OWL本體,包括層次關系等信息。該中間件模型中的服務篩選引擎應用上述SWSFA算法,根據用戶請求,以本體庫中選定的本體為基礎、以OWL-S為描述框架進行篩選,返回匹配請求的id。 3.3 中間件模型各組件間的UML流程表示 中間件模型的整個Web服務的二次篩選過程可用UML時序圖表示,可以使整個的執行過程清楚明了,如圖4所示。 首先用戶向Web Service控制器提出服務查詢請求,Web Service控制器再將用戶請求封裝成SOAP消息傳送給UDDI,UDDI根據接收的SOAP消息搜索服務,看有哪些服務符合用戶請求,然后將結果暫存到Web Service Cache中,Web Service控制器再把相關信息傳給Web Service Agent服務器。Web Service Agent服務器通過服務篩選引擎調用算法對查詢到的服務進行二次篩選,服務篩選引擎所接受的查詢請求轉換而成的服務篩選引擎內部篩選語句,由篩選模塊給服務篩選引擎,根據此智能查詢請求,服務篩選引擎應用內建規則對本體內部的表達模式進行推理和篩選,返回相應的篩選結果給篩選模塊。結果整合模塊對結果集進行變形和整合,最后將篩選到的每一個服務生成對應的Web Service Agent,Web Service Agent根據服務訪問接口查找服務操作并把相關信息寫入到規則庫中。Web Service Agent服務器將每一個Web Service Agent的執行結果取出來傳給Web Service控制器,然后返回給用戶。 4. 結語 基于UDDI的Web Service的搜索,給很多用戶帶來了便利。本文在此基礎上結合了Agent和語義Web等思想,使用了一種基于語義的Web服務篩選算法,該算法基于語義進行服務篩選,一定程度上克服了傳統服務發現機制的缺陷,并可以提高Web Service服務的性能和效率。利用該算法設計的中間件模型可以對注冊的Web服務進行二次篩選,使得Web Service能夠向用戶提供動態和更加有效的結果,引入Agent后的Web Service也使得系統的集成更加便利。 參考文獻: [1]馬應龍.基于進化分布式本體的語義Web服務動態發現[J].計算機學報,2005,28(4):603-614. [2]LI LEI,HORROCKS I.A software framework for matchmaking based on semantic web technology[C].Proceedings of International WWW Conference,Budapest,Hungary,2003. [3]PAOLUCCIM,KAWAMURA T,PAYNE T R,SYCARA K.Semantic Matching of Web Services Capabilities.In the Proceedings of First International Semantic Web Conference (ISWC 2002)[J].IEEE,2002,(3):333-347. [4]NOH-SAM PARK,GIL-HAENG LEE.Agent-based web services middleware[A]. Global Telecommuni-cations Conference,GLOBECOM’03[C].IEEE,2003,6:3186-3190. [5]柴曉路.tModel的用途及結構詳解[EB/OL].2001[2006-07-15].http://www-128.ibm.com/developerworks/cn/webservices/ws-tmodel/part/index.shtml.