隨著大規模網絡技術的發展,特別是網格計算技術的興起,極大地擴大了分布式系統的規模。網格是近年來逐漸興起的構建在Internet之上的一種新的計算模式,其目標是在分布式、異構、自治的網絡資源環境之上動態的構建虛擬組織,并在其內部實現跨自治域的資源共享與協作,滿足當前復雜應用對大規模計算能力和海量數據處理等需求。因此,如何在分布式計算環境(特別是網格計算環境)下對異構資源進行共享和管理,是一個亟待解決的問題。
近年來,Web服務技術已得到快速發展和應用,它采用可擴展標記語言XML定義一組Web服務協議棧,通過開放協議和標準提供了面向Internet應用的統一服務注冊、發現、綁定和集成機制,成為Internet環境下實現互操作性的一種主要機制。將Web服務技術引入網格研究領域,有助于解決網格研究所面臨的應用集成、資源共享、系統互操作和標準化等問題。但傳統的Web服務實現是無狀態的,客戶端發出請求并得到響應,然后斷開連接。然而在很多系統中,如機票預定系統、CPU管理系統和工作流系統,有一個共同的特點就是它們都需要提供一種方式,使得客戶端能夠訪問到系統內部的有狀態實體,獲取實體的屬性并管理它們的生命周期。這些需求促使了OGSI(Open Grid Services Infrastructure)的誕生,它把在網格計算環境下對狀態的建模和管理作為自己的首要目標。
Web服務資源框架(Web Services Resource Framework,WSRF)是對OGSI的重構與發展,它保留了OGSI的所有核心功能,并克服了OGSI的一些弊病:在一個協議中定義的內容太多、不能和現存的Web服務和XML工具很好的工作,等等。WSRF將OGSI定義的功能劃分進四個不同的協議中,這些協議共同解決了在Web服務框架中表示、抽象及管理資源狀態的問題。
WSRF ( Web Services Resource Framework ,Web服務資源框架)是在網格中開發的。在網格計算中工作被分成適合于在多個系統上處理的“單元”,該“工作”可以是計算、存儲或其他類型的處理。 單元被分布到多個客戶機。這個步驟通過讓客戶機請求或“pull”工作,或者讓中央服務器將工作“push”給可用的客戶機來完成。 總體進展、需求和狀態由中央系統或系統組維護。
當前的網格應用程序一般遵循這種模式,有一個中央系統與客戶機交互,這些客戶機位于那些一般在地理位置上與中央服務器分離的系統上。
既然多個客戶機在不同的地方,那么 Web 服務應該是網格計算順理成章的選擇。畢竟,它提供一種標準而容易的方法,以從一個系統到另一個系統獲得信息,而不用求助于特定于平臺或語言的方法,比如 CORBA、DCOM 或 Java-RMI。
然而,早期的網格應用程序使用其他更加不可移植的方法。但是為什么呢?
也許最貼切的是體系結構方面的原因。盡管網格應用程序可以在很多機器上實現,但它仍然是一個應用程序,因此很難與本質上是無狀態的體系結構相協調。當使用數據庫客戶機連接到一個數據庫時,您就保持了連接,并且可以插入記錄,然后再查看插入的結果。另一個客戶查看表時不會看到該記錄,除非您提交了事務,但是數據庫認識您的會話,并知道是您。
但是Web服務的工作方式不是這樣的。利用 Web 服務,您發出請求(比如插入一條記錄)并得到響應(比如插入成功),然后斷開連接。沒有正在進行的會話需要管理。例如 HTTP —在大多數情況下,Web服務通過HTTP傳輸—每個請求獨立于前一個請求,Web服務沒有訪問或使用任何不是當前輸入消息一部分的信息。
WSRF 的目標是通過創建“狀態”概念以及處理狀態的方法來解決該問題。
WSRF ( Web Services Resource Framework ,Web服務資源框架) 是在 Web 服務的無狀態環境中使用“有狀態”資源的一種方式,即在其中創建持久資源并通過Web服務來管理它,這種組合叫做 WS-Resource。這種有狀態資源實際上可以是任何東西,從數據庫到電子鼠標都是有狀態資源。實際上,可以使用 WSRF 來處理任何可以通過改變其屬性來操縱的東西。
WSRF 實際上是一系列協議,用于定義操縱有狀態資源的標準的“消息模式”或方法,以請求屬性的值或者指定這些屬性應該變更。更確切的說,WSRF 定義一些標準操作,以處理關于處理 WS-Resources 的各個方面,比如處理它們的屬性,從而將它們成組在一起,以達到諸如這樣的目的--進行身份驗證,確保它們被及時地銷毀等。
WSRF 定義這些操作的方法是,定義了描述這些操作的 WSDL 文件的結構,指定它們應該如何出現在 Web 服務描述語言(Web Services Description Language,WSDL)文件中。WSDL 文件定義 Web 服務會話兩端之間傳輸的消息,所以通過定義 WSDL 文件,WSRF 定義了發生的任何交互的形式。該 WSDL 文件然后可以被任何語言的實現所使用。
2001年,Ian Foster提出了開放的網格服務體系結構OGSA[17,18] (Open Grid Service Architecture),確定了Web服務作為網格資源的新的抽象形式和構造基礎。在2003年3月的GGF[19]上,OGSA已確定為網格研究的主流方向。OGSA是一個面向服務的體系結構,采用服務作為資源的統一封裝和互操作形式,通過定義標準的網格協議使網格成為一個開放系統。
開放網格服務基礎結構(OGSI)是OGSA的基本組件。這是一項基于新興的Web Services標準的網格軟件基礎結構標準化工作,用于為OGSA軟件組件提供最大的互操作性。其根本出發點是通過將關鍵的網格技術與Web服務技術集成起來,形成一個分布式系統框架,通過一種Grid Service來實現兩者的結合。
Web服務支持者認為OGSI有如下4個不利于其發展的弊病:(1)在一個協議中包含了過多的內容,協議對不同內容的規定詳細程度也各不相同,使得協議的實現難于搭建;(2)由于過多的使用XML Schema及其擴展,OGSI與現有的Web服務和XML工具不能很好的聯系起來;(3)在編程模式的設計上過于面向對象化,要求Web Service對象一樣能夠支持實例內部狀態的維護,這一點得不到Web服務技術擁護者的支持,同時也難于在基于HTTP的Web上實現;(4)對WSDL做了過多的擴展,使得OGSI難以無縫集成到以WSDL為基礎的Web服務協議棧之中,使OGSI與Web服務不能很好地結合在一起。
2004年1月,IBM、Globus聯盟和HP共同提出了WSRF協議,它是對OGSI的重構和發展,保留了OGSI的核心功能并解決了上述弊病。經過兩年多的發展,2006年4月1日,WSRF1.2 成為了OASIS的標準。
WSRF的目標是定義一個通用、開放的框架,使用Web服務技術對有狀態資源進行建模和尋址。它定義了如何表示、訪問、管理有狀態資源(WS-Resource)以及如何將資源進行群組。其中最核心的概念是WS-Resource,它是“靜態”Web服務和相關有狀態資源的組合,能夠通過隱式資源模式(implied resource pattern[20])進行尋址和訪問。WS-Addressing[21]協議的提出,極大地促進了WSRF的發展,它解決了有狀態資源的尋址問題,提出了一種傳輸中立(transport-neutral)、面向服務(service-oriented)的機制對動態且有狀態的資源進行尋址。WSRF協議包含一系列子協議,旨在解決有狀態Web服務的運行、管理和通信問題。
Author: orangelizq
email: orangelizq@163.com
posted on 2009-07-19 15:38
桔子汁 閱讀(1261)
評論(0) 編輯 收藏 所屬分類:
Web Service