朱 建, 周愛霞, 盧晨晨, 羅 煒, 沈 曄
(中國人民解放軍理工大學氣象海洋學院,江蘇南京211101)
隨著語義網的發展,當前基于語義的Web Service成為研究的熱點。語義Web服務借助本體論模型,在語義描述框架的基礎上,通過對服務能做什么,怎么與它交互,提供機器可以理解的語義描述[1-2]。借助本體和本體描述語言來準確描述Web服務的語義,并且可以對本體進行推理,通過這些具備語義的描述信息來實現服務的自動發現、組合和執行調用等操作。
文獻[3]提出了基于Web服務本體的目錄服務系統架構。該系統針對Web服務本體構建本體目錄服務,利用OWL-S描述Web服務本體,將服務本體信息存入目錄庫中,并針對目錄樹中Web服務本體信息的更新設計了觸發器,保證了信息的同步[4-5]。文獻[3]中將服務本體存儲在目錄庫中,隨著本體信息的更新,目錄庫發生頻繁變化,而且目錄服務器同時執行目錄信息查找和本體推理的任務,目錄服務器的工作負擔加大;再則如果大量的Web服務本體都寫入目錄庫中,目錄查詢效率將會明顯降低。
如何把信息表示為計算機能夠理解和處理的形式,而XML、RDF和Ontology用于表示信息的結構、內容及語義基礎,是語義Web實現必不可少的三大關鍵技術[1,5]。文中針對文獻[1]中存在的問題進行研究,并提出解決語義Web服務的關鍵技術。
目錄是一個為查詢、瀏覽和搜索而優化的專業分布式數據庫,它成樹狀結構組織數據,就如同Linux/Unix系統中的文件目錄一樣。目錄數據庫和關系數據庫不同,它有優異的讀性能,但寫性能差;并且沒有事務處理、回滾等復雜功能,所以目錄主要用作查詢服務。目錄服務是由目錄數據庫和一套訪問協議組成的系統[6-7]。
LDAP協議是基于客戶機/服務器模式的、運行于TCP/IP之上的應用層協議,一個或多個LDAP服務器組成了LDAP目錄樹。LDAP服務器由目錄服務模塊、復制服務模塊和管理服務模塊3個模塊組成[7],如圖1 所示。

圖1 LDAP目錄服務功能結構Fig.1 Function structure of LDAP directory service
網絡通信模塊負責客戶機和服務器之間的網絡通信,完成協議解析和分析;復制服務模塊負責LDAP服務器之間的目錄數據復制;管理服務模塊負責目錄信息管理,以確保用戶在期望的反應時間、完整性、安全性及一致性層次上取得準確的目錄信息。
針對引言中提出的問題,文中提出將Web服務本體從目錄庫中抽取出來,在目錄庫之上構建Web服務本體的推理機,而目錄庫中只存儲訪問Web服務的地址索引信息(URL)[2,7],如圖 2 語義 Web 服務體系結構示意圖。圖3為Web服務本體推理模塊。

圖2 語義Web服務體系結構Fig.2 Architecture of semantic Web service

圖3 Web服務本體推理模塊Fig.3 Ontology reasoning module of Web service
圖2 中各模塊功能如下:
1)服務提供者:提供服務,用OWL-S描述語言描述服務,將提供服務的訪問地址注冊到服務注冊中心。
2)Web服務本體推理機:實現以下兩個功能:(1)將服務提供者提供的服務存入Web服務本體庫,并將服務訪問接口(URL)存入服務注冊中心,完成服務的發布;(2)根據服務請求者的服務請求合約以及服務本體庫等進行服務匹配,查找最優的服務集合,返回給服務請求者。
3)服務注冊中心:提供用戶認證功能、服務訪問接口,接收用戶的請求并將請求轉發到服務提供者,以提供服務。
4)服務請求者:通過目錄服務器訪問接口取得Web服務的訪問地址,并將請求的參數傳入Web服務中執行。
圖3 中各模塊描述如下:
1)智能Agent:負責發現用OWL-S語言描述的服務,并將服務提交到服務注冊接口。下面是OWL-S描述的元數據搜索(Search Meta data)舉例:
<service:service

2)服務注冊 /請求接口:負責對服務提供者用OWL-S語言描述的Web服務進行語法驗證,保證注冊的服務符合注冊中心的約束規則;同時將通過驗證的服務本體存入服務本體庫,并將服務接口(URL)存入服務注冊中心;負責對服務請求的OWL-S語言描述進行語法驗證。
3)預處理模塊:負責將服務請求的服務合約轉化為特定的領域本體提交給匹配模塊。
4)匹配引擎:負責根據用戶的服務合約查找滿足用戶需求的服務。該模塊根據預處理模塊得到的服務合約與用戶訪問的歷史記錄庫進行匹配得到一級結果集;與服務本體庫進行功能屬性和非功能屬性匹配得到二級結果集;與服務注冊中心進行匹配得到三級結果集傳給篩選模塊。如圖4匹配模塊所示。
5)篩選模塊:主要根據用戶的Qos定制篩選規則,然后根據篩選規則對服務集合進行篩選。

圖4 匹配模塊Fig.4 Matching module
結合LDAP目錄服務器數據庫的查詢優勢,將Web Service通過目錄服務器進行發布和訪問,極大地提高了Web服務的發布效率和靈活性,并給用戶的訪問帶來方便[6]。同時建立Web服務本體推理機,在服務注冊中心上層進行服務本體推理,實現服務的自動發現、組合和執行調用等操作[3]。語義 Web Service目錄服務分布式共享的體系結構如圖5所示。

圖5 目錄共享的體系結構Fig.5 Structure diagram of catalogue sharing system
圖5 中目錄共享的分布式結構包括目錄服務主、從節點。各個Web Service在從節點的目錄服務器中進行注冊,主、從節點目錄服務器之間通過目錄復制、分區、推薦等模塊進行目錄信息共享。這樣用戶訪問主節點的服務器就可以透明地訪問到分布式結構中的任何Web Service。Web服務索引地址在目錄數據庫中的存儲模式定義如圖6所示。

圖6 Web服務(查詢服務)在目錄服務器中的存儲模式示例Fig.6 Web service(query service)in directory server storage pattern
圖7 黑線框中是通過Java程序訪問從目錄服務器中Web服務的目錄信息,得到所有主目錄服務器中Web服務的目錄信息。根據目錄信息中提供的Web服務的訪問地址(description)訪問Web Service,從而實現了語義Web服務的發布和分布式共享。

圖7 訪問主服務器取得Web服務的訪問地址Fig.7 Web service access address by accesing to the main server
根據當前語義Web服務的研究現狀,提出建立基于LDAP目錄服務器的語義Web服務發布和分布式共享體系結構。文中通過OWL-S描述語言建立Web服務本體,并在此基礎上構建Web服務本體推理機,能提高Web服務的自動處理效率和分布式共享性能。
[1]彭暉,萬長林.語義萬維網服務[J].中國計算機學會通訊,2007,3(12):66-72.PENG Hui,WAN Chang-lin.Semantic Web service[J].Communications of CCF,2007,3(12):66-72.(in Chinese)
[2]柴曉路,梁宇奇.Web Services技術、架構和應用[M].北京:電子工業出版社,2003.
[3]呂世鵬.面向語義Web服務的本體目錄服務研究[D].大連:大連海事大學,2009.
[4]黃河,程勇,史忠植,等.語義Web中開放知識服務體系研究[J].計算機工程,2006,32(11):58-60.HUANG He,CHENG Yong,SHI Zhong-zhi,et al.Reseach on open knowledge services architecture in semantic Web[J].Computer Engineering,2006,32(11):58-60.(in Chinese)
[5]Bemers-Lee T,Hendler J,Lassila O.The semantic Web[J].Semantic American,2001,284(5):34-43.
[6]于洋.異構數據集成系統中目錄服務的研究與實現[D].大連:大連海事大學,2005.
[7]蔡曉英,趙曦濱,顧明.基于LDAP的UDDI注冊中心設計與實現[J].計算機應用研究,2005(1):144-146.CAI Xiao-ying,ZHAO Xi-bin,GU Ming.Design and realization of UDDI registry based on LDAP[J].Application Research of Computers,2005(1):144-146.(in Chinese)