(華北電力大學(xué)控制與計(jì)算機(jī)工程學(xué)院 北京 102206)
Web服務(wù)是和一個(gè)平臺(tái)無關(guān)的,低耦合的,可編程的web應(yīng)用程序,可以通過可擴(kuò)展標(biāo)記語言的標(biāo)準(zhǔn)來描述、發(fā)布和發(fā)現(xiàn)。其經(jīng)常被用來開發(fā)分布式的應(yīng)用程序。Web服務(wù)技術(shù)可以使得在不同環(huán)境下的應(yīng)用無須借助第三方軟件和硬件,就能相互集成并執(zhí)行具體的業(yè)務(wù)功能。目前,web服務(wù)技術(shù)在Internet上發(fā)揮著巨大的作用。Web服務(wù)被提出時(shí)預(yù)想其對于web上的應(yīng)用的性能應(yīng)該有一個(gè)重大的提升。但是,目前的提升還是沒有達(dá)到預(yù)期。一方面,web上服務(wù)的數(shù)量比期望的要少很多。另一方面,大量的關(guān)于web服務(wù)的研究集中在基于關(guān)鍵字或者基于語義的發(fā)現(xiàn)來提升服務(wù)匹配的數(shù)量和質(zhì)量。此外,通過最近的文獻(xiàn)可知,大多數(shù)發(fā)布在web上的服務(wù)沒有被使用,只有一小部分被發(fā)現(xiàn),組合,調(diào)用。本文提出一個(gè)方法將孤立的服務(wù)連接起來形成一個(gè)服務(wù)網(wǎng)絡(luò),來支持服務(wù)的社交活動(dòng)。
構(gòu)建服務(wù)網(wǎng)絡(luò)時(shí)我們用到服務(wù)的功能屬性,服務(wù)的社交屬性。服務(wù)的功能屬性是一系列描述服務(wù)任務(wù)的屬性,包括服務(wù)名和輸入輸出。Web服務(wù),語義web服務(wù)和web APIs都是服務(wù)的模型,但其僅僅考慮了服務(wù)的功能屬性和QoS而沒有考慮服務(wù)的社交活動(dòng)。語義web服務(wù)給以前的服務(wù)發(fā)現(xiàn)方法帶來了很大的革新,但是現(xiàn)有的服務(wù)之間并沒有社交關(guān)系。在本文中,我們提出一個(gè)方法來將單獨(dú)的服務(wù)連接成為服務(wù)網(wǎng)絡(luò)。使用連接的質(zhì)量來描述服務(wù)的社交關(guān)系并以此來支持服務(wù)的社交活動(dòng)。
一個(gè)web服務(wù)的網(wǎng)絡(luò)是一個(gè)能夠反映服務(wù)社交活動(dòng)的服務(wù)網(wǎng)絡(luò)。它的結(jié)構(gòu)是一個(gè)有向圖G=
服務(wù)網(wǎng)絡(luò)通過社交鏈路將服務(wù)連接成為網(wǎng)絡(luò)。一方面,加強(qiáng)了服務(wù)的社交性,更加有利于服務(wù)的發(fā)現(xiàn)和組合。另一方面,服務(wù)網(wǎng)絡(luò)將服務(wù)的社交屬性形容為社交關(guān)系和社交狀態(tài),能夠反應(yīng)真實(shí)的社交情況來加強(qiáng)用戶分享,組合和推薦的意愿來提高服務(wù)發(fā)現(xiàn)的質(zhì)量。
給出服務(wù)si和服務(wù)sj,參數(shù)相關(guān)性
表示了si的輸入和sj的輸出重合的可能性,即si和sj之間有鏈路的可能性。
傳統(tǒng)的服務(wù)發(fā)現(xiàn)方法,比如基于關(guān)鍵字的,基于語義的,服務(wù)都缺少和服務(wù)調(diào)用者的聯(lián)系。服務(wù)調(diào)用者不能參與到服務(wù)發(fā)現(xiàn)的過程中。此外,服務(wù)被發(fā)布為孤立的服務(wù),所以服務(wù)與服務(wù)之間也沒有聯(lián)系。這使得目前的服務(wù)發(fā)現(xiàn)方法不能引導(dǎo)用戶從一個(gè)服務(wù)發(fā)現(xiàn)另一個(gè)可能和其組合的服務(wù)??紤]一個(gè)應(yīng)用場景,一個(gè)病人感覺到不舒服。他首先得知道他得了什么病,然后得知道哪一家醫(yī)院可以治療這個(gè)病。他還得知道醫(yī)院附近酒店和飯店的信息,因?yàn)樗迷卺t(yī)院治療一段時(shí)間。最后,他還得知道從醫(yī)院去酒店和飯店的路線。沒有單個(gè)的服務(wù)可以滿足這個(gè)情景里的所有需要。為了滿足這些需求,多個(gè)服務(wù)需要被發(fā)現(xiàn)并組合??梢詽M足上述需要的服務(wù)集合如下,首先,他需要“診斷服務(wù)”來根據(jù)他的癥狀給出診斷。然后,需要“獲得醫(yī)院信息服務(wù)”來得到能夠治療他健康問題的醫(yī)院的信息,需要“獲取位置信息服務(wù)”得到更多的地址信息。之后,需要“獲取酒店信息服務(wù)”與“獲取飯店信息服務(wù)”來獲取酒店與飯店的信息。最后,根據(jù)得到的地址,需要“導(dǎo)航服務(wù)”來獲得路線圖。為了發(fā)現(xiàn)可以滿足復(fù)雜請求的服務(wù),我們提出一個(gè)新的服務(wù)發(fā)現(xiàn)方法。
就像我們使用鏈接數(shù)據(jù)來重用數(shù)據(jù),從相關(guān)的數(shù)據(jù)集發(fā)現(xiàn)數(shù)據(jù)或者從大量的數(shù)據(jù)資源中集成數(shù)據(jù)一樣,鏈路可以用來做服務(wù)發(fā)現(xiàn)。本文的服務(wù)發(fā)現(xiàn)方法,允許用戶從一個(gè)服務(wù)出發(fā)沿著鏈路找到其他相關(guān)的服務(wù),這樣用戶就可以更加深入的探索網(wǎng)絡(luò)。本方法允許用戶根據(jù)自己的需要沿著鏈路發(fā)現(xiàn)相關(guān)的服務(wù),就像在互聯(lián)網(wǎng)上瀏覽web頁面一樣。服務(wù)網(wǎng)絡(luò)上的社交鏈路可以被定義為
SL={L1,L2,…,Ln},1≤n≤N
其中SL為鏈路的集合。所以,可以跟隨鏈路N次來探索整個(gè)服務(wù)網(wǎng)絡(luò)的服務(wù)。服務(wù)的數(shù)量被定義為:
s=∑(Sj(charAtrib)∪Sj(numAtrib))W(attribj)
結(jié)果表明所提出的基于服務(wù)網(wǎng)絡(luò)的web服務(wù)發(fā)現(xiàn)方法的效果優(yōu)于基于語義的發(fā)現(xiàn)方法和基于語法的發(fā)現(xiàn)方法。
綜上所述,本文通過將孤立的服務(wù)連接成為一個(gè)服務(wù)網(wǎng)絡(luò)來加強(qiáng)服務(wù)的聯(lián)系。提出一個(gè)新的模型來構(gòu)建web服務(wù)的服務(wù)網(wǎng)絡(luò),利用服務(wù)之間的參數(shù)相關(guān)性來構(gòu)建服務(wù)的服務(wù)網(wǎng)絡(luò)。然后,提出一個(gè)在服務(wù)的網(wǎng)絡(luò)上進(jìn)行查找的方法。最后,對于提出的方法進(jìn)行了對比實(shí)驗(yàn),證實(shí)了所提出的基于服務(wù)網(wǎng)絡(luò)的web服務(wù)發(fā)現(xiàn)方法的效果優(yōu)于傳統(tǒng)的web服務(wù)發(fā)現(xiàn)方法,充分證明了該方案的可行性和有效性。