Web服務涉及的主要技術

導讀:


  Web服務涉及的主要技術

  今天在Web 服務的領域中有許多活動。我們經常看到的是一系列相關標準的快速發展與成熟,它們定義了Web服務的基本結構及Web服務支持開發的開發工具。WSDL,SOAP,UDDI 和XML 是這些衆多選擇中的幾個。它們傾向於在一個面向服務的非集中、分佈式的環境中描述、展示、發現和綁定Web服務。前三個標準支持面向服務環境的基本活動,即發佈、終止服務,更新、發現和調用。Web Services

  及其各種協調過程都採用XML的技術作爲核心。在應用服務器之後,XML 格式的消息被轉變成中間件的請求,返回的結果也會轉化成XML 格式。有了XML作爲核心技術,各種網站提供的服務都不再侷限於一些花花綠綠的頁面,而是可以進行編程調用的Web Services。

  ◎

  Web服務描述語言(WSDL)

  WSDL

  是Microsoft公司的SDL(Services Description Language) 和IBM 公司的NASSL(Network- Accessible Services Specification Language)結合並被W3C接納後形成的標準。

  WSDL 爲服務提供者提供了以XML格式描述Web Services 請求基本格式的標準方法。WSDL 用來描述一個WebServices 能做什麼,它的位置在哪裏,如何調用它等。UDDI註冊描述了Web Services 的絕大多數方面,包括服務綁定的細節。WSDL 可以看作是UDDI 服務描述的子集。

  WSDL 將服務定義爲一個相關網絡端點(即端口)的集合。在WSDL裏面,端點及消息的抽象定義與它們具體的網絡實現和數據格式綁定是分離的。這樣就可以重用這些抽象定義:消息、需要交換的數據的抽象描述、端口類型、操作的抽象集合。針對一個特定端口類型的具體協議和數據格式規範構成一個可重用的綁定。一個端口定義成網絡地址和可重用綁定的聯接,端口的集合定義爲服務。因此一個WSDL文檔在定義網絡服務的時候使用如下面七個基本要素:

  類型——使用某種的類型系統(比如XSD)來定義數據類型的容器;

  (2) 消息——用於通信的數據的抽象、有類型的定義;

  (3) 操作——服務支持的動作的抽象描述;

  (4) 端口類型——系列操作的抽象集合,這些操作由一個或多個端點支持;

  (5) 綁定——針對一個特定端口類型的具體的協議和數據格式規範;

  (6) 端口——個單一的端點,定義成一個綁定和一個網絡地址的聯接;

  (7) 服務——相關的端點的集合。

  WSDL 給客戶提供了一個模板,方便他們描述和綁定所需要的服務。IBM 和Microsoft分別提供的WSTK 和

  .Net Studio 開發工具可以直接由服務組件生成WSDL,也可以由WSDL 方便的生成客戶端的Stub,服務請求端可以直接調用生成的Stub 訪問服務提供組件。這些工具屏蔽了WSDL 的具體技術細節,給Webservice 的訪問帶來巨大的便利。

  ◎簡單對象訪問協議(SOAP)

  SOAP是在Internet上發送消息和進行遠程過程調用的標準。它獨立於編程語言、對象模型、操作系統和平臺。它用HTTP作傳輸協議用XML作數據編碼,同時可能還會用到像FTP、SMTP、和原始的TCP/IP sockets。

  SOAP定義了兩種消息,請求與應答以允許服務請求者請求一個遠程過程,服務提供者響應這個請求。一個SOAP消息由兩部分組成,一個頭和一個XML載荷。頭與傳輸層不同,但XML載荷相同。SOAP的XML部分主要由下面三部分組成:

  ·外包上定義了可供其它SOAP消息使用的各種命名空間。

  ·頭部是可選元素,它用來承載像認證,交易、付費這樣的附加信息。SOAP處理鏈中的任何一個元素都可以從頭中加入或刪除一些項目;如果有些項目不能識別各元素也會將它們忽略。如果一個頭是當前頭那麼它必須是這個包的第一個孩子。

  ·消息體是消息的主要載荷。當SOAP進行RPC時,消息體包含了一個元素,這個元素中有方法名、自變量和Web服務目標地址。如果一個頭是當前頭消息體必須是它的同屬;否則它必須是包的第一個孩子。

  SOAP 是一個協議規範,不僅定義了傳遞XML- encoded 數據時的統一方式,還定義了使用HTTP 作爲底層通信協議時執行遠程調用(RPC)的方法。它以XML格式發送消息有很多好處,如完全的與提供商的無關性,允許獨立於操作系統、對象模型和編程語言的實現,這樣能夠確保互用性,儘管需要付出解析和序列化XML 文檔的代價。

  SOAP 是SOA 架構實現的線纜級協議,它定義了服務請求對象和服務提供對象之間的消息協議,實現了Web Services 之間的消息交換。因此,服務請求對象可以以面向對象的方式執行服務提供對象的遠端方法。

  SOAP 是SOA 中分佈式對象通信的基礎,因此,儘管SOA 沒有定義相應的消息協議,SOAP 由於其在SOA 實現中的通用性而被稱爲協議(Services - Oriented Architect ure Protocol) 。



本文轉自

http://soa.5d6d.com/redirect.php?fid=4&tid=101&goto=nextnewset
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章