摘 要:隨著Web環(huán)境下服務(wù)數(shù)量的快速增長(zhǎng),如何高效快速地發(fā)現(xiàn)服務(wù)成為迫切需要解決的問題?;赪eb服務(wù)圖的服務(wù)發(fā)現(xiàn)方法,利用Web服務(wù)之間的語(yǔ)義關(guān)系來進(jìn)行服務(wù)發(fā)現(xiàn),仿真實(shí)驗(yàn)證明這種方法能極大的提高Web服務(wù)的發(fā)現(xiàn)效率。但是目前的研究還未涉及到Web服務(wù)組合流的網(wǎng)絡(luò)傳輸、服務(wù)組合流的可視化表示以及多服務(wù)組合流的客戶自主與交互選擇。而這些是基于Web服務(wù)圖的服務(wù)發(fā)現(xiàn)方法得以實(shí)現(xiàn)和應(yīng)用的重要環(huán)節(jié)。本文以知識(shí)地圖為基礎(chǔ),通過對(duì)服務(wù)關(guān)系進(jìn)行建模來解決這些問題,從而進(jìn)一步完善基于Web服務(wù)圖的服務(wù)發(fā)現(xiàn)理論與方法。
關(guān)鍵詞:Web服務(wù)圖;服務(wù)發(fā)現(xiàn);知識(shí)地圖;XTM
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言
在傳統(tǒng)的Web服務(wù)發(fā)現(xiàn)方法中,服務(wù)發(fā)現(xiàn)過程是客戶根據(jù)語(yǔ)法、語(yǔ)義和策略在服務(wù)注冊(cè)機(jī)構(gòu)中一個(gè)一個(gè)的查找滿足條件的服務(wù),然后在返回的多個(gè)服務(wù)中選擇滿意的服務(wù)結(jié)點(diǎn),最后組合成符合用戶需求的服務(wù)流。這種服務(wù)發(fā)現(xiàn)方法沒有考慮服務(wù)提供組織提供的系列服務(wù)之間的聯(lián)系和客戶需求系列服務(wù)之間的邏輯關(guān)系,從而使得要在服務(wù)提供商提供的海量服務(wù)中尋找單個(gè)的服務(wù)非常耗時(shí)。為了解決該問題,提出了web服務(wù)圖的概念?;赪eb服務(wù)圖的服務(wù)發(fā)現(xiàn)方法不再搜索單個(gè)的服務(wù),而是將客戶自定義的需求服務(wù)流作為一個(gè)完整的請(qǐng)求對(duì)象傳遞給UDDI注冊(cè)中心,UDDI注冊(cè)中心在Web服務(wù)圖的基礎(chǔ)上進(jìn)行匹配,返回的結(jié)果是多個(gè)滿足條件的服務(wù)組合,而不是傳統(tǒng)服務(wù)發(fā)現(xiàn)方法中的多個(gè)滿足條件的單一服務(wù)結(jié)點(diǎn)?;趙eb服務(wù)圖的服務(wù)發(fā)現(xiàn)過程如圖1所示,實(shí)驗(yàn)研究表明,該方法能極大提高Web服務(wù)發(fā)現(xiàn)的效率。
但是,基于Web服務(wù)圖的服務(wù)發(fā)現(xiàn)方法在實(shí)際的應(yīng)用中還有很多具體問題需要考慮,如在實(shí)際服務(wù)發(fā)現(xiàn)過程中,即便是組合的請(qǐng)求流,可滿足條件的待選組合流數(shù)量有可能龐大,需要客戶交互式參與選擇,這就要求實(shí)現(xiàn)多個(gè)服務(wù)組合流在網(wǎng)上傳輸以及實(shí)現(xiàn)多個(gè)組合服務(wù)在客戶端的可視化表示和交互選擇機(jī)制,從而使客戶能更方便地選擇出滿意的服務(wù)組合。針對(duì)該問題,本文嘗試以知識(shí)地圖為基礎(chǔ),通過對(duì)服務(wù)關(guān)系建模來解決這些問題,從而進(jìn)一步完善基于Web服務(wù)圖的服務(wù)發(fā)現(xiàn)理論與方法。
2 基于知識(shí)地圖的組合Web服務(wù)流模型
要將候選的服務(wù)流在網(wǎng)絡(luò)中傳輸并以可視化的形式顯示在客戶端,首先需要一個(gè)表示模型。BPEIAWS雖然能夠描述組合Web服務(wù)流,但它只是描述了什么時(shí)候,以什么順序,到哪兒,去調(diào)用那些Web服務(wù),怎樣組織這些調(diào)用,不能涉及服務(wù)的細(xì)節(jié),因此無法給客戶提供評(píng)價(jià)的標(biāo)準(zhǔn),進(jìn)行雙向選擇。在本研究中,考慮到Web服務(wù)是一類知識(shí)而知識(shí)地圖能夠用來描述知識(shí)以及知識(shí)與知識(shí)之間的關(guān)系,并且有完備的理論與工具將知識(shí)與關(guān)系可視化表示,因此我們采用知識(shí)地圖模型對(duì)候選服務(wù)流中的Web服務(wù)以及Web服務(wù)之間的關(guān)系建模。
2.1 Topic Maps and XTM(XML Topic Maps)
ISO標(biāo)準(zhǔn)ISO/IEC 13250 Topic Map定義了一個(gè)模型作為鏈接網(wǎng)絡(luò)的語(yǔ)義結(jié)構(gòu)。Topic Maps把知識(shí)描述、信息管理與實(shí)際的信息資源聯(lián)系起來。Topic Map標(biāo)準(zhǔn)為企業(yè)提供了一個(gè)清晰的結(jié)構(gòu),這有助于企業(yè)對(duì)不同的信息資源進(jìn)行知識(shí)組織。并為用戶訪問知識(shí)建造了一個(gè)知識(shí)共享環(huán)境。一般,TopicMaps用于構(gòu)造組合電子服務(wù)的導(dǎo)航圖。
XML topic maps(XTM)是TopicMaps.org制定的使用XML語(yǔ)法來描述基于Web的主題地圖的抽象模型,它使用
2.2 使用知識(shí)地圖來表示組合web服務(wù)
組合的Web服務(wù)是一種知識(shí),它包含兩類,一種是Web服務(wù)本身如服務(wù)名稱,服務(wù)提供者,服務(wù)的地址,服務(wù)的分類等,另一種是Web服務(wù)之間的關(guān)系,如publish assertion等。為了將知識(shí)表示出來,首先必須選擇一個(gè)模型。知識(shí)的表示有很多種模型,如元數(shù)據(jù),XML,謂詞邏輯等,但是考慮到需要將Web服務(wù)組合流在網(wǎng)絡(luò)上傳輸和可視化顯示,我們采用了XTM(XML Topic Maps)來存儲(chǔ)Web服務(wù)流中的知識(shí),它是基于XML標(biāo)準(zhǔn)的,因此能夠使用Soap協(xié)議來進(jìn)行有效的傳輸,而且目前的可視化技術(shù)能夠很好的解析XML文檔。
基于XTM的組合Web服務(wù)流表示
要使用XTM來描述Web服務(wù)流中的服務(wù)結(jié)點(diǎn)和關(guān)聯(lián),首先要做的就是將服務(wù)結(jié)點(diǎn)的元數(shù)據(jù)信息和服務(wù)之間的關(guān)系抽象出來,對(duì)應(yīng)于XTM中的元素就是
WSDL文檔是服務(wù)提供者描述所提供服務(wù)的XML文檔,它包含了Web服務(wù)的元信息,這些信息有:服務(wù)的名字,服務(wù)的提供者,服務(wù)的位置,服務(wù)的分類等等,這些元數(shù)據(jù)信息都可以抽象為
到目前為止,我們已經(jīng)使用XTM將Web服務(wù)流表示出來了,全部建模過程結(jié)束。
3 應(yīng)用分析
建立知識(shí)地圖的目的是為了解決知識(shí)共享和知識(shí)利用等問題,目前知識(shí)地圖的利用熱點(diǎn)包括以下幾個(gè)方面:知識(shí)預(yù)訂與推送;信息可視化。因此知識(shí)地圖模型之所以能夠在網(wǎng)絡(luò)上傳輸和以可視化的形式顯示在客戶端是由它本身的特性所決定的。
XTM的主要功能在于給用戶提供導(dǎo)航,讓客戶可以瀏覽Web服務(wù)流和與Web服務(wù)流相關(guān)的知識(shí),其詳細(xì)的流程如圖5所示:
在這個(gè)過程中,也是把客戶自定義的需求服務(wù)流作為一個(gè)完整的請(qǐng)求對(duì)象傳遞給UDDI注冊(cè)中心,UDDI注冊(cè)中心在Web服務(wù)圖的基礎(chǔ)上進(jìn)行匹配,知識(shí)地圖系統(tǒng)會(huì)將返回的所有符合條件的Web服務(wù)組合進(jìn)行建模存儲(chǔ),存儲(chǔ)的內(nèi)容包括Web服務(wù)結(jié)點(diǎn)的詳細(xì)信息以及Web服務(wù)組合中的彼此服務(wù)結(jié)點(diǎn)之間的關(guān)系,然后再將結(jié)果在網(wǎng)絡(luò)上進(jìn)行傳輸并以可視化的方式顯示在客戶端,客戶端進(jìn)行選擇后綁定到自己選擇的服務(wù)提供商上。
4 具體實(shí)現(xiàn)
用Ecliese開發(fā)工具和Java語(yǔ)言本文實(shí)現(xiàn)了XTM中所表示的用戶導(dǎo)航接口模塊和Sequence關(guān)系。圖7表示Sequence關(guān)系的一個(gè)Web服務(wù)組合流,圖8是生成的用戶導(dǎo)航接口。對(duì)程序進(jìn)行測(cè)試中,根據(jù)用戶對(duì)服務(wù)的不同的需求,程序運(yùn)行良好。在系統(tǒng)生成用戶導(dǎo)航接口后,用戶能夠選擇服務(wù)。
此外,我們需要確定導(dǎo)航系統(tǒng)的表示邏輯,為用戶提供導(dǎo)航接口。既然是Web服務(wù)知識(shí)導(dǎo)航,面向的用戶當(dāng)然也是網(wǎng)絡(luò)用戶,因此采用Web服務(wù)器作為導(dǎo)航服務(wù)平臺(tái)。XTM是基于XML的,現(xiàn)有的XML技術(shù)已經(jīng)完全能夠滿足XTM處理的需要。導(dǎo)航的基本模式與當(dāng)前通用的導(dǎo)航模式一樣,提供兩種方式:搜索與瀏覽。
當(dāng)利用知識(shí)地圖把模型建立好以后,我們把基于Web服務(wù)圖的服務(wù)發(fā)現(xiàn)過程改進(jìn)為如圖6所示:
5 結(jié)束語(yǔ)
知識(shí)地圖是一個(gè)研究了很多年的領(lǐng)域,它具有完備的理論來支持查詢和可視化顯示。由于基于Web服務(wù)圖的服務(wù)發(fā)現(xiàn)方法得到的結(jié)果可能很多,客戶要做出選擇仍然是一個(gè)困難的過程。所以,我們應(yīng)該實(shí)現(xiàn)多個(gè)服務(wù)組合流在網(wǎng)上傳輸以及實(shí)現(xiàn)多個(gè)組合服務(wù)在客戶端的可視化表示和交互選擇機(jī)制。通過對(duì)知識(shí)地圖的研究,我們提出了基于XTM的模型來描述組合的Web服務(wù),并對(duì)其進(jìn)行可視化表示和傳輸。
下一步研究的工作是可以使用某種評(píng)價(jià)函數(shù)對(duì)搜索出來的結(jié)果排序,如根據(jù)用戶的歷史執(zhí)行記錄來判斷哪一組服務(wù)流是客戶經(jīng)常選擇的,進(jìn)一步來完善web服務(wù)圖理論。