隨著服務導向架構(SOA)概念的興起,網路服務(Web
Service)已經成為企業之間相互合作與緊密結合最主要的技術。由於網路上存在各種可獲得的網路服務,並且提供重複且相同的功能,當我們要組合成一個複合的網路服務流程時,我們就必須決定哪些網路服務是最合適的。動態網路服務選擇即是決定一組被呼叫的網路服務,因而構成一個複合的網路服務流程。之前對於網路服務選擇的研究通常假設網路服務之間各操作(operation)的呼叫是互相獨立的。然而,這樣的假設與現實不符合,因為網路服務內的操作通常是具有一些順序來表達其商業邏輯。因此當我們要組合成一個複合的網路服務流程時,這樣的順序限制了網路服務的選擇。在本篇論文當中,我們提出利用有限狀態機
(FSM)來表達網路服務內操作的順序。並且,我們定義了一個衡量指標,叫做aggregated
reliability,來衡量當我們在複合網路服務流程當中的一個狀態時,從該狀態開始可以成功執行完成的機率,在這裡我們認定每一個被選擇的網路服務都有其執行失敗的機率。我們顯示,計算aggregated
reliability會等於計算特徵矩陣(eigenvector)。我們並提出了兩個選擇網路服務的策略,來讓成功執行完成的機率能夠最高。為了讓我們的研究應用在實際的環境,我們提出了將業界定義流程的語言BPEL轉成為抽象的有限狀態機。並且,我們實作一個雛形架構來實現我們提出的網路服務選擇機制。在實驗當中,我們產生了數個網路服務操作順序,實驗顯示我們的網路服務選擇策略比另外兩種直覺的策略更能達到較高的可靠度
(Reliability)。
|