01.SOAP/WSDL



SOAP


簡單物件存取協定 (SOAP,全寫為Simple Object Access Protocol)用於Web服務(web service)中。
SOAP once stood for 'Simple Object Access Protocol' but this acronym was dropped with Version 1.2 of the standard.[1] Version 1.2 became a W3C recommendation on June 24, 2003. The acronym is sometimes confused with SOA, or Service-oriented architecture; however SOAP is quite different from SOA.
  • 簡 化 Web Server 在從 XML DB 中提取資料時,無需花時間去格式化頁面
  • 讓不同應用程式之間透過 HTTP 通訊協定,以XML格式互相交換彼此的資料,使其與程式語言、平台和硬體無關。
  • 2000年提交給全球資訊網聯盟World Wide Web Consortium;W3C),目前 SOAP 1.1 版是業界共同的標準,屬於第二代的XML協定。
“RPC/messaging through XML”
RPC (Romote Procedure Call, SOAP 以 XML 作為媒介,為分散式環境下的程式和系統之間,提供了一套簡單的訊息傳呼協定。
知名的 RPC 機制包括了 CORBA、Java RMI,及 MS-COM。 Java RMI 是 J2EE 及其主角 EJB (Enterprise Java Beans) 框架的重要基礎科技;

SOAP的架構為:Envelope、Header、Body,和Fault四個部份;

多層 式 (n-tier) 運算架構 - Java EE


WSDL


WSDL描述 Web 服務的 Public Interface。
這是一個基於XML的關於如何與Web服務通訊和 使用的服務描述;也就是描述與目錄中列出的Web服務進行交互時需要 綁定的協議和信息格式。通常採用抽象語言描述該服務支持的操作和信息,使用的時候再將實際的網絡協議和信息格式綁定給該服務。
WSDL描述Web 服務的公共介面。這是一個基於XML的關於如何與Web服務通訊和使用的服務描述;也就是描述與目錄中列出的Web服務進行交互時需要 綁定的協議和信息格式。通常採用抽象語言描述該服務支持的操作和信息,使用的時候再將實際的網路協議和信息格式綁定給該服務。


WSDL
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>

<xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="return" type="xs:int"/>




UDDI(非 必要性)


UDDI, Universal Description, Discovery, and Integration
堆 疊(Stack)於完整的 Web 服務協議 Stack 之內,而且是協議協議 Stack 基礎的主要組件之一,支持創建、說明、發現和調用 Web 服務。 

UDDI 構建於網絡傳輸層和基 於 SOAP 的 XML 消息傳輸層之上。諸如 Web 服務描述語言 (Web Services Description Language,WSDL)之類的服務描述語言提供了統一的 XML 詞彙(與交互式數據語言 (Interactive Data Language,IDL)類似)供描述 Web 服務及其接口使用。您可以通過添加分層的功能搭起整個基礎,比如 使用 Web 服務流程語言(Web Services Flow Language,WSFL)的 Web 服務工作流描述、安全性、管理和服務質量功 能,從而解決系統可靠性和可用性問題。

UDDI 的分層 Web 服務協議棧 (圖來源- IBM DeveloperWork)
UDDI 的分层 Web 服务协议栈



Comments