SOAP(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)
- 來(lái)源:縱橫數(shù)據(jù)
- 作者:中橫科技
- 時(shí)間:2013/2/19 13:40:36
- 類別:新聞資訊
SOAP 核心技術(shù)
SOAP采用了已經(jīng)廣泛使用的兩個(gè)協(xié)議:HTTP 和XML。HTTP用于實(shí)現(xiàn) SOAP 的RPC 風(fēng)格的傳輸, 而XML 是它的編碼模式。采用幾行代碼和一個(gè)XML 解析器, HTTP 服務(wù)器( MS 的 IIS 或 Apache) 立刻成為SOAP 的 ORBS。SOAP 通訊協(xié)議使用 HTTP 來(lái)發(fā)送XML 格式的信息。HTTP與RPC 的協(xié)議很相似,它簡(jiǎn)單、 配置廣泛,并且對(duì)防火墻比其它協(xié)議更容易發(fā)揮作用。HTTP 請(qǐng)求一般由 Web 服務(wù)器軟件(如 IIS 和Apache)來(lái)處理, 但越來(lái)越多的應(yīng)用服務(wù)器產(chǎn)品正在支持HTTP。XML 作為一個(gè)更好的網(wǎng)絡(luò)數(shù)據(jù)表達(dá)方式( NDR)。SOAP 把 XML 的使用代碼化為請(qǐng)求和響應(yīng)參數(shù)編碼模式, 并用HTTP 作傳輸。具體地講, 一個(gè)SOAP 方法可以簡(jiǎn)單地看作遵循SOAP編碼規(guī)則的HTTP請(qǐng)求和響應(yīng), 一個(gè) SOAP 終端則可以看作一個(gè)基于HTTP 的URL, 它用來(lái)識(shí)別方法調(diào)用的目標(biāo)。像CORBA/ IIOP一樣, SOAP不需要具體的對(duì)象綁定到一個(gè)給定的終端, 而是由具體實(shí)現(xiàn)程序來(lái)決定怎樣把對(duì)象終端標(biāo)識(shí)符映像到服務(wù)器端的對(duì)象。
SOAP 的優(yōu)點(diǎn)
(1) SOAP 是可擴(kuò)展的。SOAP 無(wú)需中斷已有的應(yīng)用程序, SOAP 客戶端、 服務(wù)器和協(xié)議自身都能發(fā)展。
而且SOAP 能極好地支持中間介質(zhì)和層次化的體系結(jié)構(gòu)。
(2) SOAP 是簡(jiǎn)單的?蛻舳税l(fā)送一個(gè)請(qǐng)求,調(diào)用相應(yīng)的對(duì)象, 然后服務(wù)器返回結(jié)果。這些消息是XML 格式的,并且封裝成符合HTTP 協(xié)議的消息。因此,它符合任何路由器、 防火墻或代理服務(wù)器的要求。
(3) SOAP 是完全和廠商無(wú)關(guān)。SOAP可以相對(duì)于平臺(tái)、 操作系統(tǒng)、 目標(biāo)模型和編程語(yǔ)言獨(dú)立實(shí)現(xiàn)。另外 , 傳輸和語(yǔ)言綁定以及數(shù)據(jù)編碼的參數(shù)選擇都是由具體的實(shí)現(xiàn)決定的。
(4) SOAP 與編程語(yǔ)言無(wú)關(guān)。SOAP 可以使用任何語(yǔ)言來(lái)完成, 只要客戶端發(fā)送正確SOAP 請(qǐng)求( 也就 是說(shuō), 傳遞一個(gè)合適的參數(shù)給一個(gè)實(shí)際的遠(yuǎn)端服務(wù)器)。SOAP 沒有對(duì)象模型, 應(yīng)用程序可以捆綁在任何對(duì)象模型中。
(5) SOAP 與平臺(tái)無(wú)關(guān)。SOAP 可以在任何操作系統(tǒng)中無(wú)需改動(dòng)正常運(yùn)行