Corba vs RMI
Nie ma wątpliwości co do popularności Java wśród programistów. Dzięki Javie możliwości rozszerzyły się jeszcze bardziej. Niezwykle przenośna natura Javy ma wielką zaletę. Dobrze integruje się z przeglądarkami internetowymi, dzięki czemu idealnie nadaje się do przedsięwzięć programistycznych. Jeśli chodzi o programistów, jest łatwy w użyciu i implementacji. Jest to główny powód, dla którego wielu programistów stosuje tę technologię.
RMI i CORBA to dwa z najważniejszych i najczęściej używanych systemów dystrybucji w Javie. Oba są bardzo skuteczne, ale mają swoje zalety i wady. Aplikacje korzystające z tych systemów są niezwykle rozbudowane i prawie nieograniczone. Jako programista konkretnego projektu wybór jednej z nich może być trudną decyzją.
Architektura brokera Request Common Object Request lub po prostu CORBA ma wiele adapterów. Może także wywoływać wiele języków z interfejsem CORBA, ponieważ został opracowany tak, aby był niezależny od jakiegokolwiek języka, w którym program jest napisany. Jest bezpośrednią konkurencją dla RMI, ale CORBA oferuje lepszą przenośność.
CORBA można łatwo zintegrować ze starszymi systemami i nowszymi, które obsługują CORBA. Jednak dla programistów JAVA technologia zapewnia mniejszą elastyczność, ponieważ nie pozwala na przekazywanie plików wykonywalnych do systemów zdalnych.
CORBA to bogata rodzina standardów i interfejsów. Badanie szczegółów tych interfejsów jest dość trudnym zadaniem.
RMI to skrót od Remote Method Invocation. Ta technologia została wydana wraz z Javą 1.1, faktycznie dostępną od JDK 1.02, i pozwala programistom Java wywoływać metody obiektowe oraz umożliwia ich wykonywanie na zdalnych maszynach JVM lub Java Virtual Machines. Jego implementacja jest raczej łatwa, szczególnie jeśli znasz bardzo dobrze Javę. To tak, jakby wywołać proces lokalnie; jednak jego wywołania są ograniczone tylko do Javy.
Wspomniawszy o charakterystyce RMI skoncentrowanej na Javie, jedynym sposobem integracji kodów w innych językach z systemem dystrybucji RMI jest użycie interfejsu. Ten interfejs nazywa się interfejsem natywnego kodu Java. Jednak może być niezwykle złożony i, często, prowadzi do kruchych kodów.
RMI ma główne cechy, których CORBA nie ma, w szczególności zdolność do wysyłania nowych obiektów, kodu i danych przez sieć, a także dla zdalnych maszyn wirtualnych do bezbłędnej obsługi nowych obiektów
Porównując RMI i CORBA, przypomina się porównanie jabłka i pomarańczy. Zasadniczo jedno nie jest lepsze od drugiego. Zależy to całkowicie od aplikacji lub projektu oraz preferencji dewelopera.
Streszczenie:
1. RMI jest zorientowany na Javę, a CORBA nie jest powiązana z jednym językiem.
2. RMI jest łatwiejszy do opanowania, szczególnie dla programistów i programistów Java.
3. CORBA oferuje większą przenośność ze względu na wysoką zdolność adaptacji do różnych języków programowania.
4. CORBA nie może wysyłać nowych obiektów przez sieci.