陳 磊,吳海波
(淮南師范學(xué)院 計(jì)算機(jī)與信息工程系,安徽 淮南232001)
利用Topic-Group構(gòu)建Web服務(wù)
陳 磊,吳海波
(淮南師范學(xué)院 計(jì)算機(jī)與信息工程系,安徽 淮南232001)
針對(duì)傳統(tǒng)Web服務(wù)機(jī)制的注冊(cè)集中、標(biāo)注語(yǔ)義缺乏和自動(dòng)處理困難的問(wèn)題,提出了一種基于主題組(Topic-Group)的 Web服務(wù)機(jī)制;以基于超節(jié)點(diǎn)的peer-to-peer作為網(wǎng)絡(luò)架構(gòu),OWL-S/UDDI作為服務(wù)注冊(cè)平臺(tái),用語(yǔ)義Web服務(wù)技術(shù)對(duì)傳統(tǒng)的Web服務(wù)機(jī)制進(jìn)行了改進(jìn)。研究表明,模型提高了Web服務(wù)的注冊(cè)、發(fā)現(xiàn)和匹配的自動(dòng)化處理能力。
主題組;Peer-to-Peer;Web服務(wù);OWL-S
Web服務(wù)機(jī)制改變了傳統(tǒng)互聯(lián)網(wǎng)的應(yīng)用方式,提供了一個(gè)獨(dú)立于系統(tǒng)的、跨平臺(tái)的應(yīng)用程序之間互操作機(jī)制。通過(guò)程序之間的數(shù)據(jù)交互,用戶可以獲取便捷、快速甚至是智能的信息服務(wù)。傳統(tǒng)的Web服務(wù)模型如圖1所示:
圖1 Web服務(wù)模型
然而,當(dāng)前的Web服務(wù)機(jī)制的注冊(cè)、發(fā)現(xiàn)與整合對(duì)于用戶而言存在著一些亟待解決的問(wèn)題,主要有兩點(diǎn)
(1)集中式的Web服務(wù)注冊(cè)與管理。目前的一些商家例如IBM、Microsoft、SAP、HP等提供了一些服務(wù)注冊(cè)平臺(tái),從某種程度上部分解決了上述問(wèn)題,然而對(duì)于一般用戶所需求的服務(wù)自動(dòng)注冊(cè)、發(fā)現(xiàn)與整合仍然存在著很大的差距。
(2)Web服務(wù)內(nèi)容的描述缺乏語(yǔ)義。用戶的服務(wù)查詢與整合往往是從服務(wù)的功能(capabilities)上而不是從語(yǔ)法(syntax)上描述的,而傳統(tǒng)的Web服務(wù)的注冊(cè)與發(fā)現(xiàn)都是基于關(guān)鍵詞的?;陉P(guān)鍵詞的服務(wù)機(jī)制不能準(zhǔn)確地描述服務(wù)本身,而且也不支持基于服務(wù)的推理(這在服務(wù)的發(fā)現(xiàn)與整合中顯得非常重要),從而無(wú)法實(shí)現(xiàn)未來(lái)互聯(lián)網(wǎng)所需要的自動(dòng)Web服務(wù)處理。
本文從這兩個(gè)角度出發(fā),提出了一種基于超節(jié)點(diǎn)的Peer-to-Peer機(jī)制的 Web服務(wù)架構(gòu)的模型,其特點(diǎn)在于:使用了帶有超級(jí)節(jié)點(diǎn)的Peer-to-Peer(以下簡(jiǎn)稱P2P)網(wǎng)絡(luò)結(jié)構(gòu);通過(guò)“二次握手”將服務(wù)發(fā)現(xiàn)過(guò)程分解成兩個(gè)階段,使得服務(wù)的查詢與發(fā)現(xiàn)有針對(duì)性;各個(gè)主題組(Topic-Group)是自由組建的,對(duì)服務(wù)提供者(Provider)和請(qǐng)求者(Requester)是透明不可見(jiàn)的;各個(gè)節(jié)點(diǎn)之間沒(méi)有控制功能,只在邏輯上建立一種“主題同組”的聯(lián)系,便于服務(wù)的注冊(cè)與發(fā)現(xiàn)。
P2P網(wǎng)絡(luò)具有靈活的自主控制優(yōu)勢(shì),因而非常適合未來(lái)互聯(lián)網(wǎng)上一些應(yīng)用(如 Social Networks)[5]。節(jié)點(diǎn)(peers)可以通過(guò)兩種方式接入到網(wǎng)絡(luò),一種是完全自主地接入到一個(gè)大的網(wǎng)絡(luò)中,這種方式構(gòu)成的網(wǎng)絡(luò)稱為純的P2P網(wǎng)絡(luò)(pure P2PNetworks);另一種方式是,節(jié)點(diǎn)首先加入到一個(gè)以某個(gè)或某些具有良好計(jì)算功能或存儲(chǔ)功能的超節(jié)點(diǎn)(super peers)為中心的子網(wǎng)絡(luò)中,子網(wǎng)再通過(guò)超節(jié)點(diǎn)之間的互聯(lián)組成一個(gè)龐大的網(wǎng)絡(luò),我們稱該種形式的網(wǎng)絡(luò)為帶有超節(jié)點(diǎn)的P2P網(wǎng)絡(luò)(super-based P2PNetworks),其結(jié)構(gòu)如圖2所示。實(shí)踐表明,帶有超級(jí)節(jié)點(diǎn)的P2P網(wǎng)絡(luò)不僅在其信息的發(fā)布、傳輸方式上,而且在管理控制上都占有明顯的優(yōu)勢(shì)[1]。
圖2 基于Topic-Group的P2P網(wǎng)絡(luò)結(jié)構(gòu)
節(jié)點(diǎn)之間可以按照多種策略進(jìn)行組合,由于在Web服務(wù)中,常以服務(wù)主題(Service Topic)和服務(wù)的類別作為服務(wù)發(fā)現(xiàn)的依據(jù),因而,本文采用服務(wù)主題作為節(jié)點(diǎn)之間聚合(clustering)的標(biāo)準(zhǔn),并稱這種網(wǎng)絡(luò)結(jié)構(gòu)為“基于Topic-Group的P2P架構(gòu)”。一個(gè)主題組(Topic-Group Network,以下簡(jiǎn)稱TGN)是指一組具有相同主題的服務(wù)供應(yīng)或服務(wù)查詢的節(jié)點(diǎn),它們以星型結(jié)構(gòu)連接在一個(gè)或一組超級(jí)節(jié)點(diǎn)上。簡(jiǎn)便起見(jiàn),我們假定一個(gè)TGN有且只有一個(gè)超級(jí)節(jié)點(diǎn),其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。在這種網(wǎng)絡(luò)中,節(jié)點(diǎn)之間的通信分為兩種,一種是一個(gè)TGN內(nèi)部節(jié)點(diǎn)之間的服務(wù)請(qǐng)求與響答;另一種是TGN之間的節(jié)點(diǎn)之間的服務(wù)與響答。對(duì)于第一種通信來(lái)說(shuō),節(jié)點(diǎn)之間的信息傳遞無(wú)需向TGN外部傳送就能實(shí)現(xiàn)服務(wù)的響應(yīng),而第二種的信息傳遞也只發(fā)生在少數(shù)幾個(gè)TGN之間,由于與服務(wù)主題無(wú)關(guān)的TGN不會(huì)參與信息的傳遞,這樣大大減少了網(wǎng)絡(luò)負(fù)載。
一個(gè)具有主題τ的主題組TGN采用如下的形式進(jìn)行定義:
其中,pi是組中的一般節(jié)點(diǎn),而s代表著組中唯一的超節(jié)點(diǎn),N代表TGN的物理網(wǎng)絡(luò),link(pi,s,τ)是指在一個(gè)τ主題的TGN中,節(jié)點(diǎn)pi與超節(jié)點(diǎn)s之間存在著一條連接。
基于上述定義,我們給出幾個(gè)操作的描述:
①Join(pi,τ):表示將節(jié)點(diǎn)pi加入到以τ為主題的TGN中。
②Leave(pi,τ):表示將節(jié)點(diǎn)pi從以τ為主題的TGN中移出。
③ Match(?,τ):表示一個(gè)以服務(wù)發(fā)布者的一個(gè)服務(wù)主題?與τ的匹配,其中,0≤Match(?,τ)≤1。
在Web服務(wù)機(jī)制中,匹配過(guò)程非常重要。例如在本文研究的背影下,匹配發(fā)生在三個(gè)場(chǎng)合下:服務(wù)提供者在發(fā)布Web服務(wù)時(shí),需要判斷將信息發(fā)布在哪個(gè)超節(jié)點(diǎn)上,這發(fā)生在Join(pi,τ)操作執(zhí)行的時(shí)候;服務(wù)請(qǐng)求者在請(qǐng)求一個(gè)服務(wù)時(shí),它需要首先判斷到哪個(gè)TGN中去查找自己的服務(wù)信息;服務(wù)請(qǐng)求者與超級(jí)節(jié)點(diǎn)中各服務(wù)發(fā)布信息之間的匹配處理。不同階段的匹配粒度存在著一定差別,前兩種情況并不做嚴(yán)格的匹配檢驗(yàn),主要實(shí)現(xiàn)一種主題的查找與定位操作。在第一次匹配(握手)時(shí),并不要求Match(?,τ)的值一定是1,事實(shí)上,Match(?,τ)函數(shù)值可以是一個(gè)[0,1]上的任意值,這是因?yàn)橛械腡GN的主題可能與所查詢的目標(biāo)主題比較接近,函數(shù)值就接近1,反之就接近0。當(dāng)有多個(gè)TNG的主題與查詢服務(wù)的主題都有匹配結(jié)果時(shí),可以按照函數(shù)的返回值排序,從而選擇一個(gè)主題最接近的TGN加入或查詢。在定位成功后,第三種情況發(fā)生時(shí),匹配過(guò)程是嚴(yán)格、詳細(xì)的。我們把這種服務(wù)的定位、發(fā)現(xiàn)機(jī)制稱為“二次握手”。
基于圖2的網(wǎng)絡(luò)結(jié)構(gòu),整個(gè)系統(tǒng)的參與者分為三個(gè)角色(roles):服務(wù)提供者(Provider)、服務(wù)需求者(Requester)和注冊(cè)中心(Registry)。該系統(tǒng)與傳統(tǒng)的Web服務(wù)系統(tǒng)具有區(qū)別,后者服務(wù)的發(fā)布(advertisement)鼓勵(lì)用OWL-S本體來(lái)描述。通過(guò)本體,我們可以計(jì)算出兩個(gè)概念之間的語(yǔ)義距離,這樣可以有效地提高概念之間的匹配精度;此外,OWL本體是基于描述邏輯(Description Logic)的,因而在OWL本體中可以精確地描述概念之間的層次關(guān)系,這對(duì)Web服務(wù)是非常有利的,利用這種層次關(guān)系,Web服務(wù)可以做到自動(dòng)推理,從而實(shí)現(xiàn)自動(dòng)的服務(wù)發(fā)現(xiàn)與組合。
傳統(tǒng)的注冊(cè)機(jī)制采用UDDI,TGN中的超節(jié)點(diǎn)提供一種“擴(kuò)展版的UDDI注冊(cè)機(jī)制”來(lái)詮釋主題服務(wù)[2]。本文中的語(yǔ)義Web服務(wù)機(jī)制將結(jié)合OWL-S的Service Profile嵌入到UDDI的機(jī)制,使得這種OWL-S/UDDI聯(lián)合體既具有了UDDI注冊(cè)機(jī)制成熟的軟件平臺(tái)和良好的接口,又顯式地描述了Web服務(wù)的語(yǔ)義,其結(jié)構(gòu)如圖3所示。
圖3 UDDI/OWL-S注冊(cè)結(jié)構(gòu)
由圖3可知,一個(gè)用戶可以通過(guò)OWL-S/UDDI中的Publish UDDI Port發(fā)布服務(wù)。如果服務(wù)中包含有OWL-S的Service Profile描述文件,則說(shuō)明該服務(wù)是面向語(yǔ)義Web服務(wù)的,這時(shí),將該描述文件傳送到OWL-S Matchmaker,它具有將Profile與UDDI詞匯映射的功能。通過(guò)映射,Profile描述被嵌入到了UDDI注冊(cè)機(jī)中。同樣,當(dāng)一個(gè)服務(wù)請(qǐng)求到來(lái)時(shí),它有兩個(gè)入口,一是Inquiry UDDI Port,代表傳統(tǒng)的UDDI服務(wù)請(qǐng)求入口;另一個(gè)入口是Capability Port,代表語(yǔ)義 Web服務(wù)查詢請(qǐng)求入口。對(duì)于前者,系統(tǒng)將按照傳統(tǒng)的服務(wù)發(fā)現(xiàn)機(jī)制執(zhí)行;而對(duì)于后者,系統(tǒng)將用戶的查詢交給 OWL-S Matchmaker,OWL-S Matchmaker通過(guò)映射轉(zhuǎn)換,將它轉(zhuǎn)換成對(duì)UDDI的注冊(cè)目錄查詢。
對(duì)服務(wù)的描述有兩個(gè)層次,一是對(duì)Web服務(wù)的主題進(jìn)行描述;另一個(gè)是對(duì)Web服務(wù)的具體內(nèi)容進(jìn)行描述。
主題的描述是指在初始化每個(gè)TGN的時(shí)候,由領(lǐng)域?qū)<覍?duì)即將生成的TGN所應(yīng)具有的領(lǐng)域主題進(jìn)行定義。它是對(duì)所注冊(cè)的服務(wù)的共性的抽象,作為一個(gè)接口存放于每個(gè)TGN所對(duì)應(yīng)的超節(jié)點(diǎn)上。主題具有兩個(gè)功能,一是當(dāng)一般的網(wǎng)絡(luò)節(jié)點(diǎn)在發(fā)布它所提供的服務(wù)時(shí),首先根據(jù)各個(gè)TGN的主題判斷自己應(yīng)該接入到哪個(gè)TGN中(將服務(wù)發(fā)布到哪個(gè)超節(jié)點(diǎn)上);二是當(dāng)一般節(jié)點(diǎn)請(qǐng)求服務(wù)時(shí),判斷請(qǐng)求的傳送方向。一個(gè)服務(wù)的主題包括兩個(gè)部分,一是對(duì)服務(wù)領(lǐng)域的描述,另外就是主題策略的描述。對(duì)主題的描述粒度比較大,這是因?yàn)樗砹艘粋€(gè)服務(wù)領(lǐng)域,而非具體的服務(wù)內(nèi)容,主題策略則依據(jù)具體應(yīng)用而不同,一般來(lái)說(shuō),它表示一個(gè)TGN對(duì)所要求注冊(cè)服務(wù)節(jié)點(diǎn)的限制與條件。我們將一個(gè)主題服務(wù)抽象成一個(gè)五元組:
Topic={Description,Bindings,Purpose,Category,Constraints}
·Description:一個(gè)文本類型的主題服務(wù)描述;
·Bindings:服務(wù)支持的綁定協(xié)議集合
·Purpose:描述了服務(wù)的一組操作的各自的操作目標(biāo)
·Category:描述了服務(wù)的種類以及操作的類別
·Constraints:服務(wù)所要求的限定條件及主題策略
以上五種信息都是一個(gè)Web服務(wù)所具有的最基本的信息,用它們作為一個(gè)TGN的主題描述可以幫助服務(wù)的發(fā)布者和請(qǐng)求者快速定位到相應(yīng)的TGN。在服務(wù)發(fā)現(xiàn)的過(guò)程中,首先判斷一個(gè)TGN中是否具有以此五種屬性為參考的匹配信息,如果沒(méi)有發(fā)現(xiàn)相應(yīng)的匹配的服務(wù)信息,則不用再對(duì)此TGN中所提供的服務(wù)進(jìn)行深度匹配處理,反之則做進(jìn)一步的服務(wù)匹配處理,這種方式有效地排除了與服務(wù)注冊(cè)中心中海量注冊(cè)服務(wù)的逐一匹配處理和盲目的服務(wù)探求行為,提高了服務(wù)發(fā)現(xiàn)的準(zhǔn)確度和效率。
傳統(tǒng)的Web服務(wù)采用WSDL描述服務(wù),然而WSDL不具有顯示的語(yǔ)義描述功能,因而本文采用OWL-S描述Web服務(wù)[3]。OWL-S是一種基于OWL的 Web服務(wù)本體,它通過(guò)三個(gè)子模型Service Profile、Process Model和Grounding完整地描述一個(gè) Web服務(wù)[3]。其中,Service Profile用來(lái)描述服務(wù)的功能,以便服務(wù)發(fā)現(xiàn)。
Web服務(wù)從本質(zhì)上來(lái)說(shuō)是一種遠(yuǎn)程方法(過(guò)程)的調(diào)用處理,因而服務(wù)發(fā)現(xiàn)中的匹配問(wèn)題就是判斷服務(wù)所定義的一組操作(operations)之間是否存在合理或可接受的匹配[4]。匹配的規(guī)則分為語(yǔ)法層次匹配和語(yǔ)義層次匹配。語(yǔ)法層次的匹配包括:① 操作模式(mode)的匹配,它用于判斷服務(wù)所包含的操作是否互相兼容。② 所綁定的協(xié)議(bindings)之間的匹配,它用來(lái)判斷服務(wù)之間所使用的協(xié)議是否兼容;語(yǔ)義層次的匹配包括:① 消息(messages)之間的匹配,它用于判斷諸如消息的參數(shù)個(gè)數(shù)、數(shù)據(jù)類型、事務(wù)的角色以及用于描述數(shù)量單位是否兼容等;② 操作的語(yǔ)義(semantics)之間的匹配;③ 服務(wù)的質(zhì)量(qualities)是否匹配;④ 服務(wù)的完整(soundness)性要求是否匹配。其中,服務(wù)的完整性要求的檢查屬于服務(wù)組合范圍,在此我們不做討論。
定義 一個(gè)操作是一個(gè)如下的七元組:
Operation=(Description,Mode,In,Out,Purpose,Category,Quality)
其中:
·Description:是一個(gè)對(duì)操作描述的文本;
·Mode:用來(lái)描述操作的模式,可以取值為“oneway”、“notification”、“solicit-response”和“request-response”中的一個(gè);
·In和Out用來(lái)描述操作的輸入與輸出;
·Purpose用來(lái)描述操作的事物目標(biāo);
·Category:用來(lái)描述操作的類別,即操作所屬于的域;
·Quality:描述操作所限定的質(zhì)量限制。
假設(shè)兩個(gè)操作分別為:
op1=(D1,M1,In1,Out1,P1,C1,Q1)和op2=(D2,M2,In2,Out2,P2,C2,Q2),
則兩個(gè)操作之間匹配可以描述為:
OperationMatchable(op1,op2):-
ModeMatchable(op1,op2)AND MessageMatchable(op1,op2)AND
OperationMatchable (op1,op2)AND Qualitative-Matchable(op1,op2)AND
CategoryMachable(op1,op2)
未來(lái)的互聯(lián)網(wǎng)是面向軟件和面向服務(wù)的,Web服務(wù)將在人們的生活和工作中發(fā)揮著越來(lái)越重要的作用,用戶可以隨時(shí)發(fā)布自己的服務(wù)功能,也可以隨時(shí)享用他人提供的服務(wù)。本文提出了一種基于帶有超節(jié)點(diǎn)的P2P的Web服務(wù)架構(gòu),它既可以幫助用戶自動(dòng)地將所發(fā)布的服務(wù)定位到相應(yīng)主題的“組”和“社區(qū)”中,也可以自動(dòng)地將用戶對(duì)于服務(wù)的查詢自動(dòng)地定位到相應(yīng)的主題“組”和“社區(qū)”中。由于使用了基于本體的OWL-S來(lái)描述服務(wù)內(nèi)容,這將大大地提高服務(wù)發(fā)現(xiàn)與組合的自動(dòng)化程度。由于篇幅所限,我們對(duì)一些問(wèn)題并沒(méi)有展開(kāi)深入地討論,比如服務(wù)匹配過(guò)程的詳細(xì)算法、本體在服務(wù)發(fā)現(xiàn)中的推理演繹等。
[1]B.Yang and H.Garcia-Molina.Designing a Super-peer Network[C].Data Engineering Proceedings of 19th International Conference on,2003:49-60.
[2]N.Srinivasan,M.Paolucci and K.Sycara.Adding OWL-S to UDDI,implementation and throughput[EB/OL].2005.http://www.cs.cmu.edu/~softagents/papers/cr-swswspaper.pdf.
[3]D.Martin,M.Burstein,J.Hobbs,O.Lassila,D.McDermott,S.McIlraith,S.Narayanan,M.Paolucci,B.Parsia,T.R.Payne,E.Sirin,N.Srinivasan and K.Sycara.OWL-S:Semantic Markup for Web Services[EB/OL].2004.http://www.daml.org/services/owl-s/1.0/owl-s.html.
[4]B.Medjahed,A.Bouguettaya and A.K.Elmagarmid.Composing Web services on the Semantic Web[J].Vldb Journal,2003,12:333-351.
[5]岳 昆,王曉玲,周傲英.Web服務(wù)核心支撐技術(shù):研究綜述[J].軟件學(xué)報(bào),2004.
Building Web Service by Topic-Group
Chen Lei,Wu Haibo
(Department of Computer and Information Engineering,Huainan Teachers'College,Huainan 232001,China)
To overcome the drawbacks with the registration concentration,lack of semantic description in label and difficult automatic processing of the traditional Web service mechanism,a Web service mechanism based on Topic-Group is proposed.With the supernode-based peer-to-peer as the network structure,the OWL-S/UDDI as the service registration platform and the technology of the semantic web services,the traditional Web service mechanism is improved.The research has shown that the model can enhance the automatic processing abilities of registration,detecting and matching in the Web services.
Topic-Group;Peer-to-Peer;Web services;OWL-S
TP302
:A
:1673-1794(2010)05-0029-03
陳 磊(1980-),男,講師,碩士,研究方向:Web知識(shí)表示。
安徽省高等學(xué)校優(yōu)秀青年人才基金項(xiàng)目(2009SQRZ164);安徽省高等學(xué)校自然科學(xué)研究項(xiàng)目(Kj20091462)
2010-07-28