SOA的使用的關鍵技術XML/SOAP/UDDI/ESB

SOA的使用的關鍵技術XML/SOAP/UDDI/ESB

要實施SOA,首先要了解實現SOA所需要的相關技術,其中涉及的主要技術包括以下幾個:XML、SOAP 、WSDL、UDDI和ESB。

1. XML
  XML 1.0 (可擴展標記語言,Extensible Markup Language) 標準是一個基於文本的 World Wide Web 組織 (W3C) 規範的標記語言。與 HTML 使用標籤來描述外觀和數據不同,XML 嚴格地定義了可移植的結構化數據。它可以作爲定義數據描述語言的語言,如標記語法或詞彙、交換格式和通信協議。

2. SOAP
  簡單對象訪問協議 (Simple Object Access Protocol) 是一個基於XML的,用於在分佈式環境下交換信息的輕量級協議。SOAP 在請求者和提供者對象之間定義了一個通信協議,這樣,在面向對象編程流行的環境中,該請求對象可以在提供的對象上執行遠程方法調用。因爲SOAP是平臺無關和廠商無關的標準,因此儘管SOA並不必須使用SOAP,但在帶有單獨 IT基礎架構的合作伙伴之間的鬆耦合互操作中,SOAP仍然是支持服務調用的最好方法。
  W3C SOAP 1.2規範在服務請求者和服務提供者之間定義使用XML格式的消息進行通信。將應用程序請求(在XML中)放入 SOAP 信封中(也是 XML ),並從請求者到提供者發送應用程序請求,提供者發回的響應也採用相同的形式。最近 SOAP 被稱爲面向服務的架構協議 (Services-Oriented Architecture Protocol)。
  SOAP的優點在於它完全和廠商無關,相對於平臺、操作系統、目標模型和編程語言可以獨立實現。另外,傳輸和語言綁定以及數據編碼的參數選擇都是由實現決定的。

3. WSDL
  Web服務描述語言 WSDL (Web Services Description Language) 是一個提供描述服務IDL標準方法的XML詞彙。Web 服務描述語言(WSDL)規範定義了一個 XML詞彙表,該詞彙表依照請求和響應消息,在服務請求者和服務提供者之間定義了一種契約。我們能夠將Web服務定義爲軟件,這個軟件通過描述SOAP消息接口的 WSDL文檔來提供可重用的應用程序功能,並使用標準的傳輸協議來進行傳遞。
WSDL描述包含必要的細節,以便服務請求者能夠使用特定服務:
  請求消息格式
  響應消息格式
  向何處發送消息。
  WSDL 是基於 XML 的,因此 WSDL 文檔是計算機可讀的(machine-readable)。這樣開發環境使用WSDL將集成服務的流程自動處理到請求者應用程序。例如 WebSphere Studio產生一個Java的代理對象,它能夠像本地對象一樣實現服務,但是實際上代理對象僅僅處理請求的創建和響應消息的解析。不管服務是否用Java、C#或者其他的語言實現,生成的Java代理對象都能夠從WSDL描述中調用任何的Web服務。實際上,WSDL不能像編程語言那樣描述實現細節。

4. UDDI
  統一描述、發現和集成 (Universal Description, Discovery and Integration) 規範提供了一組公用的 SOAP API,使得服務代理得以實現。UDDI爲發佈服務的可用性和發現所需服務定義了一個標準接口(基於 SOAP 消息)。UDDI 實現將發佈和發現服務的 SOAP 請求解釋爲用於基本數據存儲的數據管理功能調用。
  爲了發佈和發現其他SOA服務,UDDI 通過定義標準的 SOAP 消息來實現服務註冊(Service Registry)。註冊是一種服務代理,它是在 UDDI 上需要發現服務的請求者和發佈服務的提供者之間的中介。一旦請求者決定使用特定的服務,開發者通常藉助於開發工具(如Microsoft Visual Studio .NET)並通過創建以發送請求並處理響應的方式訪問服務的代碼來綁定服務。
  SOA不需要使用UDDI,但由於 UDDI 是建立在SOA上來完成自身工作的,所以UDDI是服務發現的一個好的解決方案。


5. ESB
  企業服務總線ESB(Enterprise Service Bus)是SOA架構的一個支柱技術。 作爲一種消息代理架構它提供消息隊列系統,使用諸如SOAP或JMS (Java Message Service)等標準技術來實現。
  
  有人把ESB描述成一種開放的、基於標準的消息機制,通過簡單的標準適配器和接口,來完成粗粒度應用(比如服務)和其他組件之間的互操作。
  ESB的主要功能有:通信和消息處理、服務交互和安全性控制、服務質量和服務級別管理、建模、管理和自治、基礎架構智能等。-

文章出處:http://www.diybl.com/course/3_program/java/javajs/2008531/118297.html
發佈了101 篇原創文章 · 獲贊 4 · 訪問量 53萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章