當前位置:
首頁 > 最新 > WebService三要素之SOAP協議

WebService三要素之SOAP協議

對於應用程序開發來說,使程序之間進行網際網路通信是很重要的。目前的應用程序通過使用遠程過程調用(RPC)在諸如 DCOM 與 CORBA 等對象之間進行通信,但是 HTTP 不是為此設計的。RPC 會產生兼容性以及安全問題;防火牆和代理伺服器通常會阻止此類流量。通過 HTTP 在應用程序間通信是更好的方法,因為 HTTP 得到了所有的網際網路瀏覽器及伺服器的支持。SOAP 就是被創造出來完成這個任務的。SOAP 提供了一種標準的方法,使得運行在不同的操作系統並使用不同的技術和編程語言的應用程序可以互相進行通信。

SOAP協議的定義

SOAP協議,全稱Simple Object Access Protocol,中文名為簡單對象訪問協議。是一種輕量的、簡單的、基於XML(標準通用標記語言下的一個子集)的協議,它被設計成在WEB上交換結構化的和固化的信息。

組成部分

SOAP封裝(envelop),它定義了一個框架,描述消息中的內容是什麼,是誰發送的,誰應當接受並處理它以及如何處理它們;

SOAP編碼規則(encoding rules),它定義了一種序列化機制,用於表示應用程序需要使用的數據類型的實例;

SOAP RPC表示(RPC representation),它定了一個協定,用於表示遠程過程調用和應答;

SOAP綁定(binding),它定義了SOAP使用哪種協議交換信息。使用HTTP/TCP/UDP協議都可以。

把SOAP綁定到HTTP提供了同時利用SOAP的樣式和分散的靈活性的特點以及HTTP的豐富的特徵庫的優點。在HTTP上傳送SOAP並不是說SOAP會覆蓋現有的HTTP語義,而是HTTP上的SOAP語義會自然的映射到HTTP語義。在使用HTTP作為協議綁定的場合中,RPC請求映射到HTTP請求上,而RPC應答映射到HTTP應答。然而,在RPC上使用SOAP並不僅限於HTTP協議綁定。

SOAP協議優點

一、可擴展的。SOAP 無需中斷已有的應用程序, SOAP 客戶端、 伺服器和協議自身都能發展。而且SOAP 能極好地支持中間介質和層次化的體系結構。

二、簡單的。客戶端發送一個請求,調用相應的對象, 然後伺服器返回結果。這些消息是XML 格式的,並且封裝成符合HTTP 協議的消息。因此,它符合任何路由器、 防火牆或代理伺服器的要求。

三、完全和廠商無關。SOAP可以相對於平台、 操作系統、 目標模型和編程語言獨立實現。另外,傳輸和語言綁定以及數據編碼的參數選擇都是由具體的實現決定的。

四、與編程語言無關。SOAP 可以使用任何語言來完成,只要客戶端發送正確SOAP 請求( 也就是說, 傳遞一個合適的參數給一個實際的遠端伺服器)。SOAP 沒有對象模型,應用程序可以捆綁在任何對象模型中。

五、與平台無關。SOAP 可以在任何操作系統中無需改動正常運行。

SOAP採用了已經廣泛使用的兩個協議:HTTP 和XML(標準通用標記語言下的一個子集)。HTTP用於實現 SOAP 的RPC 風格的傳輸, 而XML 是它的編碼模式。採用幾行代碼和一個XML 解析器, HTTP 伺服器( MS 的 IIS 或 Apache) 立刻成為SOAP 的 ORBS。SOAP 通訊協議使用 HTTP 來發送XML 格式的信息。HTTP與RPC 的協議很相似,它簡單、 配置廣泛,並且對防火牆比其它協議更容易發揮作用。HTTP 請求一般由 Web 伺服器軟體(如 IIS 和Apache)來處理, 但越來越多的應用伺服器產品正在支持HTTP。XML 作為一個更好的網路數據表達方式( NDR)。SOAP 把 XML 的使用代碼化為請求和響應參數編碼模式, 並用HTTP 作傳輸。具體地講, 一個SOAP 方法可以簡單地看作遵循SOAP編碼規則的HTTP請求和響應, 一個 SOAP終端則可以看作一個基於HTTP 的URL, 它用來識別方法調用的目標。像CORBA/ IIOP一樣, SOAP不需要具體的對象綁定到一個給定的終端, 而是由具體實現程序來決定怎樣把對象終端標識符映像到伺服器端的對象。

代碼簽名證書是保護開發者的勞動成果,給自己開發的軟體簽名的證書,保證代碼在簽名之後不被惡意篡改。用戶可通過對代碼的數字簽名來標識軟體來源,辨別軟體開發者的真實身份。GDCA的代碼簽名證書支持多種代碼簽名,已通過WEBTRUST國際認證。

文章轉載:https://www.trustauth.cn/wiki/20982.html


點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 數安時代GDCA 的精彩文章:

軟體架構風格之RESTful

TAG:數安時代GDCA |

您可能感興趣

WebService就是這麼簡單
Webservice簡單使用
c井動態調用WebService
android 訪問webservice(解析一行代碼實現)