首頁 > php教程 > PHP开发 > 主體

WebService的簡介, 原理, 使用

高洛峰
發布: 2016-12-15 15:06:54
原創
1048 人瀏覽過

第一部分 : 直觀概述


WebService 的幾個概念 :

 

以 HT 協定為基礎,透過客戶端和伺服器端點進行客戶端和伺服器端的關鍵架構 

1.       服務端提供的功能 , 透過 xml 描述

2.         

用圖可如下表示:

圖一: WebService的簡單表示

 

WebService的簡介, 原理, 使用 採用這兩個技術的目的主要是 :

1.   , 且大部分的主機和伺服器 (99.999%以上 ) 將支援 HTTP 協定。一般而言,不同目標主機之間的通信,需要透過防火牆,打開某個連接埠 , HTTP協定的優點在於,防火牆一般不會封掉 80 埠 , 這樣就可以方便,安全的通訊。

 

2.       跨語言 , 任何語言 , 都支援 XML 文字解析 , 這個的目的是為了實現不同語言之間的溝通,也就是 , Java 所發展的服務端,客戶端可用 C 存取 ,可以用 java , VB 等存取 , 反之亦然。

 

 第二部分 : 基本原理與架構 

當然, 架構比我們上面說到的圖要更為複雜,上面只是說明了以下溝通情況問題, 參考圖例說明 :

1. 伺服器端 (Provider) 提供統一的標準化服務。 就像開設一個公司 ( 即 Server Provider), 工商行政管理局,並註冊一下公司地址和性質。 目的是 , 別人要用公司的服務,從工商管理局就知道你的地址。這樣統一的做法,是方便所有的公司以及所有需要公司提供服務的客戶。 且這些資訊是最大限度的公開。


 

2. 客戶端 (Requester) 到註冊中心 (Registry) 拿到公司的基本資料之後 , 去找到這個公司 , 然後使用該公司提供的服務。

圖二: 基本的WebService架構流程圖

 

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的簡介, 原理, 使用

第三部分 : 實踐 WebService


看到上面的圖那麼複雜 , 變遷的 HTML 腳本 ,有很多工具可以幫助我們實現。事實上,開發起來還是相當簡單的。

情況 A: 已知存在 Web Service, 客戶端的開發可以透過以下步驟 :


 

1.            透過 WebService 找到 WSDL 介面描述檔

3 .        透過工具,將步驟 2 所得到的 WSDL 文件,並產生一個 Client Stub, 這個實質上是代碼 , 也就是打了一個樁。把這個 stub 的程式碼歸併到 Client 程式中 .

4.        每次 Client 需要調用 WebService 的時候,而直接呼叫端  生成的對接Stu卷

 

情況 B: Server 端的開發,同樣無需做解析 SOAP 這樣的破事,框架會幫我們做好。一般步驟如下 :

1 .        實現 WebServer .        實現 WebServer . Web Server 的Service Implementation (實現代碼)。當 Service Implementation 的程式碼處理完,產生結果之後,又會把結果交給 Server Stub, 然後 Server Stub 可以產生一個 SOAP 的回應 . Server Stub + Server Implementation 合在一起讓寄到 WebService 的 HTTP 請求,直接送到 Server Stub 上面的。

 

圖五:實際應用中的呼叫

更多WebService的簡介請注意原理, 使用相關文章用相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!