第一部分 : 直觀概述
WebService 的幾個概念 :
以 HT 協定為基礎,透過客戶端和伺服器端點進行客戶端和伺服器端的關鍵架構
1. 服務端提供的功能 , 透過 xml 描述
2.
用圖可如下表示:
圖一: WebService的簡單表示採用這兩個技術的目的主要是 :
1. , 且大部分的主機和伺服器 (99.999%以上 ) 將支援 HTTP 協定。一般而言,不同目標主機之間的通信,需要透過防火牆,打開某個連接埠 , HTTP協定的優點在於,防火牆一般不會封掉 80 埠 , 這樣就可以方便,安全的通訊。
2. 跨語言 , 任何語言 , 都支援 XML 文字解析 , 這個的目的是為了實現不同語言之間的溝通,也就是 , Java 所發展的服務端,客戶端可用 C 存取 ,可以用 java , VB 等存取 , 反之亦然。
第二部分 : 基本原理與架構
當然, 架構比我們上面說到的圖要更為複雜,上面只是說明了以下溝通情況問題, 參考圖例說明 :
2. 客戶端 (Requester) 到註冊中心 (Registry) 拿到公司的基本資料之後 , 去找到這個公司 , 然後使用該公司提供的服務。
圖二: 基本的WebService架構流程圖 注意上面圖中的基本步驟的標號2 與 3. Requester 節點到 Regitry 節點查詢資訊 , 找到需要的 Provider 及其所提供的 Service
4. Requester 使用 Provider 基本上由這篇參考文獻翻譯而來 :
圖三: 細部步驟流程圖
上圖這些東西 , 完完整整的呈現了 WebService 一個服務,但不知道哪裡去叫 . 但知道 UDDI Registry 上可以查到。
2. 果然 UDDI 記錄了某個一個稱為 Web Server A 的伺服器才能提供這樣的服務。
3. 於是 Client 去 Web Server A, 詢問確切的呼叫方法。
4. Web Server A 看到 Client 提出的「確切方法查詢」之後, 立即返回給它一個 WSDL 描述的 xml 將這些 xml 的介面方法,封裝成為 HTTP 請求 , 發給 Web Server A. 這些封裝方式採用的是標準的 SOAP 方式 , 實質是滿足 HTTP 協定的一些 SOAP 的封包訊息。
6. Web Server A 回應的也是 HTTP 協定的 SOAP 包 . 因此雙方的請求 - 回應完全暢通。
上面我們看到的是應用原理圖 , 進一步深入 , 可以發現如下的協定架構圖 :
大的精力 , 介紹了發現 Service(UDDI), Service 提供的介面描述 (WSDL), 呼叫Service(SOAP), 以及傳送 (HTTP) 的的整個過程。因此不再做介紹。這個技術的核心是 SOAP. 第三部分 : 實踐 WebService
1. 透過 WebService 找到 WSDL 介面描述檔
3 . 透過工具,將步驟 2 所得到的 WSDL 文件,並產生一個 Client Stub, 這個實質上是代碼 , 也就是打了一個樁。把這個 stub 的程式碼歸併到 Client 程式中 .
圖五:實際應用中的呼叫
更多WebService的簡介請注意原理, 使用相關文章用相關文章!