朱 建, 周愛霞, 盧晨晨, 羅 煒, 沈 曄
(中國人民解放軍理工大學(xué)氣象海洋學(xué)院,江蘇南京211101)
隨著語義網(wǎng)的發(fā)展,當(dāng)前基于語義的Web Service成為研究的熱點(diǎn)。語義Web服務(wù)借助本體論模型,在語義描述框架的基礎(chǔ)上,通過對服務(wù)能做什么,怎么與它交互,提供機(jī)器可以理解的語義描述[1-2]。借助本體和本體描述語言來準(zhǔn)確描述Web服務(wù)的語義,并且可以對本體進(jìn)行推理,通過這些具備語義的描述信息來實現(xiàn)服務(wù)的自動發(fā)現(xiàn)、組合和執(zhí)行調(diào)用等操作。
文獻(xiàn)[3]提出了基于Web服務(wù)本體的目錄服務(wù)系統(tǒng)架構(gòu)。該系統(tǒng)針對Web服務(wù)本體構(gòu)建本體目錄服務(wù),利用OWL-S描述Web服務(wù)本體,將服務(wù)本體信息存入目錄庫中,并針對目錄樹中Web服務(wù)本體信息的更新設(shè)計了觸發(fā)器,保證了信息的同步[4-5]。文獻(xiàn)[3]中將服務(wù)本體存儲在目錄庫中,隨著本體信息的更新,目錄庫發(fā)生頻繁變化,而且目錄服務(wù)器同時執(zhí)行目錄信息查找和本體推理的任務(wù),目錄服務(wù)器的工作負(fù)擔(dān)加大;再則如果大量的Web服務(wù)本體都寫入目錄庫中,目錄查詢效率將會明顯降低。
如何把信息表示為計算機(jī)能夠理解和處理的形式,而XML、RDF和Ontology用于表示信息的結(jié)構(gòu)、內(nèi)容及語義基礎(chǔ),是語義Web實現(xiàn)必不可少的三大關(guān)鍵技術(shù)[1,5]。文中針對文獻(xiàn)[1]中存在的問題進(jìn)行研究,并提出解決語義Web服務(wù)的關(guān)鍵技術(shù)。
目錄是一個為查詢、瀏覽和搜索而優(yōu)化的專業(yè)分布式數(shù)據(jù)庫,它成樹狀結(jié)構(gòu)組織數(shù)據(jù),就如同Linux/Unix系統(tǒng)中的文件目錄一樣。目錄數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫不同,它有優(yōu)異的讀性能,但寫性能差;并且沒有事務(wù)處理、回滾等復(fù)雜功能,所以目錄主要用作查詢服務(wù)。目錄服務(wù)是由目錄數(shù)據(jù)庫和一套訪問協(xié)議組成的系統(tǒng)[6-7]。
LDAP協(xié)議是基于客戶機(jī)/服務(wù)器模式的、運(yùn)行于TCP/IP之上的應(yīng)用層協(xié)議,一個或多個LDAP服務(wù)器組成了LDAP目錄樹。LDAP服務(wù)器由目錄服務(wù)模塊、復(fù)制服務(wù)模塊和管理服務(wù)模塊3個模塊組成[7],如圖1 所示。
圖1 LDAP目錄服務(wù)功能結(jié)構(gòu)Fig.1 Function structure of LDAP directory service
網(wǎng)絡(luò)通信模塊負(fù)責(zé)客戶機(jī)和服務(wù)器之間的網(wǎng)絡(luò)通信,完成協(xié)議解析和分析;復(fù)制服務(wù)模塊負(fù)責(zé)LDAP服務(wù)器之間的目錄數(shù)據(jù)復(fù)制;管理服務(wù)模塊負(fù)責(zé)目錄信息管理,以確保用戶在期望的反應(yīng)時間、完整性、安全性及一致性層次上取得準(zhǔn)確的目錄信息。
針對引言中提出的問題,文中提出將Web服務(wù)本體從目錄庫中抽取出來,在目錄庫之上構(gòu)建Web服務(wù)本體的推理機(jī),而目錄庫中只存儲訪問Web服務(wù)的地址索引信息(URL)[2,7],如圖 2 語義 Web 服務(wù)體系結(jié)構(gòu)示意圖。圖3為Web服務(wù)本體推理模塊。
圖2 語義Web服務(wù)體系結(jié)構(gòu)Fig.2 Architecture of semantic Web service
圖3 Web服務(wù)本體推理模塊Fig.3 Ontology reasoning module of Web service
圖2 中各模塊功能如下:
1)服務(wù)提供者:提供服務(wù),用OWL-S描述語言描述服務(wù),將提供服務(wù)的訪問地址注冊到服務(wù)注冊中心。
2)Web服務(wù)本體推理機(jī):實現(xiàn)以下兩個功能:(1)將服務(wù)提供者提供的服務(wù)存入Web服務(wù)本體庫,并將服務(wù)訪問接口(URL)存入服務(wù)注冊中心,完成服務(wù)的發(fā)布;(2)根據(jù)服務(wù)請求者的服務(wù)請求合約以及服務(wù)本體庫等進(jìn)行服務(wù)匹配,查找最優(yōu)的服務(wù)集合,返回給服務(wù)請求者。
3)服務(wù)注冊中心:提供用戶認(rèn)證功能、服務(wù)訪問接口,接收用戶的請求并將請求轉(zhuǎn)發(fā)到服務(wù)提供者,以提供服務(wù)。
4)服務(wù)請求者:通過目錄服務(wù)器訪問接口取得Web服務(wù)的訪問地址,并將請求的參數(shù)傳入Web服務(wù)中執(zhí)行。
圖3 中各模塊描述如下:
1)智能Agent:負(fù)責(zé)發(fā)現(xiàn)用OWL-S語言描述的服務(wù),并將服務(wù)提交到服務(wù)注冊接口。下面是OWL-S描述的元數(shù)據(jù)搜索(Search Meta data)舉例:
<service:service
2)服務(wù)注冊 /請求接口:負(fù)責(zé)對服務(wù)提供者用OWL-S語言描述的Web服務(wù)進(jìn)行語法驗證,保證注冊的服務(wù)符合注冊中心的約束規(guī)則;同時將通過驗證的服務(wù)本體存入服務(wù)本體庫,并將服務(wù)接口(URL)存入服務(wù)注冊中心;負(fù)責(zé)對服務(wù)請求的OWL-S語言描述進(jìn)行語法驗證。
3)預(yù)處理模塊:負(fù)責(zé)將服務(wù)請求的服務(wù)合約轉(zhuǎn)化為特定的領(lǐng)域本體提交給匹配模塊。
4)匹配引擎:負(fù)責(zé)根據(jù)用戶的服務(wù)合約查找滿足用戶需求的服務(wù)。該模塊根據(jù)預(yù)處理模塊得到的服務(wù)合約與用戶訪問的歷史記錄庫進(jìn)行匹配得到一級結(jié)果集;與服務(wù)本體庫進(jìn)行功能屬性和非功能屬性匹配得到二級結(jié)果集;與服務(wù)注冊中心進(jìn)行匹配得到三級結(jié)果集傳給篩選模塊。如圖4匹配模塊所示。
5)篩選模塊:主要根據(jù)用戶的Qos定制篩選規(guī)則,然后根據(jù)篩選規(guī)則對服務(wù)集合進(jìn)行篩選。
圖4 匹配模塊Fig.4 Matching module
結(jié)合LDAP目錄服務(wù)器數(shù)據(jù)庫的查詢優(yōu)勢,將Web Service通過目錄服務(wù)器進(jìn)行發(fā)布和訪問,極大地提高了Web服務(wù)的發(fā)布效率和靈活性,并給用戶的訪問帶來方便[6]。同時建立Web服務(wù)本體推理機(jī),在服務(wù)注冊中心上層進(jìn)行服務(wù)本體推理,實現(xiàn)服務(wù)的自動發(fā)現(xiàn)、組合和執(zhí)行調(diào)用等操作[3]。語義 Web Service目錄服務(wù)分布式共享的體系結(jié)構(gòu)如圖5所示。
圖5 目錄共享的體系結(jié)構(gòu)Fig.5 Structure diagram of catalogue sharing system
圖5 中目錄共享的分布式結(jié)構(gòu)包括目錄服務(wù)主、從節(jié)點(diǎn)。各個Web Service在從節(jié)點(diǎn)的目錄服務(wù)器中進(jìn)行注冊,主、從節(jié)點(diǎn)目錄服務(wù)器之間通過目錄復(fù)制、分區(qū)、推薦等模塊進(jìn)行目錄信息共享。這樣用戶訪問主節(jié)點(diǎn)的服務(wù)器就可以透明地訪問到分布式結(jié)構(gòu)中的任何Web Service。Web服務(wù)索引地址在目錄數(shù)據(jù)庫中的存儲模式定義如圖6所示。
圖6 Web服務(wù)(查詢服務(wù))在目錄服務(wù)器中的存儲模式示例Fig.6 Web service(query service)in directory server storage pattern
圖7 黑線框中是通過Java程序訪問從目錄服務(wù)器中Web服務(wù)的目錄信息,得到所有主目錄服務(wù)器中Web服務(wù)的目錄信息。根據(jù)目錄信息中提供的Web服務(wù)的訪問地址(description)訪問Web Service,從而實現(xiàn)了語義Web服務(wù)的發(fā)布和分布式共享。
圖7 訪問主服務(wù)器取得Web服務(wù)的訪問地址Fig.7 Web service access address by accesing to the main server
根據(jù)當(dāng)前語義Web服務(wù)的研究現(xiàn)狀,提出建立基于LDAP目錄服務(wù)器的語義Web服務(wù)發(fā)布和分布式共享體系結(jié)構(gòu)。文中通過OWL-S描述語言建立Web服務(wù)本體,并在此基礎(chǔ)上構(gòu)建Web服務(wù)本體推理機(jī),能提高Web服務(wù)的自動處理效率和分布式共享性能。
[1]彭暉,萬長林.語義萬維網(wǎng)服務(wù)[J].中國計算機(jī)學(xué)會通訊,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技術(shù)、架構(gòu)和應(yīng)用[M].北京:電子工業(yè)出版社,2003.
[3]呂世鵬.面向語義Web服務(wù)的本體目錄服務(wù)研究[D].大連:大連海事大學(xué),2009.
[4]黃河,程勇,史忠植,等.語義Web中開放知識服務(wù)體系研究[J].計算機(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]于洋.異構(gòu)數(shù)據(jù)集成系統(tǒng)中目錄服務(wù)的研究與實現(xiàn)[D].大連:大連海事大學(xué),2005.
[7]蔡曉英,趙曦濱,顧明.基于LDAP的UDDI注冊中心設(shè)計與實現(xiàn)[J].計算機(jī)應(yīng)用研究,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)