2009-10-14 10 views

Odpowiedz

14

RMI jest Java konkretnych technologii. CORBA ma implementacje dla wielu języków. Możesz użyć CORBA do współdzielenia obiektów pomiędzy programami napisanymi w różnych językach (np. C++ i Java).

CORBA używa IDL (Interface Definition Language) do oddzielenia interfejsu od implementacji. RMI po prostu używa interfejsów Java.

Ponieważ CORBA nie jest powiązana z określonym językiem, typy danych nie zawsze dokładnie odwzorowują typy używane przez twój język programowania (np. Long in IDL jest int w Javie).

Programy RMI mogą pobierać nowe klasy ze zdalnych maszyn JVM. CORBA nie ma tego mechanizmu dzielenia kodu.

Minęło trochę czasu, ale pamiętam (od przeniesienia aplikacji Java z CORBA do RMI), że CORBA (lub przynajmniej implementacja, której używaliśmy) zadbała o wiele niezbędnej synchronizacji dla współbieżnego kodu, który był coś, co musieliśmy zrobić jawnie, gdy używamy RMI.

RMI może być skonfigurowany do pracy na IIOP (protokół używany przez CORBA).

Powiązane problemy