自動Web服務(wù)組合技術(shù)的研究_第1頁
自動Web服務(wù)組合技術(shù)的研究_第2頁
自動Web服務(wù)組合技術(shù)的研究_第3頁
自動Web服務(wù)組合技術(shù)的研究_第4頁
自動Web服務(wù)組合技術(shù)的研究_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、自動Web服務(wù)組合技術(shù)的研究薛瑩河海大學(xué)計算機及信息工程學(xué)院,南京(210098E-mail:xingji110摘要:Web服務(wù)技術(shù)的快速發(fā)展使得利用Web服務(wù)組合來滿足應(yīng)用的需要成為可能。本文首先分析了幾種Web服務(wù)描述的方式,然后介紹了服務(wù)組合的方法,這些方法都是基于工作流與AI規(guī)劃的。提出了自動Web服務(wù)組合的模型并給出了服務(wù)組合的過程。最后指出Web服務(wù)組合面臨的挑戰(zhàn)和進(jìn)一步研究的方向。關(guān)鍵詞: Web服務(wù)、服務(wù)組合、工作流、AI規(guī)劃中圖分類號:TP3931.引言Web服務(wù)是自包含、自描述、模塊化的應(yīng)用程序,可以在Web上發(fā)布、查找和調(diào)用Web服務(wù)。近幾年來,越來越多的公司和組織開始只

2、關(guān)注并實現(xiàn)他們的核心業(yè)務(wù),而把其他應(yīng)用服務(wù)進(jìn)行外包1。因此,在運行時有效地選擇和集成不同組織之間以及Web上的異構(gòu)服務(wù)的能力對于開發(fā)Web應(yīng)用程序非常重要。如果單個Web服務(wù)不能滿足用戶所需的功能,則可以將多個現(xiàn)有服務(wù)組合在一起,成為組合服務(wù)(composite service以滿足需求。在Web服務(wù)的相關(guān)研究中,出現(xiàn)了不同的工業(yè)標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)在不斷的演化之中,其中統(tǒng)一描述發(fā)現(xiàn)和集成規(guī)范(Universal Description, Discovery and Integration,UDDI2、Web服務(wù)描述語言(Web Service Description Language,WSDL3、

3、簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP4分別用于服務(wù)的查找、描述和消息傳遞。其他語言,例如業(yè)務(wù)過程執(zhí)行語言(Business Process Execution Language for Web Service,BPEL4WS和OWL-S的ServiceModel重點表示服務(wù)組合,但是服務(wù)之間的過程流和綁定關(guān)系都是預(yù)先知道的。雖然有這些標(biāo)準(zhǔn),但是Web服務(wù)組合仍然是高度復(fù)雜的任務(wù),不能單靠人工處理整個過程。其組合的復(fù)雜性來源于:(1近年來Web上可用的服務(wù)數(shù)量劇增,需要查找巨大的Web服務(wù)庫。(2Web服務(wù)可以實時地創(chuàng)建和更新,因此組合系統(tǒng)需要在

4、運行時檢測更新信息并根據(jù)最新的信息進(jìn)行決策。(3Web服務(wù)可由不同的組織進(jìn)行開發(fā),這些組織可能使用不同的概念模型來描述服務(wù),而且現(xiàn)在還不存在一種統(tǒng)一的語言來定義Web服務(wù)。因此,使用自動的或半自動的工具來建立組合Web服務(wù)很有必要。很多專家和學(xué)者提出了各自的方法,他們的方法主要介于兩個領(lǐng)域:工作流的組合以及AI規(guī)劃。本文首先介紹了不同的Web服務(wù)描述方法,其中包括Web服務(wù)語法描述和語義描述。然后基于目前存在的一些組合平臺和框架,重點分析了基于工作流和基于AI規(guī)劃的Web 服務(wù)組合的原理和應(yīng)用,接著提出了自動Web服務(wù)組合的模型并說明服務(wù)組合的過程,最后指出Web服務(wù)面臨的挑戰(zhàn)和進(jìn)一步的研究方

5、向。2.Web服務(wù)描述Web服務(wù)具有廣泛的適應(yīng)性和應(yīng)用背景,Web服務(wù)組合依賴于Web服務(wù)描述。W3C 提出了多種Web服務(wù)描述語言。2.1 WSDLWeb服務(wù)描述語言(Web Service Description Language,WSDL是一種基于XML的語言,通過提供數(shù)據(jù)抽象定義的消息和Web服務(wù)用來傳輸消息的操作來說明Web服務(wù)。在WSDL中,服務(wù)訪問點和消息的抽象定義從具體的服務(wù)部署或數(shù)據(jù)格式綁定中分離出來。消息是對交換數(shù)據(jù)的抽象描述;而端口類型是指操作的抽象集合;用于特定端口類型的具體協(xié)議和數(shù)據(jù)格式規(guī)范構(gòu)成了可再次使用的綁定。將Web訪問地址與可再次使用的綁定相關(guān)聯(lián),可以定義一個

6、端口,而端口的集合則定義為服務(wù)5。WSDL中有4種類型的操作:one-way、request-response、solicit-response和notification消息。終端(endpoint可以接收消息(one-way、發(fā)送消息(notification、接收消息并發(fā)送相關(guān)消息(request-response以及發(fā)送消息并接收相關(guān)消息(solicit-response。WSDL定義了Web服務(wù)的功能,但是沒有定義如何完成該功能。WSDL只是從語法層對Web服務(wù)進(jìn)行描述,不支持豐富的語義描述。2.2 WSCIWeb服務(wù)編排接口23(Web Service Choreography In

7、terface,WSCI用于描述Web服務(wù)的可觀察行為,也就是用戶根據(jù)交換消息間的時序和邏輯依賴所看到的行為。WSCI描述了如何根據(jù)消息交換的上下文編排操作的方式。WSCI根據(jù)使用的上下文能夠描述交換消息的正確順序,并且能夠定義相同Web服務(wù)的多種行為。而且,它還提供了管理異常情況(如超時和錯誤消息的方法。它是一種編排語言。2.3 OWL-S語義Web6(Semantic Web的發(fā)展要求可以通過Web資源的內(nèi)容等語義信息來訪問Web資源,而不僅僅是通過數(shù)據(jù)類型匹配、關(guān)鍵詞匹配來查找信息。Web服務(wù)作為Web上的一類越來越重要的資源,同樣要求語義Web對其提供廣泛的語義支持,從而實現(xiàn)語義Web

8、服務(wù)(Semantic Web Services,SWS。OWL-S就是語義 Web中一種用來描述Web 服務(wù)的屬性和功能的本體規(guī)范,它使用一系列基本的類和屬性來描述Web服務(wù),提供了一個可共享的框架。在OWL-S(Ontology Web Language for Services,即以前的DAML-S中,描述服務(wù)的基本信息主要有3類本體:ServiceProfile,ServiceModel和ServiceGrounding,如圖1所示。 圖1 OWL-S模型的頂層本體z ServiceProfile:提供了服務(wù)的高層描述,說明服務(wù)的功能,其最重要的信息包括輸入、輸出、前提和結(jié)果。它能提供

9、3類信息,即(1人類可閱讀的服務(wù)描述(2服務(wù)提供的功能說明(3有關(guān)服務(wù)的額外信息和需求的功能屬性。z ServiceProfile:描述了服務(wù)的過程模型,說明服務(wù)的工作原理,即服務(wù)執(zhí)行時發(fā)生的操作。z ServiceGrouding:將過程模型的描述和WSDL的通訊協(xié)議及消息描述聯(lián)系起來,說明agent訪問服務(wù)的細(xì)節(jié)內(nèi)容。一般地講,ServiceProfile為agent或軟件提供發(fā)現(xiàn)服務(wù)所需的信息,ServiceModel 和ServiceGrounding為agent或軟件使用服務(wù)提供足夠的信息。2.4 OWL-S和WSDL的關(guān)系文獻(xiàn)7指出DAML-S(OWL-S和WSDL是互補的。一方面

10、,開發(fā)人員可以使用DAML-S 的過程模型以及DAML+OIL類的類型機制的表達(dá)能力;另一方面,他們還能重用WSDL 以及軟件對于基于聲明的消息交換的支持。3.Web服務(wù)組合的方法近幾年,工業(yè)界和學(xué)術(shù)界提出了很多服務(wù)組合的方法,這些方法大致基于兩種思想:基于工作流的思想和基于AI規(guī)劃的思想。下面將首先介紹服務(wù)組合的動態(tài)和靜態(tài)的概念和區(qū)別,然后介紹自動和人工服務(wù)組合,最后將集中介紹基于工作流和AI規(guī)劃的服務(wù)組合方法。3.1 靜態(tài)與動態(tài)服務(wù)組合Web服務(wù)組合方法從組合方案生成方式來分有兩大類:靜態(tài)組合和動態(tài)組合5。靜態(tài)組合意味著請求者應(yīng)在組合計劃實施前創(chuàng)建一個抽象的過程模型。抽象的過程模型包括任務(wù)

11、的集合以及任務(wù)間的數(shù)據(jù)依賴關(guān)系,每個任務(wù)包含一個查詢的子句,用來查找完成任務(wù)的真正的Web服務(wù)。靜態(tài)組合中最常用的是用圖來描述過程模型。而動態(tài)組合不僅自動地選擇、綁定Web服務(wù),同時更重要的是自動地創(chuàng)建過程模型。這需要請求者指定一些約束關(guān)系,包括Web服務(wù)間的依賴關(guān)系、用戶的偏愛等。3.2 自動與人工服務(wù)組合單個簡單的Web服務(wù)往往無法滿足實際的應(yīng)用需求,人們常常需要組合多個Web服務(wù)以完成一個較復(fù)雜的任務(wù),這就是服務(wù)的組合問題8,它包括服務(wù)的選擇和執(zhí)行。傳統(tǒng)方式下服務(wù)的選擇和執(zhí)行通常是由用戶(人工地完成的,但是隨著服務(wù)數(shù)量的劇增,如何根據(jù)必要的信息自動地、動態(tài)地選擇和組合服務(wù),即Web服務(wù)的

12、自動組合問題。這些必要的信息就是服務(wù)的語義描述模型,而模型的描述手段就是語義Web標(biāo)記語言。引言中提過,有必要使用自動的或半自動的工具來建立組合Web服務(wù)。而工作流的方法與AI規(guī)劃都能完成服務(wù)的自動組合。對于前者,動態(tài)的工作流方法為自動地綁定節(jié)點和具體資源或服務(wù)提供了手段。另一方面,動態(tài)組合方法需要自動生成規(guī)劃,而大多數(shù)生成自動規(guī)劃的方法與AI規(guī)劃和演繹定理證明相關(guān)。這種方法都基于這樣的假設(shè):在規(guī)劃上下文中,可以使用服務(wù)的前提和結(jié)果來說明服務(wù)。本文中的自動化是指方法能自動生成過程模型,或是指方法在給定抽象過程模型的情況下自動找到正確的服務(wù)。文獻(xiàn)9介紹了一種半自動的服務(wù)組合方法。3.3 基于工作

13、流的服務(wù)組合在很多情況下,組合服務(wù)與工作流很相似10。組合服務(wù)的定義包括原子服務(wù)的集合以及服務(wù)之間的控制流和數(shù)據(jù)流。同樣,工作流也必須說明這些控制流和數(shù)據(jù)流。另外,動態(tài)的工作流方法提供了自動綁定抽象節(jié)點到具體資源或服務(wù)的方法。EFlow11是一個說明、制定和管理組合服務(wù)的平臺,它使用靜態(tài)工作流生成方法。組合服務(wù)被建模為圖,在該圖中指定了過程中節(jié)點之間的執(zhí)行順序。圖需要人工創(chuàng)建,但可以動態(tài)更新。圖中包含服務(wù)、策略和事件節(jié)點。服務(wù)節(jié)點代表對某個原子服務(wù)或組合服務(wù)的調(diào)用,策略節(jié)點說明了控制流程執(zhí)行的規(guī)則,事件節(jié)點使得服務(wù)過程可以發(fā)送和接收一些類型的事件。圖中的弧說明了節(jié)點之間的依賴關(guān)系。雖然圖通過人

14、工建立,但是Eflow提供了將節(jié)點綁定到具體服務(wù)的自動化方法。服務(wù)節(jié)點的定義中包含查找方法用于在流程初始化時或運行時查詢實際服務(wù)。當(dāng)服務(wù)節(jié)點啟動后,會執(zhí)行查找方法,并返回特定服務(wù)的引用。特別地,查找方法會在每次激活服務(wù)節(jié)點時被解析,這是因為在動態(tài)變化的環(huán)境中服務(wù)可能會發(fā)生頻繁的變換。文獻(xiàn)12介紹了基于工作流的服務(wù)項目:METEOR-S,它采用WSDL-S描述服務(wù),用戶編寫抽象語義流程模板(該流程模板結(jié)構(gòu)類似于BPEL4WS結(jié)構(gòu),而后程序自動對該模板進(jìn)行語義標(biāo)注,根據(jù)標(biāo)注后的模板去匹配搜索并集成相應(yīng)的服務(wù),生成以BPEL4WS描述的具體業(yè)務(wù)流程。由于引入了本體,因此對于服務(wù)的搜索和匹配更加精確。

15、PPM(Polymorphic Process Model13使用了一種結(jié)合靜態(tài)和動態(tài)服務(wù)組合的方法。靜態(tài)部分由基于引用過程的跨企業(yè)過程支持,該過程由抽象的子過程組成,其中子過程有功能描述,但是并沒有實現(xiàn)。抽象的子過程在運行時綁定到服務(wù),這和EFlow中的服務(wù)綁定相似。PPM的動態(tài)部分由基于服務(wù)的過程支持。這里的服務(wù)建模為自動機,說明了服務(wù)的可能狀態(tài)和狀態(tài)之間的轉(zhuǎn)換。狀態(tài)轉(zhuǎn)換由服務(wù)操作調(diào)用或內(nèi)部服務(wù)轉(zhuǎn)換而觸發(fā)。因此根據(jù)自動機的推理,服務(wù)的動態(tài)組合成為可能。3.4 基于AI規(guī)劃的服務(wù)組合OWL-S的出現(xiàn)為基于AI規(guī)劃的組合方法提供了可能,將Web服務(wù)看成AI中的動作,通過輸入輸出參數(shù)、前提和結(jié)果

16、等來描述服務(wù)。在服務(wù)組合時,只要將Web服務(wù)的描述映射為動作的形式化描述,在Web服務(wù)空間中以構(gòu)造Web服務(wù)組合為目標(biāo),通過形式化的推理來得出Web服務(wù)的組合序列,動態(tài)形成服務(wù)組合方案,同時也能夠保證規(guī)劃結(jié)果的正確性和完整性。3.4.1狀態(tài)演算狀態(tài)演算是一種形式化的規(guī)劃方法。它是一階邏輯語言,主要用來表示動態(tài)變化的世界,是一種關(guān)于狀態(tài)、動作和動作作用于狀態(tài)的結(jié)果的形式化謂詞演算。在狀態(tài)演算中,世界上的所有變化過程都是動作執(zhí)行的結(jié)果。McIlraith和她的研究小組14, 15采用并擴展了Golog語言用于Web服務(wù)的自動創(chuàng)建。Golog是建立在狀態(tài)演算之上的邏輯編程語言。作者通過提供高層的通用

17、過程和定制約束來解決Web服務(wù)的組合問題。這里采用的Golog語言是表示和推理服務(wù)組合問題的形式化方法。該方法的思想是:軟件agent通過推理Web服務(wù)可以執(zhí)行自動的服務(wù)發(fā)現(xiàn)、執(zhí)行、組合和互操作。用戶的請求(通用過程和約束可以用狀態(tài)演算的一階語言來表示。每個Web服務(wù)可以看作為動作,即原子動作(PrimitiveAction或復(fù)雜動作(ComplexAction。原子動作可以是改變世界狀態(tài)的動作或是改變agent知識狀態(tài)的信息搜集動作。復(fù)雜動作是原子動作的組合。Agent的知識庫(KB使用狀態(tài)演算語言對Web服務(wù)動作的前提和結(jié)果進(jìn)行邏輯編碼。組合服務(wù)是一系列通過過程編程語言的構(gòu)造符(例如if-

18、then-else、while等連接起來的原子服務(wù)的集合。作者還提出了結(jié)合服務(wù)請求者的約束來定制Golog程序的方法。例如,服務(wù)請求者可以使用非確定的選擇來表示在給定狀態(tài)中所選擇的動作,或使用序列構(gòu)造符強制兩個動作間的執(zhí)行序列。生成的規(guī)劃必須滿足預(yù)定義的約束。3.4.2 PDDL規(guī)劃域定義語言(Planning Domain Definition Lanuage,PDDL被人們廣泛地接受為規(guī)劃器的標(biāo)準(zhǔn)輸入,事實上,OWL-S本身受到PDDL語言的重大影響,因此這兩種語言之間的映射是很直接的。在需要規(guī)劃服務(wù)組合時,OWL-S的描述可以翻譯為PDDL的格式,然后不同的規(guī)劃器可以利用它來進(jìn)行服務(wù)的合

19、成或組合。為了在PDDL基礎(chǔ)之上表示W(wǎng)eb服務(wù)組合,McDermott16介紹了一種新的知識,稱為動作值(value of an action,這與truth literal有所區(qū)別,可以用它來描述Web服務(wù)執(zhí)行后產(chǎn)生的信息轉(zhuǎn)換和狀態(tài)改變。通過輸入和輸出參數(shù)表示的信息是可重用的,因此數(shù)據(jù)值可以在執(zhí)行多個任務(wù)時進(jìn)行復(fù)制。相反,世界的狀態(tài)通過服務(wù)執(zhí)行而改變。這里的改變是指舊狀態(tài)的消失以及新狀態(tài)的產(chǎn)生。在AI規(guī)劃中,通常會假設(shè)世界是封閉的,也就是說,如果literal不存在于當(dāng)前世界,則它的真值為假,這在邏輯編程方法中稱為失敗即否定(negation as failure。封閉世界假設(shè)的缺點在于tr

20、uth literal不能表達(dá)新的信息。如果服務(wù)請求者想要描述給某個Web服務(wù)發(fā)送消息,則需要創(chuàng)建消息的ID,這樣在以后的通信過程中可以使用該ID,這只有在引入動作值后才能在規(guī)劃系統(tǒng)中表達(dá)這樣的新知識。3.4.3基于規(guī)則(Rule-basedMedjahed17提出了基于本體的自動Web服務(wù)組合的框架,從高層聲明描述生成組合服務(wù)。組合方法包含4個概念獨立的階段:說明、匹配、選擇和生成。說明階段使用組合服務(wù)說明語言(Composite Service Specification Language,CSSL提供所需組合的高層描述。匹配階段使用組合規(guī)則生成滿足組合說明的組合規(guī)劃(plan。如果匹配階

21、段產(chǎn)生一個以上的規(guī)劃,則組合服務(wù)引擎將根據(jù)組合質(zhì)量(QoC參數(shù)選擇一個規(guī)劃(選擇階段。通過使用規(guī)劃,自動生成了(生成階段詳細(xì)的組合服務(wù)的描述。該方法中組合規(guī)則(composibility rule是核心概念,包括語法規(guī)則和語義規(guī)則。語法規(guī)則包括:模式可組合性與綁定可組合性。語義規(guī)則包括:消息可組合性操作語義可組合性質(zhì)量可組合性以及組合合理性。SWORD18使用基于規(guī)則的專家系統(tǒng)自動決定是否可以獲得組合服務(wù),但是沒有關(guān)注服務(wù)的可組合性以及語義描述。3.4.4 HTN層次任務(wù)網(wǎng)絡(luò)19(Hierarchical Task Network,HTN規(guī)劃法利用OWL-S作為Web服務(wù)的描述語言,通過任務(wù)分

22、解的方法來組合服務(wù)。與其他規(guī)劃方法不同的是,HTN的核心不是狀態(tài),而是任務(wù)。一個基于HTN的規(guī)劃系統(tǒng)將目標(biāo)任務(wù)分解為子任務(wù)的集合,這些子 任務(wù)再分解為更小的子任務(wù),一直循環(huán)這個過程,直到所有的子任務(wù)僅包含原子 Web 服務(wù), 即現(xiàn)有的 Web 服務(wù)。在每一輪任務(wù)的分解過程中,都會檢驗是否違反給定的條件(如子任 務(wù)數(shù)量不超過一定數(shù)目)。如果目標(biāo)任務(wù)在不違反任何給定的條件下,能夠被成功分解成原 子任務(wù)集合,則規(guī)劃問題成功求解5。 文獻(xiàn)20中使用 SHOP2 規(guī)劃器用于 Web 服務(wù)的自動組合。 SHOP2 是層次任務(wù)網(wǎng)絡(luò)規(guī)劃 器。HTN 規(guī)劃中的任務(wù)分解概念類似于 OWL-S 過程本體中的過程分解

23、的概念。文中認(rèn)為 HTN 規(guī)劃器比其他規(guī)劃語言更加有效,如 Golog。 3.4.5 自動機 自動 Web 服務(wù)組合是大多數(shù)組合成果的最終目標(biāo)。 Berardi21提出了一種將 Web 服務(wù)的 行為描述為執(zhí)行樹且將執(zhí)行樹翻譯為有限自動機(FSM)的框架。他們提出了一種算法檢測 是否存在組合服務(wù),如果存在則返回該組合服務(wù)。在該過程中,證明了組合是正確的,且給 出了計算復(fù)雜性,從而保證自動組合將會在有限步驟內(nèi)完成。 3.4.6 Petri 網(wǎng) Petri 網(wǎng)是一種過程建模的方法。Petri 網(wǎng)是包含位置(place)和變遷(transition)的有 向二分圖,變遷通常表示動作,用小矩形表示;位置

24、通常表示資源或條件,用圓圈表示。在 網(wǎng)的基礎(chǔ)上添加表示狀態(tài)信息的 token 分布,并按引發(fā)規(guī)則驅(qū)動狀態(tài)的變化,從而構(gòu)成可反 映系統(tǒng)動態(tài)運行過程的網(wǎng)系統(tǒng)。 通過將變遷賦值給方法以及將位置賦值給狀態(tài)的方法,可以將服務(wù)建模為 Petri 網(wǎng)。每 個服務(wù)都有相應(yīng)的描述其行為的 Petri 網(wǎng)且包含兩個端口:輸入位置和輸出位置。在給定時 間內(nèi),服務(wù)可以處于以下任何一種狀態(tài):not instantiated、ready、running、suspended 或 completed。在定義完每個服務(wù)的網(wǎng)之后,組合連接子可以執(zhí)行組合:順序、選擇、無序、 迭代和并行。這些連接子保證了閉包屬性。因此,通過組合 2

25、 個或 2 個以上的服務(wù),就能產(chǎn) 生新的服務(wù)。 在將組合指定為 Petri 網(wǎng)后,可以使用它來證明某些代數(shù)屬性,例如是否存在死鎖或活 鎖(組合是否會在有限數(shù)量的步驟之后終止)。正確的終止對于組合服務(wù)非常重要,通過確 定 Petri 網(wǎng)是否有限可以完成這樣的判斷。 劉必欣22在研究通用的基于業(yè)務(wù)流程的組合服務(wù)元模型的基礎(chǔ)上,采用 Petri 網(wǎng)的理論 與方法研究組合服務(wù)行為分析,提出了 Process-Net 用于刻畫組合服務(wù)運行時的行為。 基于 AI 規(guī)劃的服務(wù)組合方法能動態(tài)地生成 Web 服務(wù)組合方案、 動態(tài)地鏈接具體實現(xiàn)的 Web 服務(wù),能適應(yīng) Web 服務(wù)的動態(tài)變化,更能滿足業(yè)務(wù)不斷變化

26、的需要5。 4. 自動服務(wù)組合的模型 這里給出自動服務(wù)組合的模型用來說明服務(wù)組合的過程, 如圖 2 所示。 該模型是對服務(wù) 組合的高層抽象,不限制于具體的語言、方法和平臺,其中的組件以及組合過程借鑒了前面 所述的工作流和 AI 規(guī)劃的概念和技術(shù)。 -6- 組合質(zhì)量(QoC)參數(shù) 服務(wù)請求者 外部說明 內(nèi)部說明 組合方案 翻譯器 組合服務(wù) 引擎 服 務(wù) 說 明 選擇器 服務(wù)提供者 服務(wù)說明 組 合 服 務(wù) 執(zhí)行引擎 服務(wù)庫 圖 2 自動服務(wù)組合模型 這個組合系統(tǒng)中有兩類參與者:服務(wù)提供者和服務(wù)請求者。服務(wù)提供者發(fā)布可用的服 務(wù),而服務(wù)請求者消費和使用服務(wù)。該模型包括以下組件:翻譯器、組合服務(wù)引擎

27、、選擇器、 執(zhí)行引擎以及服務(wù)庫。 服務(wù)庫存儲服務(wù)提供者發(fā)布的服務(wù), 并為組合服務(wù)引擎提供各原子服 務(wù)的說明。翻譯器負(fù)責(zé)將參與者提供的外部語言(例如 WSDL 或 OWL-S 的 ServiceProfile) 翻譯為組合服務(wù)引擎能夠使用的內(nèi)部語言 (形式化語言, 如邏輯編程語言) 對于每個請求, 。 組合服務(wù)引擎使用服務(wù)庫中的可用服務(wù)生成組合方案以滿足請求。如果得到 1 個以上的方 案,選擇器將會根據(jù)組合服務(wù)質(zhì)量(Quality of Composition,QoC)的屬性評估所有的方案, 選出最佳方案(以過程模型表示,例如 BPEL4WS 或 OWL-S 的 ServiceModel)。執(zhí)行

28、引擎 執(zhí)行方案并將結(jié)果返回給服務(wù)請求者。 自動服務(wù)組合的過程包含以下階段: 單個服務(wù)的表示:首先,服務(wù)提供者將會在服務(wù)庫上發(fā)布原子服務(wù),而用于發(fā)布服務(wù)的 語言有 UDDI 和 OWL-S 的 ServiceProfile7。描述 Web 服務(wù)的基本屬性包括簽名、狀態(tài) 和非功能屬性。簽名通過服務(wù)的輸入、輸出和異常來表示,它提供了在 Web 服務(wù)執(zhí)行 期間有關(guān)數(shù)據(jù)轉(zhuǎn)換的信息。 狀態(tài)通過前提和結(jié)果來表示, 說明在當(dāng)前世界內(nèi)的狀態(tài)改變。 非功能屬性是一些用于評估服務(wù)的信息,例如代價、質(zhì)量和安全問題。 語言的翻譯: 大多數(shù)服務(wù)組合系統(tǒng)都會區(qū)分服務(wù)描述的外部和內(nèi)部語言。 服務(wù)參與者使 用外部語言提高服務(wù)的

29、可訪問性, 這樣他們能夠表示他們提供的以及需要的服務(wù)。 而內(nèi) 部語言由組合服務(wù)引擎使用,一般是更精確的形式化語言,如邏輯編程語言?,F(xiàn)在比較 常用的外部語言是 WSDL 和 OWL-S 的 ServiceProfile,而內(nèi)部表示有 Petri 網(wǎng)、狀態(tài)演 算等。 組合服務(wù)過程模型的生成: 服務(wù)請求者提出需求后, 組合服務(wù)引擎通過組合服務(wù)提供者 發(fā)布的原子服務(wù)來滿足需求。 組合服務(wù)引擎一般以服務(wù)的功能作為輸入, 以描述組合服 務(wù)的過程模型為輸出。過程模型包含原子服務(wù)的集合以及服務(wù)之間的控制流和數(shù)據(jù)流。 組合服務(wù)的評估和選擇:在開放環(huán)境下,可能存在許多服務(wù)具有類似功能的情況。因此 組合服務(wù)引擎可能

30、會生成不只一個滿足需求的組合服務(wù)。 在這種情況下, 選擇器就可以 使用組合服務(wù)質(zhì)量屬性(QoC)以及其他非功能屬性來評價組合服務(wù),選出最佳組合服 -7- 務(wù)。最佳組合服務(wù)可以用給定的過程模型(如 BPEL4WS 或 OWL-S 的 ServiceModel) 來表示,從而便于執(zhí)行引擎的調(diào)用和執(zhí)行。 組合服務(wù)的執(zhí)行:當(dāng)選出惟一的組合服務(wù)的過程后,執(zhí)行引擎就可以執(zhí)行該組合服務(wù)。 組合服務(wù)的執(zhí)行可以被看作是過程模型中消息傳遞的序列, 前一個服務(wù)的輸出將轉(zhuǎn)化作 為后續(xù)原子服務(wù)的輸入,從而形成了組合服務(wù)的數(shù)據(jù)流。 5. 小結(jié) Web 服務(wù)組合是 Web 服務(wù)領(lǐng)域中一個重要的發(fā)展方向,從上面的分析可以看出

31、,自動 的、動態(tài)的服務(wù)組合成為近年來研究的熱點。服務(wù)組合的方法多種多樣,但是大多都基于兩 類方法:工業(yè)上的基于工作流的方法以及語義網(wǎng)領(lǐng)域中基于 AI 規(guī)劃的方法。工作流的方法 多數(shù)用于請求已經(jīng)定義過程模型,但是自動程序需要找到原子服務(wù)以完成需求的情況中。 AI 規(guī)劃方法用于請求者沒有過程模型,但是有約束和偏好的集合的情況下。 工作流方法的主要問題在于正確性驗證上,因為它們?nèi)狈π问交f明和驗證機制。另 一方面,形式化的方法通常難以應(yīng)用于真實的企業(yè)環(huán)境,且面臨擴展性的問題,如果利用過 程演算和 Petri 網(wǎng)的形式化方法,則其在解決問題的復(fù)雜度上是一個比較難于克服的問題。 通過結(jié)合工作流和 AI

32、規(guī)劃思想,提出自動服務(wù)組合的模型來說明服務(wù)組合的過程。服 務(wù)庫存儲服務(wù)并提供服務(wù)接口, 翻譯器負(fù)責(zé)內(nèi)部和外部語言的轉(zhuǎn)換, 組合服務(wù)引擎將可用的 原子服務(wù)組合為所需的服務(wù), 選擇器根據(jù)一定的標(biāo)準(zhǔn)選擇最佳的組合服務(wù)方案, 執(zhí)行引擎負(fù) 責(zé)執(zhí)行最終的組合服務(wù)并將結(jié)果返回給用戶。 我們下一階段的工作將著重于研究基于語義的自動服務(wù)組合技術(shù)以及正確性驗證上。 參考文獻(xiàn) 1 Rao JinghaiSemantic Web Service Composition via Logic-based Program SynthesisDTrondheim: Norwegian University of Scienc

33、e and Technology 2 UDDIUniversal description, discovery and integration of business for the webEB/OLhttp :/ www. 3 Christensen E, Curbera F, et alWeb Services Description Language(WSDL)1.1EB/OLhttp:/www. /TR/wsdl,2001 4 Simple Object Access ProtocolEB/OL/TR/soap/ 5 李景霞

34、Web 服務(wù)組合綜述計算機應(yīng)用研究J,2005,12:4-7 6 Peer J Bringing Together Semantic Web and Web Services C Lecture Notes in Computer Science Archive Proceedings of the 1st International Semantic Web Conference on the Semantic Web Table of Contents, 279-291 7 Ankolekar A, Burstein M, Hobbs J R, et alDAML-S: Web Servi

35、ce Description for the Semantic Web C Proc. International Semantic Web Conference(ISWC),2002,348-363 8 姚晟基于語義 Web 的服務(wù)自動組合技術(shù)的研究D北京:中科院研究生院,2004 9 Sirin E, Hendler J, Parsia BSemi-automatic composition of Web Services Using Semantic Descriptions EB/OL/papers/composition.pdf 10 Ca

36、sati F, Sayal M and Shan M.-C. Developing e-services for composing e-servicesCProceedings of 13th Internatinal Conference on Advanced Information Systems Engineering(CAiSE),,2001,171-186 11 Casati F, Ilnicki S and Jin LAdaptive and dynamic service composition in EFlowCProceedings of 12th Internation

37、al Conference on Advanced Information Systems Engineering(CAiSE),2000 12 Aggarwal R, Verma K, et alDynamic Web Service Composition in METEOR-SEB/OLhttp:/lsdis. /lib/download/ieee-scc-2004.pdf, 2004 13 Schuster H, Georgakopoulos D, Cichochi A, et alModeling and composing service-based and r

38、eference process-based multi-enterprise processesCProceedings of 12th International Conference on Advanced Information Systems Engineering(CAiSE),2000 14 McIlraith S A, Son T C Adapting Golog for Composition of Semantic Web Services C Proceedings of 8th International Conference on Knowledge Represen

39、tation and Reasoning(KR2002),2002,482-293 -8- 15 Narayanan S and McIlraith Simulation, verification and automated composition of Web Service CProceedings of 11th International World Wide Web Conference,2002 16 McDermott D Estimated-regression planning for interactions with Web services C Proceedings

40、 of the 6th International Conference on AI Planning and Scheduling,2002 17 Medjahed B, Bouguettaya A, Elmagarmid A K Composing Web Services on the Semantic Web EB/OL /homes/ake/pub/composition_VLDBJ.pdf 18 Shankar R Ponnekanti, Armando FoxSWORD: A Developer Toolkit for Web Service Composition EB/OL /CDROM/alternate/786/ 19 Sirin E,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論