摘要:在對Web服務(wù)組合的研究工作回顧和總結(jié)的基礎(chǔ)上,提出了依據(jù)組合過程中服務(wù)的復(fù)用程度對Web服務(wù)組合進行分類的方法,建立了有關(guān)服務(wù)模式的概念;與此同時,提出服務(wù)網(wǎng)絡(luò)(services network,SN)的概念來表達服務(wù)間的依賴、關(guān)系、屬性和能力等語義關(guān)聯(lián)。結(jié)合本體概念和模糊推理,將語義信息和對模糊信息的處理能力引入到服務(wù)的發(fā)現(xiàn)、匹配、組合過程中,使SN成為支撐動態(tài)、靈活、自主的服務(wù)組合的新基點.
關(guān)鍵詞:服務(wù)網(wǎng)絡(luò); 服務(wù)組合; 服務(wù)模式; Web服務(wù)
中圖分類號:TP311文獻標(biāo)志碼:A
文章編號:1001-3695(2008)05-1378-05
隨著核心Web服務(wù)標(biāo)準(zhǔn)(WSDL、SOAP)及補充規(guī)范(如安全性、可靠性、事務(wù)性等)逐漸被廣泛采納和實現(xiàn),Web服務(wù)也因其高度的互操作性、跨平臺能力和松耦合的特性,成為當(dāng)前解決異構(gòu)環(huán)境中應(yīng)用集成的最佳實踐。業(yè)務(wù)應(yīng)用所提供的功能被封裝在Web服務(wù)中,而這些服務(wù)允許被其他應(yīng)用程序或服務(wù)通過包含HTTP、XML、SOAP、WSDL和UDDI在內(nèi)的Internet標(biāo)準(zhǔn)棧調(diào)用。Curbera等人[1]認為:Web服務(wù)正從最初的描述、公布、交互向新的階段發(fā)展,從而支持健壯的業(yè)務(wù)交互和精巧的業(yè)務(wù)協(xié)作,即Web 服務(wù)組合(Web services composition,WSC)。
服務(wù)組合使得開發(fā)者可以在面向服務(wù)計算(service-oriented computing,SOC)的描述、發(fā)現(xiàn)、交互三原則基礎(chǔ)上構(gòu)建新的應(yīng)用,允許開發(fā)者無縫地訪問眾多分布式服務(wù)以及將該應(yīng)用作為一個模塊被其他應(yīng)用程序調(diào)用的能力。組合可用的基本服務(wù)按照最適合特定問題需求的方式鏈接在一起來解決復(fù)雜的問題,還促進了應(yīng)用的快速開發(fā)、服務(wù)的重用和復(fù)雜服務(wù)的實現(xiàn)。因此,受到了工業(yè)界和學(xué)術(shù)界的廣泛關(guān)注和重視,成為當(dāng)前基于Web應(yīng)用的研究熱點。
本文提出了一個能夠為服務(wù)的發(fā)布、發(fā)現(xiàn)、組合、管理等整個生命周期提供支持的概念——服務(wù)網(wǎng)絡(luò)(SN),其目標(biāo)是利用本體和模糊推理的機制構(gòu)建精巧的服務(wù)關(guān)系網(wǎng)絡(luò),從而有助于動態(tài)、靈活、自主的服務(wù)組合。
1研究現(xiàn)狀
從應(yīng)用程序的角度出發(fā),文獻[2]給出了服務(wù)組合系統(tǒng)的一般框架,包括服務(wù)供應(yīng)商和服務(wù)請求者兩類參與者以及服務(wù)呈現(xiàn)、轉(zhuǎn)換,流程的產(chǎn)生、評估和執(zhí)行五個步驟。Berardi等人[3]認為,服務(wù)組合包含兩個不同的階段,即產(chǎn)生有關(guān)調(diào)度/協(xié)調(diào)組件服務(wù)獲得新復(fù)合服務(wù)的詳細規(guī)范即服務(wù)合成(synthesis)、根據(jù)規(guī)范協(xié)調(diào)組件服務(wù)以及監(jiān)視服務(wù)間的控制流和數(shù)據(jù)流的服務(wù)編排(orchestration)。
當(dāng)前研究中的重點大多集中在對服務(wù)的交互過程和組合結(jié)構(gòu)進行建模,即流程模型或組合方法的研究上。在該領(lǐng)域,存在著從概括性的抽象方法到那些具有成為工業(yè)標(biāo)準(zhǔn)潛力的方案框架的眾多組合方案。關(guān)于Web服務(wù)組合的分類標(biāo)準(zhǔn)目前主要有兩種:a)根據(jù)服務(wù)組合自動化的程度分為手動設(shè)計組合方式、半自動化組合方式和全自動化組合方式;b)根據(jù)服務(wù)組合的發(fā)生是在設(shè)計時刻還是在運行時刻將組合方案區(qū)分為動態(tài)組合和靜態(tài)組合。
1.1自動化程度
依據(jù)組合方法的自動化程度,可以將服務(wù)組合方案分為根據(jù)語義描述進行服務(wù)自動擇優(yōu)匹配和流程規(guī)劃全自動化組合方案、完全手工設(shè)計組合流程的手動設(shè)計組合方案以及介于兩者之間的、需要人為干預(yù)的半自動化組合方案。
Web 服務(wù)的業(yè)務(wù)流程執(zhí)行語言(business process execution language for Web services,BPEL4WS或BPEL;后OASIS組織將其更名為Web services business process execution language,WSBPEL,本文統(tǒng)稱為BPEL)[4]和Web 服務(wù)的編排描述語言(Web services choreography description language,WS-CDL)[5]都具有表示業(yè)務(wù)流程和服務(wù)狀態(tài)的能力,能夠以標(biāo)準(zhǔn)和系統(tǒng)化的方法來創(chuàng)建服務(wù)組合(匯聚服務(wù))。BPEL是對業(yè)務(wù)流程交互中的Web服務(wù)行為進行建模的規(guī)范,支持兩種截然不同的使用情形:實現(xiàn)可執(zhí)行的業(yè)務(wù)流程和描述不可執(zhí)行的業(yè)務(wù)流程——業(yè)務(wù)協(xié)議。而WS-CDL從全局的角度定義各個參與者之間P2P方式的協(xié)作、所要交換的信息以及需要共同遵守的順序規(guī)則,其目標(biāo)是能夠精確地描述任意類型的參與方之間的協(xié)作。這兩種規(guī)范都屬于手工、靜態(tài)的組合服務(wù)的范疇。
在實踐中,服務(wù)組合是一項十分復(fù)雜的任務(wù),遠遠超過了人手工處理的能力范圍,也不太可能像對待Java或C++類庫的方式來處理。因此,如何利用半自動或自動方法、工具來動態(tài)地構(gòu)建服務(wù)組合,就成了設(shè)計和實現(xiàn)該類應(yīng)用的關(guān)鍵。
人工智能和語義Web社區(qū)在以計算機可理解的形式增加描述Web服務(wù)的屬性和性能的語義信息方面進行了大量的研究。一些研究的目標(biāo)是使用形式語言和本體來對服務(wù)的所有相關(guān)方面進行語義描述,從而有助于通過Web進行的服務(wù)自動發(fā)現(xiàn)、匯聚和調(diào)用[6~10]。隨之產(chǎn)生了語義Web服務(wù)組合的問題:在簡潔明確的Web服務(wù)語義描述框架之上,設(shè)計、開發(fā)相關(guān)的方面和通用接口機制來處理語義Web服務(wù)。文獻[11,12]深入討論了解決語義Web服務(wù)組合問題的技術(shù)、方法。另外一些研究主要集中于利用AI規(guī)劃技術(shù)來自動地發(fā)現(xiàn)和組合Web服務(wù)[13~19]以及面向服務(wù)應(yīng)用的驗證[20,21]和運行時刻的監(jiān)控[22]等。
為了增加基于服務(wù)應(yīng)用的適應(yīng)能力和靈活性,一些研究將上下文(context)和服務(wù)質(zhì)量(quality of services, QoS)的概念引入到服務(wù)組合中,形成了上下文感知(context-aware)[23,24]和服務(wù)質(zhì)量感知(QoS-aware)[25]的組合方案。這在某種程度上也提高了組合過程的自動化程度。文獻[26]從工作流和AI規(guī)劃的角度對服務(wù)組合的研究成果進行了總結(jié)。Dustdar等人[27]討論了現(xiàn)有的組合平臺及各種服務(wù)組合策略、方法、框架。文獻[28,29]則就服務(wù)組合問題的本質(zhì)特征及下一步的研究方向進行了詳盡的討論。
1.2復(fù)用程度
服務(wù)組合的本質(zhì)是對已有軟件資產(chǎn)的重用。根據(jù)對Web服務(wù)的復(fù)用程度,可將目前主流的服務(wù)組合方法分為三類,即服務(wù)級(service level)、子流程級(subprocess level)和業(yè)務(wù)流程級(business-process level)復(fù)用。
面向服務(wù)級復(fù)用的服務(wù)組合類似于工作流,可以用代表流程中各個基本服務(wù)及執(zhí)行順序的有向圖[30]或Petri網(wǎng)代數(shù)[31]對組合服務(wù)建模。其他類似的工作有將Web服務(wù)抽象成有窮自動機(finite-state automata,F(xiàn)SA)用于多步服務(wù)自動組合的Roman模型[3];將Web服務(wù)抽象成通過輸入隊列接收事件并決定如何(以輸出事件的形式)響應(yīng)自動機的Mealy模型[32]。另外,還有基于AI規(guī)劃和推理的服務(wù)自動組合。文獻[14]在Golog語言基礎(chǔ)上,利用提供高層的一般程序和定制約束解決服務(wù)自動化組合的問題;文獻[19]將SHOP2規(guī)劃器應(yīng)用于帶有DAML-S描述的Web服務(wù)的自動組合;文獻[33]詳細闡述了建立在自動推理和程序合成的基礎(chǔ)上利用理論證明的方法來進行服務(wù)合成(service synthesis)的思想;文獻[34]將結(jié)構(gòu)化程序合成(structural synthesis of program,SSP)應(yīng)用于自動服務(wù)組合;文獻[35]則利用線性邏輯的理論證明方法進行服務(wù)自動組合;文獻[36]利用模型驅(qū)動的方法研究服務(wù)組合問題,通過business rules將基本元素組合為復(fù)合服務(wù);文獻[37]則在模型驅(qū)動的方法中增加利用本體語言描述的語義信息和QoS描述,解決語義Web服務(wù)組合的自動化。
子流程級復(fù)用則重用業(yè)務(wù)流程的“片斷”。其思想是將流程片斷模塊化,即將一組活動和相應(yīng)的控制邏輯封裝成相對獨立的單元——子流程(subprocess)[38]。子流程或者是作為內(nèi)聯(lián)子流程的形式在其他流程內(nèi)部定義,或被定義成一個單獨的BPEL流程都可以被其他流程(既可以是定義子流程的那個外層流程,也可以是任何其他流程)調(diào)用。
業(yè)務(wù)流程級復(fù)用不僅重用服務(wù)的功能,還重用和擴展業(yè)務(wù)流程和(或)復(fù)合服務(wù)中的控制流和數(shù)據(jù)流。提高服務(wù)組合描述的抽象程度或降低組合服務(wù)與具體服務(wù)間的耦合程度,是解決復(fù)合服務(wù)的更改、擴展和特殊化問題、促進服務(wù)組合重用的主要手段。文獻[39]用抽象組合服務(wù)(abstract composite Web services)概念來描述服務(wù)組合,它可以在構(gòu)建更大或擴展的組合中被特殊化為具體的服務(wù)。與此類似的是文獻[40],作者用獨立于具體實現(xiàn)的服務(wù)抽象流程、服務(wù)組合流程和翻譯過程來裝配復(fù)合服務(wù)。Yang[41]利用服務(wù)組件將服務(wù)接口、相關(guān)的業(yè)務(wù)邏輯和功能單元封裝成一個緊密結(jié)合的概念模塊,這些模塊可以被擴展、特殊化,或更一般地繼承。文獻[42]用靈活的綁定(flexible binding)概念來描述組合與其組件之間的關(guān)系,促進服務(wù)組合的重用。文獻[43]通過類和繼承機制構(gòu)建等級層次接口,從而達到靈活的重用業(yè)務(wù)流程的效果。1.3方法的對比
盡管各種模型、建議的最終目的都是試圖自動、靈活地組合Web服務(wù),但是它們并不完全重疊,能力也不完全等價。
與僅利用WSDL端口類型信息來描述服務(wù)的BPEL不同,OWL-S是基于OWL(ontology Web language)的Web服務(wù)本體,在服務(wù)的描述能力和語義信息方面都遠遠超過BPEL。在服務(wù)的自動發(fā)現(xiàn)、合成方面,由于BPEL沒有提供明確的語義,只能利用包含在WSDL端口類型定義中的結(jié)構(gòu)化的XML來約束伙伴;在明確定義服務(wù)的輸入、輸出、前件、作用效果和過程模型的基礎(chǔ)上,OWL-S利用ServiceProfile 和ServiceModel 所提供的足夠語義信息來自動地進行服務(wù)的發(fā)現(xiàn)和合成。BPEL定義了一套捕獲和處理錯誤的機制,對不能明確完成活動提供補償處理。此外,可以用WS-coordination和WS-transaction擴展 BPEL,從而提供事務(wù)性支持。
Wohed等人在文獻[44]中深入地分析了BPEL所支持的工作流模式,并以此為基準(zhǔn)對BPEL、 BPML和WSCI在內(nèi)的五種語言/產(chǎn)品進行對比。Peltz[45]則從編制可執(zhí)行的業(yè)務(wù)流程和編排協(xié)作協(xié)議的角度對比分析BPEL、WSCI和BPML的方法。通過定義抽象流程和可執(zhí)行流程,BPEL既支持可執(zhí)行業(yè)務(wù)流程又支持協(xié)作協(xié)議。而WSCI和BPML則需要協(xié)同工作:BPML支持編制,對可執(zhí)行的業(yè)務(wù)流程建模;WSCI支持編排,對Web服務(wù)間的交互建模。文獻[46]利用組件服務(wù)復(fù)雜度、匯聚單個服務(wù)成組合服務(wù)的能力以及語義三個指標(biāo)對包括BPEL、OWL-S 、Pi-演算、WCSL、Mealy模型、Roman模型等Web服務(wù)描述和組合模型進行了分析和評價。
盡管存在各種各樣的組合方法和框架,但遺憾的是,就目前來講還沒有哪一種方法能注定成為最后的勝利者。傳統(tǒng)的WSDL描述+BPEL靜態(tài)組合的方式受到了工業(yè)界的廣泛支持;而利用本體+基于AI推理的自動、動態(tài)組合技術(shù)則代表著服務(wù)組合未來的前進方向。
2服務(wù)網(wǎng)絡(luò)
2.1服務(wù)網(wǎng)絡(luò)和服務(wù)模式
服務(wù)網(wǎng)絡(luò)是一種利用實體及語義關(guān)系來表達服務(wù)間的依賴、關(guān)系、屬性、能力等知識的三維立體鉸鏈的網(wǎng)絡(luò),如圖1所示。它基于本體概念和語義關(guān)聯(lián),描述了服務(wù)之間的關(guān)系、交互、協(xié)作以及服務(wù)相應(yīng)的能力和非功能性需求,如服務(wù)質(zhì)量、服務(wù)層協(xié)議(services level agreement,SLA)等。其中,節(jié)點代表實體,表示概念,具體包括服務(wù)、服務(wù)的屬性、能力和服務(wù)間的關(guān)系等概念。在服務(wù)網(wǎng)絡(luò)中有三類節(jié)點:矩形節(jié)點表示服務(wù);橢圓節(jié)點表示服務(wù)的屬性、能力;菱形節(jié)點表示關(guān)系概念。帶有箭頭的弧則代表了服務(wù)概念間的關(guān)聯(lián)。組合使用菱形節(jié)點和弧既可以表示服務(wù)與一個或多個服務(wù)之間的關(guān)系或關(guān)聯(lián),又可以表示服務(wù)與其屬性、能力等之間的關(guān)系。
服務(wù)網(wǎng)絡(luò)具有兩個邏輯子層,即服務(wù)類子層和服務(wù)實現(xiàn)子層。服務(wù)類子層是為了促進服務(wù)的組合、管理而抽象出來的子層。其中的服務(wù)節(jié)點不代表具體的服務(wù),而側(cè)重于表示具有公共屬性的一類服務(wù),即服務(wù)集合,稱之為服務(wù)類或抽象服務(wù)。從匯聚眾多可用服務(wù)完成復(fù)雜的用戶任務(wù)的角度出發(fā),服務(wù)匯聚的標(biāo)準(zhǔn)主要是下面類屬關(guān)系,即屬于同一個服務(wù)類中的服務(wù)在功能上屬于泛化與特化的關(guān)系。處在服務(wù)類子層之下的是服務(wù)實現(xiàn)子層。其中的服務(wù)節(jié)點代表一個個的具體服務(wù),與類子層中的節(jié)點形成具體與抽象的關(guān)系:服務(wù)類描述一類服務(wù)的公共屬性(功能性),并對應(yīng)具體服務(wù)子層的一個或多個具體實現(xiàn),服務(wù)組合與哪個實現(xiàn)進行綁定是由網(wǎng)絡(luò)狀況、用戶請求、服務(wù)的非功能性屬性等共同決定的。
服務(wù)模式(services pattern,SP)則是可以被重用的功能代碼,包括服務(wù)的組合模式(services composition pattern,SCP)和消息交換模式(message exchange pattern,MEP)。它體現(xiàn)了隨時間進化和發(fā)展的問題求解方法,這種求解方法是通過基于模式的復(fù)用、組合、編排來實現(xiàn)的:MEP為Web服務(wù)間的消息交換定義了一組預(yù)定的順序,可分為簡單的基本MEP和復(fù)雜的復(fù)合MEP;服務(wù)組合模式則定義了協(xié)調(diào)、組合一系列基本服務(wù)構(gòu)建復(fù)合服務(wù)的模板,代表了服務(wù)流的邏輯視圖。
2.2服務(wù)關(guān)系
服務(wù)之間及服務(wù)自身的功能性和非功能性約束是服務(wù)上下文的語義表述,為服務(wù)的描述、發(fā)現(xiàn)、組合、管理等提供概念支持。構(gòu)成服務(wù)網(wǎng)絡(luò)的基本服務(wù)關(guān)系包括但不僅限于:
a)類屬關(guān)系。一個服務(wù)是另一個服務(wù)的子類型,指具有共同屬性的不同服務(wù)間的分類關(guān)系,它體現(xiàn)的是泛化與特化的關(guān)系。類屬關(guān)系的一個最主要的特征是屬性的繼承性:處于下層(特化層)的服務(wù)可以繼承上層(泛化層)服務(wù)的所有屬性。利用繼承性下層服務(wù)除具有上層服務(wù)的所有屬性外,還可以增加一些自己的個性,甚至還能夠?qū)ι蠈臃?wù)的屬性加以更改、擴展,形成一種等級、層次性的結(jié)構(gòu)。
subclass-of:是一個子類
b)組合關(guān)系,或聚類關(guān)系,是具有組織或功能特征的部分與整體之間的關(guān)系。它和類屬關(guān)系最主要的區(qū)別是組合關(guān)系不具備屬性的繼承性,有點像是屬性的疊加。
sequence:服務(wù)串行地疊加
parallel:服務(wù)并發(fā)地疊加
c)實例關(guān)系。服務(wù)是抽象層服務(wù)的一個實例,體現(xiàn)服務(wù)網(wǎng)絡(luò)兩個子層服務(wù)之間的抽象與具體關(guān)系。
instance-of:是一個實例
d)相近關(guān)系。不同服務(wù)在功能等方面相似或接近,表示一個服務(wù)與另一個服務(wù)相似,在某種程度上(以在0~1的一個小數(shù)表示的模糊值)可以相互替代。
similar-to:相似
e)時間關(guān)系。不同服務(wù)/事件在發(fā)生時間方面的先后次序關(guān)系,不等價于組合關(guān)系中的sequence,更側(cè)重于時間方面的約束。
before:在前,一個服務(wù)在另一個之前發(fā)生
after:在后,一個服務(wù)在另一個之后發(fā)生
f)位置關(guān)系。特指服務(wù)/服務(wù)描述的引用位置。
located-on:在上,一個服務(wù)在所示主機上
g)屬性關(guān)系。服務(wù)所具有屬性、功能等,注重于服務(wù)自身功能性屬性的語義描述及非功能性屬性和QoS的描述。
2.3服務(wù)網(wǎng)絡(luò)的構(gòu)建
基于服務(wù)網(wǎng)絡(luò)的服務(wù)注冊、發(fā)布過程中,一個主要的任務(wù)就是將服務(wù)加入到服務(wù)網(wǎng)絡(luò)中,即對服務(wù)進行邏輯定位,包括服務(wù)關(guān)系挖掘、語義協(xié)調(diào)和服務(wù)網(wǎng)絡(luò)管理三個子過程。最終生成便于服務(wù)發(fā)現(xiàn)、組合、管理的網(wǎng)絡(luò)結(jié)構(gòu)SN。
1)服務(wù)關(guān)系挖掘
考慮到服務(wù)關(guān)系的多樣性、靈活性和復(fù)雜性,服務(wù)之間的關(guān)聯(lián)也必將是十分復(fù)雜、不便于管理和利用的。為了使服務(wù)網(wǎng)絡(luò)成為對服務(wù)進行管理、增值、(自動化和自適應(yīng)的)組合、進化的基礎(chǔ)和邏輯錨點,有必要挖掘、整理服務(wù)之間最常用的基本服務(wù)關(guān)系,并在服務(wù)網(wǎng)絡(luò)中體現(xiàn)出來。挖掘工具從發(fā)布的服務(wù)中挖據(jù)服務(wù)關(guān)系,將之加入到服務(wù)網(wǎng)絡(luò)中并加以利用。
服務(wù)關(guān)系挖掘的另一項重點是將歸納出的服務(wù)關(guān)系抽象上升為可復(fù)用的服務(wù)模式,針對各種特定應(yīng)用、場景和用戶任務(wù),諸如一般管理信息系統(tǒng)(包括供應(yīng)鏈)、虛擬社區(qū)、虛擬校園、虛擬企業(yè)等進行深入細致的研究和總結(jié)。將各種服務(wù)模式整理、歸類,建立服務(wù)組合模式庫,研究、構(gòu)建用于支撐服務(wù)組合的模式系統(tǒng),利用模式管理系統(tǒng)對模式提供整個生命周期的管理。SOC開發(fā)人員利用模式簡化應(yīng)用程序的開發(fā),組合可用的基本服務(wù)并按照最適合特定問題需求的模式鏈接在一起來解決復(fù)雜的問題。
2)語義協(xié)調(diào)
盡管接口描述文檔(如Web服務(wù)的WDSL文件)可以對接口進行形式化和標(biāo)準(zhǔn)化,使其在語法結(jié)構(gòu)方面統(tǒng)一。但是Internet上的服務(wù)數(shù)量眾多、動態(tài)增長,并且是由不同的服務(wù)供應(yīng)商采用不同的工具或概念模型開發(fā)的,這就不可避免地存在語義的異構(gòu)問題,成為自主、自動的服務(wù)組合的巨大障礙。
語義協(xié)調(diào)解決服務(wù)關(guān)系及描述之間的語義異構(gòu)問題,用來識別、處理服務(wù)之間的語義關(guān)系。在一定意義上,本體的語義協(xié)調(diào)問題的核心就是本體的整合,是服務(wù)網(wǎng)絡(luò)管理(包括更新、演變、進化、維護等)的基礎(chǔ),也是基于服務(wù)網(wǎng)絡(luò)的服務(wù)發(fā)布過程中需要解決的核心問題。
3)服務(wù)網(wǎng)絡(luò)管理
服務(wù)網(wǎng)絡(luò)管理一個主要的內(nèi)容是根據(jù)語義協(xié)調(diào)的結(jié)果對SN的更新。此外,為了適應(yīng)不斷變化的需求、面向服務(wù)計算的軟件和應(yīng)用應(yīng)該動態(tài)進化的能力,需要提供對服務(wù)整個生命周期的管理。除了前面提到的服務(wù)描述、服務(wù)發(fā)布以及處于核心位置的基于SN的服務(wù)組合以外,還要為服務(wù)的發(fā)現(xiàn)、安全、調(diào)用資源、功能管理、基礎(chǔ)服務(wù)和相應(yīng)工具包的管理提供支持。這涉及到:a)服務(wù)水平協(xié)議(SLA)和QoS的管理、性能和可用性管理;b)管理的可視化,交互式的監(jiān)視、管理和報告機制;c)服務(wù)的適應(yīng)能力,包括版本控制、消息轉(zhuǎn)換;d)基于XML的安全和信任機制。
3基于服務(wù)網(wǎng)絡(luò)的服務(wù)組合
基于服務(wù)網(wǎng)絡(luò)的服務(wù)組合涉及服務(wù)的發(fā)布、發(fā)現(xiàn)、應(yīng)用、管理整個生命周期,包括服務(wù)關(guān)系挖掘、語義協(xié)調(diào)、服務(wù)組合、服務(wù)管理等多個子過程,最終生成建立在便于服務(wù)發(fā)現(xiàn)、組合、管理的網(wǎng)絡(luò)結(jié)構(gòu)之上的動態(tài)、靈活、自適應(yīng)的服務(wù)組合解決方案。
服務(wù)網(wǎng)絡(luò)既不像WSDL規(guī)范那樣從服務(wù)接口的角度描述服務(wù),也不像本體模型那樣單純地增加服務(wù)的語義信息,而是更側(cè)重于從與服務(wù)世界(所有可能的服務(wù)組成的集合)中其他個體關(guān)系的角度描述服務(wù)。本質(zhì)上,服務(wù)網(wǎng)絡(luò)是可用服務(wù)的個體在服務(wù)世界中的邏輯定位,它描述了一個具體服務(wù)在服務(wù)世界中的位置以及與其他服務(wù)的邏輯關(guān)系。基于服務(wù)網(wǎng)絡(luò)的服務(wù)組合過程,即從服務(wù)網(wǎng)絡(luò)出發(fā),匹配、發(fā)現(xiàn)、構(gòu)建能夠?qū)崿F(xiàn)用戶任務(wù)的服務(wù)鏈。除了采用傳統(tǒng)的圖操作算法外,還可以設(shè)計實現(xiàn)動態(tài)、上下文感知、基于服務(wù)質(zhì)量的新型服務(wù)組合算法。
業(yè)務(wù)規(guī)則描述、約束和控制著業(yè)務(wù)流程的結(jié)構(gòu)、操作和策略,掌管著業(yè)務(wù)流程中的每一個決策點和運行時組件服務(wù)的選擇、綁定,實際成為業(yè)務(wù)流程或服務(wù)組合流中的組合邏輯。由組合邏輯演繹、歸納出的服務(wù)模式對用戶任務(wù)的分解和服務(wù)組合的策略有著重要的影響,對服務(wù)的可組合性和組合結(jié)構(gòu)有著指導(dǎo)作用,利用模式可以大大簡化和促進分布式業(yè)務(wù)流程的組合。
鑒于當(dāng)前服務(wù)發(fā)現(xiàn)技術(shù)主要是通過精確匹配實現(xiàn)的,不能很好地支持基于不確定信息(如模糊信息)的描述和具有語義約束的模糊匹配的問題,將不確定信息加入基于服務(wù)網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)體系中,用模糊集合理論和模糊邏輯來研究元素對集合隸屬關(guān)系的不確定性的數(shù)量大小以及相互關(guān)系,增強服務(wù)發(fā)現(xiàn)的描述和處理能力。在對服務(wù)網(wǎng)絡(luò)進行管理(服務(wù)網(wǎng)絡(luò)的插入、刪除、更改、進化)的基礎(chǔ)上,將模糊與OWL相結(jié)合的FOWL(fuzzy OWL), 使OWL增加表達和推理模糊信息的能力,實現(xiàn)能對模糊概念和關(guān)系進行推理的模糊推理引擎,對模糊知識進行處理,從而能夠充分地滿足用戶感知的多樣性以及復(fù)雜的信息和服務(wù)需求。
基于服務(wù)網(wǎng)絡(luò)的服務(wù)組合系統(tǒng)結(jié)構(gòu)如圖2所示。
4結(jié)束語
本文目前僅就基于服務(wù)網(wǎng)絡(luò)的動態(tài)服務(wù)組合進行了有益的嘗試,包括手工構(gòu)建一個小型的SN。下一步的工作將主要集中在:a)進一步細化服務(wù)網(wǎng)絡(luò)的組織、存儲、管理以及自動的服務(wù)關(guān)系挖掘工具的研究、設(shè)計、實現(xiàn)上,即自動地生成服務(wù)網(wǎng)絡(luò);b)服務(wù)模式的形式化;c)基于服務(wù)網(wǎng)絡(luò)和服務(wù)模式的動態(tài)、自主的服務(wù)組合算法的設(shè)計與實現(xiàn)上。充分表達和刻畫服務(wù)之間相對關(guān)聯(lián)的服務(wù)網(wǎng)絡(luò),將會極大地促進服務(wù)組合的設(shè)計、開發(fā)和整個生命周期的管理。
面向服務(wù)的應(yīng)用因其跨平臺和通過Internet調(diào)用的能力而受到了人們的普遍重視,成為新一代B2B和EAI(enterprise application integration)架構(gòu)的基礎(chǔ)。本文提出服務(wù)網(wǎng)絡(luò)概念,結(jié)合本體概念和模糊推理將語義信息和對模糊信息的處理能力引入到服務(wù)的發(fā)現(xiàn)、匹配、組合過程中,使 SN成為動態(tài)、靈活、自主的服務(wù)組合解決方案的基礎(chǔ)。
參考文獻:
[1]CURBERA F, KHALAF R MUKHI R, et al. The next step in Web services[J].Communications of the ACM,2003,46(10):29-34.
[2]RAO Jin-h(huán)ai, SU Xiao-meng. Toward the composition of semantic Web services[C]//Proc of the 2nd International Workshop on Grid and Cooperative Computing.[S.l.]: Springer, 2003:760-767.
[3]BERARDI D, CALVANESE D, GIACOMO G D, et al. Automatic composition of e-services that export their behavior[C]//Proc of the 1st International Conference on Service Oriented Computing. Berlin: Springer-Verlag, 2003:43-58.
[4]ANDREWS T, CURBERA F, DHOLAKIA H,et al. Business process execution language for Web services[EB/OL].(2003-05-05)[2005-05-20].http://www.ibm.com/developerworks/libray/ws-bpel/.
[5]KAVANTZAS N, BURDETT D, RITZINGER G,et al. Web services choreography description language version 1.0[EB/OL].(2005-05-05)[2006-07-20].http://www.w3.org/TR/ws-cdl-10/.
[6]HEPP M, LEYMANN F , DOMINGUE F, et al. Semantic business process management: a vision towards using semantic Web services for business process management[C]//Proc of IEEE International Conference on e-Business Engineering. Washington DC: IEEE Computer Society, 2005:535-540.
[7]LAUSEN H, POLLERES A, ROMAN D. Web service modeling ontology(WSMO)[EB/OL].(2004-11-12)[2006-07-20].http://www.w3.org/Submission/WSMO.
[8]MARTIN D, BURSTEIN M, HOBBS D, et al. OWL-S: semantic markup for Web services[EB/OL].(2004-07-12)[2006-03-18].http://www.w3.org/Submission/OWL-S.
[9]MOULIN C, SBODIO M. Using ontological concepts for Web service composition[C]//Proc of IEEE/WIC/ACM International Conference on Web Intelligence. Washington DC: IEEE Computer Society, 2005:487-490.
[10]SIVASHANMUGAM K, MILLER J A, SHETH A P, et al. Framework for semantic Web process composition[J]. International Journal of Electronic Commerce, 2004,9(2):71-106.
[11]CABRAL L, DOMINGUE J, MOTTA E, et al. Approaches to semantic Web services: an overview and comparisons[C]//Proc of the 1st European Semantic Web Symposium. Berlin: Springer, 2004:225-239.
[12]CHARIF Y, SABOURET N. An overview of semantic Web services composition approaches[J]. Electronic Notes in Theoretical Computer Science, 2006,85(6):33-41.
[13]LAZOVIK A, AIELLO M, PAPAZOGLOU M P. Planning and monitoring the execution of Web service requests[C]//Proc of the 1st International Conference on Service Oriented Computing. Berlin: Springer, 2003:335-350.
[14]MCILRAITH S, SON T C. Adapting Golog for composition of semantic Web services[C]//Proc of the 8th International Conference on Knowledge Representation and Reasoning. Toulouse: Morgan Kaufmann Publishers, 2002:482-493.
[15]MEDJAHED B, BOUGUTTAYA A,ELMAGARMID A K. Composing Web services on the semantic Web[J]. The VLDB Journal, 2003,12(4):333-351.
[16]PAOLUCCI M, KAWAMURA T, PAYNE T R, et al. Semantic mat-ching of Web services capabilities[C]//Proc of the 1st International Semantic Web Conference. London: Springer-Verlag, 2002:333-347.
[17]PISTORE M, TRAVERSO P, BERTOLI P,et al. Automated synthesis of composite BPEL4WS Web services[C]//Proc of IEEE International Conference on Web Services. Washington DC: IEEE Computer Society, 2005:293-301.
[18]TRAVERSO P, PISTORE M. Automatic composition of semantic Web services into executable processes[C]//Proc of International Semantic Web Conference. Berlin: Springer, 2004:380-394.
[19]WU Dan, SIRIN E, HENDLER J, et al. Automatic Web services composition using SHOP2[C]//Proc of Workshop on Planning for Web Services. 2003.
[20]KAZHAMIAKIN R, PISTORE M, SANTUARI L. Analysis of communication models in Web service compositions[C]//Proc of the 15th International Conference on WWW. New York: ACM Press, 2006:267-276.
[21]NARAYANAN S, MAVILRAITH S A. Simulation, verification and automated composition of Web service[C]//Proc of the 11th International World Wide Web Conference. New York: ACM Press, 2002:77-88.
[22]BARBON F, et al. Run-time monitoring the execution of Web service compositions[C]//Proc of International Conference on Planning and Scheduling. 2006.
[23]BARESI L,BIANCHINI D,DEANTONELLIS V,et al. Context-aware composition of e-services[C]//Proc of the 4th International Workshop on Technologies for e-Services. Berlin: Springer, 2003:28-41.
[24]COLOMBO E, MYLOPOULOS J, SPOLETINI P. Modeling and analyzing context-aware composition of services[C]//Proc of the 3rd International Conference on Service Oriented Computing.Berlin: Sprin-ger, 2005:198-213.
[25]WANG Gui-jun, CHEN A, WANG Chang-zhou, et al. Integrated quality of service(QoS) management in service-oriented enterprise architecture[C]//Proc of the 8th IEEE International Enterprise Distri-buted Object Computing Conference.Washington DC: IEEE Computer Society, 2004:21-32.
[26]RAO Jin-h(huán)ai. SU Xiao-meng. A survey of automated Web service composition methods[C]//Proc of the 1st International Workshop on Semantic Web Services and Web Process Composition.Berlin: Sprin-ger, 2004:43-45.
[27]DUSTDAR S, SCHREINER W. A survey on Web services composition[J]. Int J Web and Grid Services, 2005,1(1):1-30.
[28]PAPAZOGLOU M P, TRAVERSO P, DUSTDAR S, et al. Service-oriented computing: a research roadmap[C]//Proc of Internationales Begegnungs-und Forschungszentrum fuer Informatik. Schloss Dagstuhl, Germany:[s.n.], 2006.
[29]SRIVASTAVA B, KOEHLER J. Web service composition: current solutions and open problems[C]//Proc of the 13th International Conference on Planning Scheduling. 2003:28-35.
[30]CASATI F, ILNICKI S, JIN Li-jie. Adaptive and dynamic service composition in eFlow[C]//Proc of the 12th International Conference on Advanced Information Systems Engineering. London: Springer-Verlag, 2000:13-31.
[31]HAMADI R, BENATALLAH B. A Petri net-based model for Web service composition[C]//Proc of the 14th Australasian Database Conference. Darlinghurst: Australian Computer Society, 2003:191-200.
[32]BULTAN T, FU Xiang, HULL R, et al. Conversation specification: a new approach to design and analysis of e-service composition[C]//Proc of the 12th International World Wide Web Conference. New York: ACM Press, 2003:403-410.
[33]WALDINGER R J. Web agents cooperating deductively[C]//Proc of the 1st International Workshop on Formal Approaches to Agent-Based Systems. London: Springer-Verlag, 2000:250-262.
[34]LMMERMANN S. Runtime service composition via logic-based program synthesis[D]. Stockholm: Royal Institute of Technology, 2002.
[35]RAO Jin-h(huán)ai. Semantic Web service composition via logic-based program synthesis[D]. Trondheim: Norwegian University of Science and Technology, 2004.
[36]ORRINS B, YANG J, PAPAZOGLOU M P. Model driven service composition[C]//Proc of the 1st International Conference on Service Oriented Computing. Berlin: Springer, 2003:75-90.
[37]GRNMO R, JAEGER M C. Model-driven semantic Web service composition[C]//Proc of the 12th Asia-Pacific Software Engineering Conference. Washington DC: IEEE Computer Society, 2005:79-86.
[38]KLOPPMANN M, KDENIG D, LEYMAN N, et al. WS-BPEL extension for sub-processes BPEL-SPE, a joint white paper by IBM and SAP[EB/OL].(2005-09-23)[2006-03-18].http://www-128.ibm.com/develop erworks/library/specification/ws-bpelsubproc/.
[39]BOVA R, HASSAS S, BENBERNOU S. An immune system-inspired approach for composite Web services reuse[C]//Proc of the 4th International Workshop on AI for Service Composition. 2006:21-27.
[40]GRANELL C, GOULD M, GRNMO R, et al. Improving reuse of Web service compositions[C]//Proc of EC-Web Conference. Berlin: Springer, 2005:358-367.
[41]YANG J. Web services componentization[J]. Communications of the ACM, 2003,46(10):35-40.
[42]PAUTASSO C, ALONSO G. Flexible binding for reusable composition of Web services[C]//Proc of the 4th International Workshop on Software Composition. 2005:151-166.
[43]CHEN S, et al. An inherited approach for Web services reuse[C]//Proc of the 4th International Conference on Information Technology and Applications. 2007:733-737.
[44]WOHED P, van der AALST W M P, DUMAS M, et al. Analysis of Web services composition languages: the case of BPEL4WS[C]//Proc of the 22nd International Conference on Conceptual Modeling. Berlin: Springer, 2003:200-215.
[45]PELTZ C. Web services orchestration and choreography[J]. Computer, 2003,36(10):46-52.
[46]HULL R, SU Jian-wen. Tools for composite Web services: a short overview[J]. ACM SIGMOD Record, 2005,34(2):86-95.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”