首頁 php教程 PHP开发 WebService的簡介, 原理, 使用

WebService的簡介, 原理, 使用

Dec 15, 2016 pm 03:06 PM

第一部分 : 直觀概述


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的簡介請注意原理, 使用相關文章用相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)