轉(zhuǎn)載請(qǐng)注明出處:http://www.cnblogs.com/Starshot/p/7050084.html

 

Soap即簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議,也可理解為一種用于程序之間通訊的規(guī)范,它主要基于XML和http,也正因?yàn)榛赬ML和http,所以這個(gè)協(xié)議具有很強(qiáng)的通用性,能夠很好地實(shí)現(xiàn)不同語(yǔ)言平臺(tái)之間的交流通訊。缺點(diǎn)是相對(duì)比較重量級(jí)。

Java的Soap框架有很多,例如xfire,CXF。說(shuō)到soap不得不提一下rest,因?yàn)檫@些概念很容易弄混。

rest是一種結(jié)構(gòu)風(fēng)格,而實(shí)現(xiàn)了rest風(fēng)格的程序設(shè)計(jì)就叫做restful。它提倡更加輕量級(jí)、無(wú)狀態(tài)、自描述,更充分地利用http本身的特性,例如get,post,put,delete,以獲得更加高效的性能,使交互更加簡(jiǎn)潔易懂。例如要獲取圖書(shū)集合中的某本書(shū)AAA,可以直接通過(guò)uri:/books/AAA來(lái)表示。

而soap則都是通過(guò)post來(lái)請(qǐng)求的,沒(méi)有充分利用http的其它方法,僅將http作為傳輸協(xié)議來(lái)使用,而具體需要獲取的資源信息則包含在post的xml報(bào)文中。

需要注意的是,rest是一種風(fēng)格,它不限制于某個(gè)程序某個(gè)框架。例如CXF框架,它既可以實(shí)現(xiàn)rest風(fēng)格的webService,也可以實(shí)現(xiàn)SOAP規(guī)范的webService。例如在我另一篇博文中的CXF簡(jiǎn)單例子(http://www.cnblogs.com/Starshot/p/6889751.html),就可以看做是rest風(fēng)格的webService。

 

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式