古詩詞大全網 - 成語故事 - 請問corba和RMI有什麽區別啊

請問corba和RMI有什麽區別啊

RMI定義了壹組遠程接口,可以用於生成遠程對象。客戶機可以象調用本地對象的方法壹樣用相同的語法調用遠程對象。RMI API提供的類和方法可以處理所有訪問遠程方法的基礎通信和參數引用要求的串行化。

遠程方法調用類似於Sun公司1985年提出的遠程過程調用(RPC)特征。RPC也要求串行化參數和返回數值數據,但由於沒有涉及對象,情況比較簡單。Sun開發了外部數據表示(XDR)系統,支持數據串行化。RPC和RMI之間的壹個重要差別是RPC用快速而不夠可靠的UDP協議,RMI用低速而可靠的TCP/IP協議。

遠程方法調用(RMI)和CORBA都是分布式計算技術,在進行分布式時各有其優缺點,為了有助於了解RMI的特點和用途,有必要討論壹下CORBA和RMI的區別。

CORBA(Common Object Request Broker Architecture)是OMG的Object Management Architecture(對象管理結構),它是面向對象的分布式系統建立所依據的標準。CORBA被設計成壹個能供所有編程語言使用的壹個開放性說明,就是說壹個機器上的Java客戶可以要求另壹個用SmallTalk或C++的機器服務。正是由於這種語言的獨立性使得CORBA這麽靈活和吸引人。為了適應語言獨立性,CORBA采用了非常通用的標準作為其接口。在不同的語言中,遠程調用、簽名和對象的引入有各自不同的定義,所以CORBA必須盡可能的中立和開放。正是這種通用性是CORBA的壹個弱點。當開發人員都采用CORBA時,他們要用壹種新的標準定義語言接口,它要求開發者學習新的編程接口,從而減小了遠程模型的透明性。

RMI是為僅在Java對Java的分布式計算中而開發的。遠程調用的標準是為了Java和應用Java的自然Java簽名和調用而開發的,這使得RMI對Java的開發者相當透明而且易於實現。RMI用Java語言緊密集成從而同CORBA相比能夠提供非常好的容錯能力及對異常的處理。盡管Java的RMI標準不像CORBA那樣語言獨立,但Java本身是壹個獨立的平臺,這就使RMI在跨平臺的分布軟件開發中是壹個很好的選擇。

IIOP

它是壹個用於CORBA 2.0及兼容平臺上的協議。這個協議的最初階段是要建立以下幾個組件部分:壹個IIOP到HTTP的網關,使用這個網關可以讓CORBA客戶訪問WWW資源;壹個HTTP到IIOP的網關,通過這個網關可以訪問CORBA資源;壹個為IIOP和HTTP提供資源的服務器,壹個能夠將IIOP作為可識別協議的瀏覽器。