2011年1月23日 星期日

[Web] SOAP

.Simple Object Access Protocol(簡單物件存取協定)

.是一種標準化的通訊規範,主要用於Web服務(web service)中。

.此標準由IBM、Microsoft、UserLand和DevelopMentor在1998年共同提出,並得到IBM,蓮花(Lotus),康柏(Compaq)等公司的支持,於2000年提交給全球資訊網聯盟World Wide Web Consortium;W3C),目前 SOAP 1.1 版是業界共同的標準,屬於第二代的XML協定(第一代具主要代表性的技術為XML-RPC以及WDDX)。

.SOAP的出現是為了簡化網頁伺服器(Web Server)在從XML數據庫中提取資料時,無需花時間去格式化頁面,並能夠讓不同應用程式之間透過HTTP通訊協定,以XML格式互相交換彼此的資料,使其與程式語言、平台和硬體無關。

.SOAP 提供了一種簡單的方式去讓處於非集中式、分散式的架構中的個體,透過XML之標準格式來達成文件訊息交換與遠端方法呼叫(RPC, Remote Procedure Call)。

.基本上SOAP包含三個部份:(1) SOAP envelope; (2) SOAP encoding rules; (3) SOAP RPC representation。
1. SOAP封裝(envelop),是一種特殊的訊息格式,封裝定義了一個描述消息中的內容是什麼,是誰發送的,誰應當接受並處理它以及如何處理它們的框架;載明了在訊息裡頭包含了什麼資料、誰負責處理這些資料、以及這些資料是必要的抑或是非必要的
2. SOAP編碼規則(encoding rules),用於表示應用程序需要使用的數據類型的實例;
3. SOAP RPC表示(RPC representation),表示遠程過程調用和應答的協定;

.SOAP是在分散或分散式的環境中交換訊息的一種傳輸協定標準,他的特點是結合XML和各式各樣的傳輸協定,讓不同的應用程式能透過Internet相互溝通,但不需要彼此所在的作業平台,或是各自如何實作等細節資訊。
.Reference: Wiki 和老師文件

沒有留言:

張貼留言