RMI可以是做CORBA的Java版本,但相比較而言這是一個(gè)輕量級(jí)的版本了,對(duì)于服務(wù)器和客戶端兩邊都用Java來實(shí)現(xiàn)的前提下,這是一個(gè)非常好的選擇。
CORBA和RMI有一個(gè)共同的缺陷:通常不會(huì)在系統(tǒng)80端口提供服務(wù),所以這在具備網(wǎng)羅防火墻的情況下顯得非常被動(dòng)。
XML-RPC
為了解決在系統(tǒng)的80端口提供RPC的服務(wù),而又不影響正在執(zhí)行的WEB服務(wù),人們想出了用HTTP協(xié)議傳輸RPC包的辦法。對(duì)于幾乎是專門用于傳輸文本的HTTP協(xié)議,要在其上傳輸RPC封包,最方便的方法莫過于把RPC封包編碼成文本形式——例如XML文件。
XML-RPC(http://www.xml-rpc.com)是由美國(guó)UserLand公司指定的一個(gè)RPC協(xié)議。它將RPC信息封包編碼為XML,然后通過HTTP傳輸封包;它是一個(gè)簡(jiǎn)單的RPC協(xié)議,只支持一些基本數(shù)據(jù)類型,不支持對(duì)象模型,這勢(shì)必掣肘在客戶端和服務(wù)器端之間傳輸復(fù)雜的對(duì)象。
?
SOAP
????? SOAP即Simple Object Access Protocol(簡(jiǎn)單對(duì)象訪問協(xié)議)是在分散或分布式的環(huán)境中交換信息的簡(jiǎn)單的協(xié)議,是一個(gè)基于XML的協(xié)議。它允許所有的操作在80端口上進(jìn)行,從而也繞過了防火墻等問題。
SOAP規(guī)范中有三個(gè)基本組成部分:SOAP封裝,編碼規(guī)則,以及在請(qǐng)求和響應(yīng)之間的交互方式。
目前已有的基于JAVA提供SOAP功能的產(chǎn)品有:Apache SOAP, IBM SOAP4J等
??? 要了解更多關(guān)于SOAP的信息,可以訪問 http://www.w3.org/TR/SOAP