[摘要] 本文介紹了Web服務(wù)組合的技術(shù)基礎(chǔ)語義Web服務(wù)的主要描述方法,討論了Web服務(wù)組合的關(guān)鍵問題,并分析了當(dāng)前主要Web服務(wù)組合方法的特點(diǎn),指出為保證服務(wù)組合的性能和質(zhì)量,必須基于服務(wù)質(zhì)量描述Web服務(wù)。
[關(guān)鍵詞] Web Services 服務(wù)組合 QOS
一、引言
Web服務(wù)結(jié)合了面向組件的方法和Web技術(shù)的優(yōu)勢,利用標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議和XML數(shù)據(jù)格式進(jìn)行通信,能實(shí)現(xiàn)不同平臺上各種語言編寫的服務(wù)之間的交互電子商務(wù)的迅速發(fā)展,對跨企業(yè)的應(yīng)用集成以及企業(yè)內(nèi)部應(yīng)用的集成提出了需求。而Web服務(wù)的出現(xiàn)正好為這些應(yīng)用的集成提供了一個很好的解決方案,使企業(yè)內(nèi)和企業(yè)之間應(yīng)用的集成成為可能,而且使應(yīng)用的集成更加快捷和方便。因此,Web服務(wù)在企業(yè)的電子商務(wù)系統(tǒng)中得到了廣泛的運(yùn)用。
單個Web服務(wù)通常只提供惟一的調(diào)用函數(shù)完成單一的功能,Web服務(wù)組合能夠利用Internet上分布的易于執(zhí)行的輕量級服務(wù)創(chuàng)建功能豐富易于用戶定制的復(fù)雜服務(wù), 將松散耦合的相關(guān)Web服務(wù)有機(jī)組織成更為可用的系統(tǒng)。
二、Web服務(wù)技術(shù)
Web服務(wù)組合問題涉及領(lǐng)域包括:Web服務(wù)技術(shù)領(lǐng)域,流程管理領(lǐng)域和人工智能領(lǐng)域。
1.Web服務(wù)技術(shù)
根據(jù)W3C的定義,Web服務(wù)是由URI標(biāo)識的軟件應(yīng)用程序,通過XML構(gòu)件進(jìn)行定義、描述和發(fā)現(xiàn)其接口和綁定。Web服務(wù)支持因特網(wǎng)的協(xié)議并能夠與其他基于XML消息的應(yīng)用程序直接交互。Web服務(wù)技術(shù)允許不同軟件語言開發(fā)、分布在Internet不同地域的應(yīng)用進(jìn)行有效的發(fā)現(xiàn)和通訊,基于Web服務(wù)的應(yīng)用程序集成在協(xié)議棧中較高層發(fā)生,注重服務(wù)語義,實(shí)現(xiàn)了業(yè)務(wù)的松散耦合集成。Web服務(wù)提供了一致化編程模型和一整套Internet規(guī)范,主要包括XML,基于XML的Web服務(wù)描述語言WSDL,由技術(shù)和商業(yè)領(lǐng)域的領(lǐng)導(dǎo)者共同開發(fā)的統(tǒng)一描述、發(fā)現(xiàn)與集成協(xié)議標(biāo)準(zhǔn)UDDI,用于描述服務(wù)合成過程的控制流和信息流的流描述語言BPEL4WS等。便于企業(yè)利用現(xiàn)有語言、平臺和已有的應(yīng)用程序,以增量方式集成和應(yīng)用Web服務(wù)。Web服務(wù)提供了一種支持電子商務(wù)的革命性的方式,最重要的價(jià)值在于以統(tǒng)一的語言完成所有的部件之間的溝通,從而達(dá)到整體效率的提高,促進(jìn)了新型電子商務(wù)應(yīng)用以及動態(tài)服務(wù)集成的迅速發(fā)展,激發(fā)了第三方增值服務(wù)市場的出現(xiàn)。
雖然在基礎(chǔ)層面上Web服務(wù)是一種非常好的集成工具,但在工作流和業(yè)務(wù)過程自動化方面仍然不夠完善。要實(shí)現(xiàn)基于Web的服務(wù)的應(yīng)用集成系統(tǒng)需要一系列構(gòu)件、應(yīng)用之間互相協(xié)作,只有根據(jù)業(yè)務(wù)需求制定動態(tài)的業(yè)務(wù)流程才能解決具體、多變的商務(wù)問題。同時(shí),服務(wù)的動態(tài)組合,服務(wù)質(zhì)量的評價(jià)等問題還值得進(jìn)一步深入研究。
2.語義Web服務(wù)研究
標(biāo)準(zhǔn)的Web服務(wù)缺乏必要的語義信息,導(dǎo)致Web服務(wù)功能得不到準(zhǔn)確的描述,無法消除服務(wù)語義的模糊、理解的歧義性等問題,并影響了Web服務(wù)的自動發(fā)現(xiàn)、匹配和組裝。語義Web服務(wù)將語義Web概念和Web服務(wù)研究相結(jié)合, 利用語義本體對Web服務(wù)建模,在語義層面對服務(wù)接口、服務(wù)消息、服務(wù)結(jié)構(gòu)、服務(wù)交互等進(jìn)行描述,結(jié)合語義推理技術(shù)支持Web服務(wù)自動發(fā)現(xiàn)、組裝、調(diào)用和監(jiān)控等關(guān)鍵過程。語義Web服務(wù)具影響力的代表性工作包括:
(1)OWL-S (Web Ontology Language for Services):前身為DAML-S,基于可判定的描述邏輯,將Web服務(wù)的本體分成三個上層本體,目前在語義Web服務(wù)領(lǐng)域最具影響力;
(2)WSMO/WSML(Web Service Modeling Ontology):基于框架邏輯,從四個方面描述語義Web服務(wù):Ontology, Web Service, Goal和Mediator;
(3)SWSO/SWSL(Semantic Web ServiceOntology):基于一階邏輯,充分吸收了OWL-S和WSMO/WSML的優(yōu)點(diǎn);
(4)WSDL-S:獨(dú)立于語義表達(dá)語言,允許開發(fā)人員選擇本體語言,如OWL或者UML。與其他工作相比,WSDL-S基于標(biāo)準(zhǔn)WSDL擴(kuò)展,與已有的工具平臺有更好的適應(yīng)性。
三、Web服務(wù)組合
1.Web服務(wù)組合關(guān)鍵問題
服務(wù)組合作為一個滿足業(yè)務(wù)需求的流程規(guī)劃,涉及到基本服務(wù)和復(fù)合構(gòu)件服務(wù)的協(xié)同,Web服務(wù)組合需要解決以下幾個主要問題:
(1)采用怎樣的Web服務(wù)組合模型作為組合研究的框架基礎(chǔ);
(2)在可替換的服務(wù)中如何根據(jù)QoS要求進(jìn)行質(zhì)量驅(qū)動的服務(wù)選擇;
(3)建立怎樣的代價(jià)模型以評估Web服務(wù)組合的代價(jià);
(4)怎樣定義各個組成部分之間的關(guān)系;
(5)如何在多個層面上提供更為精確和通用的語義信息的支持;
(6)怎樣驗(yàn)證和測試組合Web服務(wù);
(7)如何對QoS或其他行為進(jìn)行監(jiān)控,保證在滿足需要的同時(shí),能夠高效的利用資源。從軟件工程的角度看,以上問題涉及服務(wù)組合的設(shè)計(jì)、開發(fā)、運(yùn)行和管理等的軟件生命周期。從相關(guān)技術(shù)看,涉及了對形式化方法、語義學(xué)和運(yùn)籌規(guī)劃等領(lǐng)域知識,使其成為一個跨學(xué)科的研究領(lǐng)域。
2.Web服務(wù)組合方法
圍繞服務(wù)組合問題,已經(jīng)有大量的研究者進(jìn)行了相當(dāng)廣泛和深入的研究。當(dāng)前解決服務(wù)組合的問題主要有基于工作流(workflow)的方法、基于AI Planning的方法和基于軟件工程的方法。
(1)基于AI Planning方法:主要有基于邏輯程序設(shè)計(jì)語言Golog方法、基于適合過程模型的分層任務(wù)網(wǎng)絡(luò)SHOP2方法和使用基于規(guī)則的專家系統(tǒng)構(gòu)建復(fù)合服務(wù)的開發(fā)工具SWORD方法。目前,利用AI規(guī)劃技術(shù)求解語義Web服務(wù)的自動組合問題不能夠?qū)M合服務(wù)中各種動態(tài)關(guān)系,特別是并發(fā)關(guān)系進(jìn)行刻畫;
(2)基于工作流方法:主要包括基于Web服務(wù)業(yè)務(wù)流程執(zhí)行語言BPEL4WS/BPEL方法、基于業(yè)務(wù)流程建模語言BPML方法和基于Web服務(wù)編排定義語言WS-CDL方法?;诠ぷ髁飨嚓P(guān)方法往往需要大量人工操作去事先定義該商業(yè)進(jìn)程,不是真正意義上動態(tài)的自動的服務(wù)組合;
(3)基于軟件工程的方法,主要方法為借鑒軟件工程中的原則的Web構(gòu)件組合方法。
3.Web服務(wù)質(zhì)量屬性
為保證服務(wù)組合的性能和質(zhì)量,必須基于服務(wù)質(zhì)量(QOS)描述Web服務(wù)。質(zhì)量屬性之間具有高度內(nèi)連性,需要從系統(tǒng)論的角度深入分析移動環(huán)境下Web服務(wù)質(zhì)量屬性特點(diǎn)及矛盾協(xié)調(diào)。服務(wù)質(zhì)量屬性可以分為客觀的和主觀的服務(wù)質(zhì)量屬性。主觀服務(wù)質(zhì)量屬性主要是用戶對服務(wù)質(zhì)量的全面感覺,用戶關(guān)于服務(wù)是否滿意的觀點(diǎn),由于用戶感知的質(zhì)量經(jīng)常是被表達(dá),非技術(shù)性的,很難客觀評價(jià)。在客觀服務(wù)質(zhì)量屬性評價(jià)中,質(zhì)量標(biāo)準(zhǔn)受到交互目標(biāo)的影響,理想的服務(wù)質(zhì)量屬性評價(jià)應(yīng)根據(jù)任務(wù)執(zhí)行而不同。
四、小結(jié)
綜上所述,服務(wù)組合的基礎(chǔ)是Web服務(wù)的形式化描述,Web服務(wù)組合是Web服務(wù)研究領(lǐng)域中的一個重要的研究分支,具有重要的理論意義和實(shí)用價(jià)值。利用與平臺無關(guān)的Web服務(wù)應(yīng)用能夠?qū)⑸虡I(yè)智能功能整合到企業(yè)應(yīng)用程序當(dāng)中,在海量的組合方案中,快速靈活地為用戶選擇出滿足用戶QoS需求的服務(wù)組合方案,為決策提供必要的商務(wù)智能信息服務(wù),輔助達(dá)到更高層次的決策支持。
參考文獻(xiàn):
[1]IBM Corporation. Web Services: Web Services architect, Part I: An Introduction to Dynamic E-business, 2001,http://www.106.imb.com/developerworks/webservices/
[2]BEA, IBM, Microsoft (2003), Business Process Execution Language for WebServices (BPEL4WS).http://xml.coverpages.org/bpel4ws.html
[3]IBM.WS-Bpel.http://www-900.ibm.com/developerworks/cn/webservices/ws-bpel_spec/index_eng.shtml
[4]岳昆王曉玲周傲英:Web服務(wù)核心支撐技術(shù):研究綜述[J].《軟件學(xué)報(bào)》,2004,15(3):438-440