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