資源描述:
《基于接口匹配和選擇機制的web服務動態(tài)組合》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、http://www.paper.edu.cn基于接口匹配和選擇機制的Web服務動態(tài)組合倪月芳河海大學計算及及信息工程學院,南京(210098)E-mail:moon820930@hotmail.com摘要:通過把服務抽象為具有輸入輸出接口的實體,本文提出了基于接口匹配的Web服務組合方法。它能夠?qū)崿F(xiàn)在現(xiàn)有服務描述標準基礎上自動、動態(tài)發(fā)現(xiàn)潛在的Web服務交互?;诮涌谄ヅ溥M行Web服務組合的過程,就是根據(jù)操作的輸入輸出參數(shù),找出存在的消息依賴關系的過程。另外消息的依賴關系可能是一對多的,所以又引入了選擇機制。關鍵詞:接
2、口匹配,選擇機制,Web服務組合1.引言隨著Web服務技術、規(guī)范的發(fā)展,越來越多的企業(yè)將自己的業(yè)務能力包裝成Web服務發(fā)布。但是,單個Web服務的功能有限,難以滿足企業(yè)級應用的流程集成需要。Web服務組合能把相對簡單的Web服務,按業(yè)務流程邏輯組合起來,從而提供更強大,更完整的業(yè)務功能。目前,Web服務組合是工業(yè)界和學術界研究的熱點問題。盡管當前的技術為構(gòu)建組合服務提供了基礎條件,但仍然存在著一些問題需要解決。首先,構(gòu)建組合Web服務仍然需要大量耗時的手工編碼,也即大量低層次的編程操作。由于組[1]合服務的構(gòu)件可以是異
3、構(gòu)的,分布的,獨立存在的,因此服務的組合需要一個高層次的方式。其次,參與服務組合的單個服務數(shù)量是巨大的,并且是實時變化的。因此,要求服務組[2]合者在服務定義時便能明確,理解,并建立服務組件間的通訊的方法,是不恰當?shù)?。再次,盡管構(gòu)成組合服務的各個組件可以是分布的,但現(xiàn)有的技術通常都是采用中央控制點原理。由于服務的高度分布性質(zhì),以及大量的網(wǎng)絡節(jié)點都可以對服務進行操作,我們相信,拓展服務的可擴展性,對服務進行完全的分散操作將變的越來越重要。2.接口描述語言WSDLWeb服務組合問題的關鍵是如何以最少的人工參與來提供組合服務
4、。組合服務是由多個基本服務組成的,在其執(zhí)行過程中,數(shù)據(jù)在各個基本服務之間傳遞,一個服務輸出的數(shù)據(jù)作為另一個服務的輸入。因此,服務之間由于所需要訪問的數(shù)據(jù)而產(chǎn)生約束關系,這為Web服務組合提供了新的思路。服務的接口定義了服務之間的數(shù)據(jù)流信息,通過把Web服務抽象為具有輸入輸出接口的實體,其接口的參數(shù)反映了Web服務操作的輸入輸出數(shù)據(jù)流,數(shù)據(jù)流則又反映了服務之間的消息依賴關系。因此,計算服務接口之間的相似程度,找出潛在的消息依賴關系,就能自動、動態(tài)的發(fā)現(xiàn)潛在的Web服務,從而實現(xiàn)Web服務自動組合。WSDL是當前Web服務
5、接口描述語言的標準,各種業(yè)務流程建模語言,諸如BPEL和WSCI等,都是建立在WSDL的基礎上。WSDL定義了一套基于XML的語法,將Web服務描述為能夠進行消息交換的服務訪問點或端口(port)的集合。在WSDL中,服務訪問點和消息的抽象定義,從具體的服務部署或數(shù)據(jù)格式邦定中分離出來。消息是指對所交換數(shù)據(jù)的抽象描述;而端口類型是指操作的抽象集合。用于特定端口類型的具體協(xié)議和數(shù)據(jù)格式規(guī)范,構(gòu)成了可以再次使用的綁定。將Web訪問地址與可再次使用的綁定相關聯(lián),可以定義一個端口,而端口的集合則定義為服務。Web服務提供的功能
6、是通過調(diào)用其中的操作來完成的,兩個操作,當源操作的消息類型與目的操作的消息類型相匹配時,這兩個操作可以順序執(zhí)行。這個約束限制了服務之間可能-1-http://www.paper.edu.cn的連接,也為操作的組合提供了新的思路。每個Web服務有一個與之相關聯(lián)的WSDL文檔,描述服務的功能和接口。每個服務包含了一系列的操作,每個操作有一個名字和相對應的操作的輸入和輸出參數(shù)。WSDL文檔對每個參數(shù)的名字和數(shù)據(jù)類型都做了描述。如果能根據(jù)目的服務操作的輸入輸出消息,找出潛在的消息依賴關系,那么就可以實現(xiàn)目的組合Web服務。因此
7、,基于接口匹配進行Web服務組合的過程,就是根據(jù)操作的輸入輸出參數(shù),找出存在的消息依賴關系的過程。另外消息的依賴關系可能是一對多的,所以又引入了選擇機制。3.服務動態(tài)選擇組合由于分布在網(wǎng)絡上的服務都是動態(tài)的,獨立存在的。因此我們要求每個服務,不管是簡單服務還是組合服務,都必須提供一個基于SOAP和WSDL的程序接口。針對基于接口匹配和選擇服務機制,我們提出了兩個重要的概念:組合服務和服務容器。3.1組合服務組合服務類似于一個傘狀框架,它把其他組合服務和簡單服務接合在一起,來協(xié)同完成一組操作。簡單服務是一個基于網(wǎng)絡的應用
8、程序,它不依賴于其他Web服務來完成外部請求。例如,一個通過SOAP來交換信息的氣象信息站點。相反,組合服務集合了多種構(gòu)件服務。例如,一個旅行輔助服務它包含了一個訂票服務和預訂房間服務。[3]組合服務運作的業(yè)務邏輯就相當于一個狀態(tài)轉(zhuǎn)換圖。它包含了對構(gòu)件服務的一系列調(diào)用。對操作的調(diào)用用狀態(tài)轉(zhuǎn)換圖的方式進行編碼有以下一些好處:首先狀態(tài)