摘要:網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)的過(guò)程是匹配的服務(wù)請(qǐng)求與廣告服務(wù),檢索相關(guān)服務(wù)請(qǐng)求。服務(wù)發(fā)現(xiàn)過(guò)程可以更有效的利用語(yǔ)義規(guī)格的服務(wù)。OWL-S提供標(biāo)準(zhǔn)語(yǔ)義指定的服務(wù),在服務(wù)的發(fā)現(xiàn)可以通過(guò)能力匹配??紤]到結(jié)構(gòu)層次匹配操作,在控制流組件可以用來(lái)發(fā)現(xiàn)過(guò)程更可靠。在本文中我們提出匹配標(biāo)準(zhǔn)結(jié)合的能力匹配和結(jié)構(gòu)層次匹配。服務(wù)分類的基礎(chǔ)上的能力,是為能力匹配和結(jié)構(gòu)層次匹配的基礎(chǔ)上進(jìn)行結(jié)構(gòu)的業(yè)務(wù)服務(wù)。
關(guān)鍵詞:語(yǔ)義Web服務(wù);OWL-S;Web服務(wù)發(fā)布;Web服務(wù)發(fā)現(xiàn)
中圖分類號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 21-0000-03
1 引言
Web服務(wù)是可以通過(guò)互聯(lián)網(wǎng)進(jìn)行描述、發(fā)布、定位和調(diào)用的獨(dú)立的模塊化應(yīng)用程序[4]。Web服務(wù)發(fā)現(xiàn)是根據(jù)Web服務(wù)描述和服務(wù)請(qǐng)求者指定的功能和非功能要求,查找相關(guān)服務(wù)的一種機(jī)制[14]。今天,大多數(shù)網(wǎng)絡(luò)服務(wù)通過(guò)OWL-S、WSDL-S等各種方法標(biāo)記Web服務(wù)的語(yǔ)義,實(shí)現(xiàn)語(yǔ)義Web服務(wù)發(fā)現(xiàn)。
OWL-S [3]的前身為DAML-S,是一個(gè)OWL本體,包含有profile、process model和grounding等3個(gè)子本體。Profile model說(shuō)明什么服務(wù),process model描述它是如何工作的,grounding則把process model映射WSDL文件?;贠WL-S的服務(wù)發(fā)現(xiàn)需要進(jìn)行能力匹配,把廣告服務(wù)的能力與請(qǐng)求服務(wù)的需求相匹配,但這些不區(qū)分原子服務(wù)和組合服務(wù)的能力匹配算法,降低了結(jié)果的準(zhǔn)確性。文獻(xiàn)[1]提出了一種組合服務(wù)的匹配算法,用一個(gè)圖表示復(fù)合OWL - S過(guò)程,在個(gè)體服務(wù)層次和結(jié)構(gòu)層次都進(jìn)行比較。開(kāi)展的是服務(wù)模型的匹配,而不是服務(wù)profile的匹配,其中包括復(fù)合服務(wù)的結(jié)構(gòu)部分[8,10]。
本文綜合使用能力匹配和結(jié)構(gòu)層次匹配,設(shè)計(jì)了一個(gè)broker架構(gòu)的網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)系統(tǒng)。Web服務(wù)的操作用2個(gè)數(shù)據(jù)結(jié)構(gòu)存儲(chǔ):服務(wù)分類樹(shù)(SCT)和操作序列圖(OSG),前者存儲(chǔ)輸入/輸出參數(shù),后者存儲(chǔ)操作中的控制流。對(duì)每個(gè)Web服務(wù)來(lái)說(shuō),SCT根據(jù)服務(wù)分類進(jìn)行更新,OSG圖的索引是由每個(gè)分類生成的唯一ID號(hào)。服務(wù)發(fā)現(xiàn)過(guò)程包括2個(gè)層次匹配:在SCT上的能力匹配和已匹配分類圖的結(jié)構(gòu)層匹配。
2 相關(guān)研究
文獻(xiàn)[4] 通過(guò)語(yǔ)義標(biāo)記方法設(shè)計(jì)了一種Web服務(wù)自動(dòng)發(fā)現(xiàn)技術(shù)。這種標(biāo)記可以實(shí)現(xiàn)Web服務(wù)自動(dòng)發(fā)現(xiàn)、執(zhí)行、組合和互操作[9]。文獻(xiàn)[5]給出了一種擴(kuò)展WSDL方法。本文把DAML+OIL本體加入到WSDL中?;贗/O參數(shù)、先決條件和影響的功能和語(yǔ)義相似度進(jìn)行匹配。文獻(xiàn)[2]描述了基于語(yǔ)義分類方法,其中Web服務(wù)可以和任何描述語(yǔ)言綁定。這個(gè)過(guò)程包括:Web服務(wù)的語(yǔ)義分類,基于服務(wù)再定義的發(fā)現(xiàn)關(guān)聯(lián)模式的參數(shù),以及基于匹配的語(yǔ)義相似度。
文獻(xiàn)[11,12 ]描述Web服務(wù)的功能語(yǔ)義方法,提供動(dòng)態(tài)Web服務(wù)發(fā)現(xiàn),其中的Web服務(wù)和功能請(qǐng)求用功能語(yǔ)義格式描述。創(chuàng)建一個(gè)面向領(lǐng)域的功能本體提供了異質(zhì)性,為了自動(dòng)匹配服務(wù)和請(qǐng)求,設(shè)計(jì)了一個(gè)匹配算法。文獻(xiàn)[13]通過(guò)擴(kuò)展功能知識(shí),把請(qǐng)求操作描述或發(fā)布操作描述映射到一個(gè)抽象操作,提出了一種描述Web服務(wù)的功能語(yǔ)義。通過(guò)評(píng)估結(jié)構(gòu)層的服務(wù),可以設(shè)計(jì)一個(gè)更高效的服務(wù)發(fā)現(xiàn)方法。文獻(xiàn)[6]就通過(guò)把服務(wù)操作轉(zhuǎn)換成圖的手段,設(shè)計(jì)了一種方法。文獻(xiàn)[7]設(shè)計(jì)了一種樹(shù)結(jié)構(gòu)來(lái)存儲(chǔ)服務(wù),提出了一個(gè)等級(jí)組織的服務(wù)發(fā)現(xiàn)方法。
3 Web服務(wù)發(fā)現(xiàn)系統(tǒng)
3.1 基于代理的體系結(jié)構(gòu)
我們?cè)O(shè)計(jì)了一種基于代理架構(gòu)的有效和高效的服務(wù)發(fā)現(xiàn)方法。在服務(wù)提供者和服務(wù)請(qǐng)求者之間的代理的行為,可以讓服務(wù)提供者能夠發(fā)布服務(wù),讓服務(wù)請(qǐng)求者指定需求,并執(zhí)行他們之間的匹配工作,找出與需求匹配的服務(wù)。圖1描述了這種架構(gòu)。
為了找到一種支持高效發(fā)現(xiàn)服務(wù)的存儲(chǔ)Web服務(wù)操作,我們?cè)O(shè)計(jì)了2種數(shù)據(jù)結(jié)構(gòu):服務(wù)索引樹(shù)(SCT)和操作序列圖(OSG)。
—服務(wù)索引樹(shù):SCT用來(lái)存儲(chǔ)服務(wù)的能力明細(xì)。服務(wù)以基于索引的層次順序組織,其中節(jié)點(diǎn)存儲(chǔ)每個(gè)服務(wù)的詳細(xì)I/O參數(shù),為了能力匹配。每個(gè)節(jié)點(diǎn)包括6個(gè)字段:
操作序列圖:OSG存儲(chǔ)一個(gè)服務(wù)中各種操作的控制流的詳細(xì)結(jié)構(gòu)信息。每個(gè)原子操作有一個(gè)唯一的標(biāo)識(shí)符(op-id),通過(guò)各種控制結(jié)構(gòu),可以把原子操作和復(fù)合操作鏈接成復(fù)合操作。OSG圖包含若干類型的頂點(diǎn),Op頂點(diǎn)表示操作節(jié)點(diǎn),Cp頂點(diǎn)表示條件參數(shù)節(jié)點(diǎn),S表示起始節(jié)點(diǎn)用來(lái)存儲(chǔ)分類標(biāo)志符,E表示終結(jié)節(jié)點(diǎn),帶有指針指向匹配的服務(wù)名字集合,這些服務(wù)名字都存儲(chǔ)在Web服務(wù)列表。每個(gè)操作節(jié)點(diǎn)同時(shí)存儲(chǔ)I/O參數(shù)值,條件參數(shù)節(jié)點(diǎn)存儲(chǔ)條件值,并且有2個(gè)指針?lè)謩e指向條件為真和為假兩種情況。
3.2 Web服務(wù)發(fā)布
服務(wù)提供者向代理提供OWL-S profile模型,Web服務(wù)發(fā)布過(guò)程如下:
(1)服務(wù)代理為每一個(gè)服務(wù)生成唯一的標(biāo)識(shí)符,把它存儲(chǔ)在Web服務(wù)列表,處理Profile模型,獲得服務(wù)類別、I/O參數(shù)和過(guò)程模型詳細(xì)信息。
(2)服務(wù)分類映射到相應(yīng)的領(lǐng)域本體,并從SCT中選出匹配的分類
(3)基于服務(wù)的I/O參數(shù)修改SCT。使用推理機(jī)匹配一個(gè)服務(wù)和一個(gè)分類。如果服務(wù)包含新的參數(shù)值,就創(chuàng)建子分類,存儲(chǔ)相應(yīng)的I/O值,并檢索出分類標(biāo)識(shí)符ctg-id。
(4)檢索過(guò)程模型,提取其中的操作,并為每一個(gè)基于I/O參數(shù)和操作名的操作生成唯一的操作標(biāo)識(shí)符。
(5)基于操作標(biāo)識(shí)符和控制結(jié)構(gòu),生成帶有分類標(biāo)識(shí)符ctg-id的OSG,存儲(chǔ)到起始節(jié)點(diǎn)。
3.3 Web服務(wù)發(fā)現(xiàn)
Web服務(wù)發(fā)現(xiàn)過(guò)程如下所示。
(1)預(yù)處理服務(wù)請(qǐng)求,提取分類詳細(xì)信息,I/O參數(shù)和操作序列
(2)從領(lǐng)域本體中獲取SCT的特定分類,在子分類上匹配I/O參數(shù),提取匹配的分類標(biāo)識(shí)符
(3)創(chuàng)建帶有特定分類標(biāo)識(shí)符的圖,并以圖的格式表示出請(qǐng)求的操作
(4)查找出匹配的服務(wù)集,其中節(jié)點(diǎn)基于I/O參數(shù)、操作id和條件值。
4 實(shí)現(xiàn)與實(shí)驗(yàn)
匹配算法用Java語(yǔ)言實(shí)現(xiàn),使用OWL-S API解析OWL-S描述文件。本文設(shè)計(jì)的服務(wù)發(fā)現(xiàn)系統(tǒng)采用OWL-S TC4環(huán)境中描述的原子服務(wù),結(jié)合6中控制結(jié)構(gòu)構(gòu)建復(fù)合服務(wù)。采用Protégé編輯器編輯服務(wù)的過(guò)程模型。
服務(wù)匹配度可以通過(guò)推理機(jī)計(jì)算出來(lái),推理機(jī)提供了多種匹配值,如EXACT,PLUGIN,SUBUMES,F(xiàn)AIL等?;谕评頇C(jī)返回的這些值,發(fā)現(xiàn)最大匹配的分類,它的內(nèi)部操作結(jié)構(gòu)也基于請(qǐng)求圖Gr和服務(wù)圖Gs的通用圖屬性匹配出來(lái),
5 結(jié)論
本文提出了一個(gè)基于體系結(jié)構(gòu)的Web服務(wù)發(fā)布和發(fā)現(xiàn)代理。為了更快地發(fā)現(xiàn)所需服務(wù),在發(fā)布階段先預(yù)處理服務(wù)信息,把能力詳細(xì)信息保存在SCT中,把結(jié)構(gòu)詳細(xì)信息保存在OSF。服務(wù)分類提供了更快的服務(wù)匹配方法,圖有助于找出復(fù)合服務(wù)的內(nèi)部結(jié)構(gòu),從而找到相關(guān)服務(wù)。
參考文獻(xiàn):
[1]Cuzzocrea, A., Fisichella, M.: A Flexible Graph-based Approach for Matching Composite Semantic Web Services. In: LWDM (2011)
[2]Paliwal, A.V., Shafiq, B., Vaidya, J., Xiong, H., Adam, N.: Semantic Based Automated Service Discovery. IEEE Transaction (2011)
[3]Martin, D., Paolucci, M., McIlraith, S., Burstein, M., McDermott, D., McGuinness, D.L., Parsia, B., Payne, T.R., Sabou, M., Solanki, M., Srinivasan, N., Sycara, K.: Bringing Semantics to Web Services: The OWL-S Approach. In: Cardoso, J., Sheth, A.P. (eds.) SWSWPC 2004. LNCS, vol. 3387, pp. 26–42. Springer, Heidelberg (2005)
[4]Mcllarith, S.A., Martin, D.L.: Bringing Semantics to Web Services. IEEE Intelligent Systems (2003)
[5]McIlarith, S.A., Son, T.C., Zeng, H.: Semantic Web Services. IEEE Intelligent Systems (2001)
[6]Bellur, U., Kulkarni, R.: Improved matchmaking algorithm for semantic Web Services based on bipartite graph matching. In: ICWS (2007)
[7]D’ Mello, D.A., Ananthanarayana, V.S.: A Tree structure for efficient Web Service discovery. In: ICETET (2009)
[8]Li, L., Horrocks, I.: A Software Framework for Matchmaking Based on Semantic Web Tecnology. In: ACM, WWWC (2003)
[9]Mandell, D.J., McIlraith, S.A.: Adapting BPEL4WS for the Semantic Web: The Bottom-Up Approach to Web Service Interoperation. In: Fensel, D., Sycara, K., Mylopoulos, J.(eds.) ISWC 2003. LNCS, vol. 2870, pp. 227–241. Springer, Heidelberg (2003)
[10]Di Noia, T., Di Sciacio, E., Donini, F.M., Mongiello, M.: Semantic Matchmaking in a P-2-P Electronic Marketplace. In: SAC 2003, pp. 582–586 (2003)
[11]Ye, L., Zhang, B.: Web Service discovery based on functional semantics. In: Second International Conference on Semantics, Knowledge and Grid. IEEE (2006)
[12]Ye, L., Zhang, B.: Discovering Web Services based on functional semantics. In: IEEE Asia-Pacific Conference on Service Computing, Liaoning. IEEE (2007)
[13]D’ Mello, D.A., Ananthanarayana, V.S.: Effective Web Service Discovery Based on Functional Semantics. In: IEEE International Conference on Advances in Computing, Control and Telecommunication Technologies (2009)
[14]Kreger, H.: Web Service Conceptual Architecture (WSCA 1.0), http://www.ibm.com/software/solutions/webservices/pdf/wsca