GXA特性
幾年來使用Web服務的現實的經驗顯示,大多數的應用程序在大范圍的應用領域中實現重復性任務。像安全性和報文路由選擇等問題為許多(雖然不是所有)分布式企業級應用程序所共有。因此,它們最好是通過專門的線級協議來解決,而不是每個應用程序單獨的進行。
比方說,1998年當SOAP第一次被引入的時候,它是第一個用於遠程過程調用的基於XML的協議。任何對通過Web使用遠程過程調用的人都必須學習如何編寫原始的SOAP代碼。現在,SOAP被看作是一類指定平台類庫抽象出來的低級驅動程序,埋沒於用於Web服務的Web服務器基本結構中。這種基本結構的例子就是微軟。NET平台中的ASP.Net和apache源碼開放領域中的Axis.在這兩種情況中,你都能夠使用面向對象模式代替處理原始SOAP負載來創建或使用Web服務。
你現在必須通過一遍又一遍的編寫類似風格的代碼片段,來確保你自己的Web服務的安全性。你還要負責把SOAP消息從最初的發送者處發送給最終的接收者,這其中可能會經過一連串的中間環節。
GXA試圖使用通用的且好理解的語法和語義定義基於SOAP的協議,以便處理安全性、消息路由選擇等問題。參與開發GXA擴展基礎結構的公司們有一天也可能會把這些協議的細節嵌入某種虛擬機中。
用於構建應用程序的擴展
GXA的官方定義是一個協議平台,實現用於構建基於Web服務的應用程序的SOAP擴展。這一系列擴展包括Web服務安全(WS-Security)、Web服務路由(WS-Routing),並增強對事務協作、可靠的消息傳送、元數據等的支持。
WS-Security是一套標准的SOAP擴展,可被用於實現Web服務中的數據完整性和保密性。它的目標是允許應用程序安全地交換SOAP消息,通過整合SOAP模式中的特殊擴展來處理編碼和證書。
WS-Routing是一個無狀態協議,用於使用TCP和HTTP這樣的傳輸方式異步地路由SOAP消息。構成這些不同協議的頭可以被組成一個豐富的上下文,用於可能帶有附件的消息。
WS-Attachments(Web服務附件)和Direct Internet Message Encapsulation(DIME,直接因特網消息封裝)也被GXA包括在內,並且GXA中的許多規范正在繼續開發中。DIME是一個輕量級二進制消息格式,可用於把任意類型和大小的一個或多個由應用程序定義的有效負載封裝到單個消息構造中。每個有效負載用一個類型、一個長度和一個可選的標識符來描述。同時支持 URI和 MIME媒體類型構造作為類型標識符。
微軟目前支持一個用於。NET Web服務的指定WS-Security擴展;IBM則在用於Web服務的WebSphere SDK5.0中支持指定WS-Security的擴展。雖然WS-Routing規范使用了SOAP中構建的一個中介體(intermediary)的概念,但是微軟和IBM還沒有支持WS-Routing. GXA 和安全性
過去兩年來,Web 服務持續增長,要求有一種適於 Web 服務的綜合安全模型的呼聲也越來越高,WS-Security規范,在解決這一需求方面邁出了第一步。
WS-Security 定義了一套標准的簡單對象訪問協議 (SOAP) 擴展或消息標題,可用於在 Web 服務應用程序中實現完整性和機密性。WS-Security 提供了一種標准的機制,以便在 Web 服務環境中交換安全的、帶有簽名的消息;並提供了一個重要的基礎層,以便於開發人員建立更安全、更廣泛互操作的 Web 服務。
各種組織可以根據需要將這些新規范集成到其 Web 服務應用程序的不同層級。其他建議的規范包括:
WS-Policy、WS-Trust 和 WS-Privacy:WS-Policy 定義如何表述安全策略的功能和限制;WS-Trust 介紹用於建立直接和間接信任關系(包括第三方和中間商)的模型;WS-Privacy 定義 Web 服務如何規定和實施保密措施。
WS-Secure Conversation、WS-Federation 和 WS-Authorization:WS-Secure Conversation 介紹如何管理和驗證雙方的消息交換,包括安全上下文交換以及建立和派生會話密鑰;WS-Federation 介紹如何管理和協調異類聯合環境中的信任關系,包括對聯合標識的支持;WS-Authorization 定義 Web 服務如何管理授權數據和策略。