Różnica między RPC i RMI

Różnica między RPC i RMI

RPC vs RMI

RPC (połączenie z procedurą zdalną) i RMI (wywołanie metody zdalnej) to dwa mechanizmy, które pozwalają użytkownikowi wywoływać lub połączenia, które będą działać na innym komputerze niż ten, którego używa użytkownik. Główną różnicą między nimi jest zastosowane podejście lub paradygmat. RMI używa paradygmatu zorientowanego na obiekt, w którym użytkownik musi znać obiekt i metodę obiektu, którego musi wywołać. Dla porównania, RPC nie jest zorientowane na obiekty i nie radzi sobie z obiektami. Raczej nazywa konkretnych podprogramów, które zostały już ustalone.

RPC jest stosunkowo starym protokołem opartym na języku C, dziedzicząc w ten sposób jego paradygmat. Dzięki RPC otrzymasz połączenie procedurowe, które wygląda prawie jak połączenie lokalne. RPC obsługuje złożoność związaną z przekazaniem połączenia z lokalnego na zdalny komputer. RMI robi to samo; Obsługa złożoności przechodzenia wzdłuż inwokacji z lokalnego do odległego komputera. Ale zamiast przekazywać wywołanie proceduralne, RMI przekazuje odniesienie do obiektu i wywoływanej metody. RMI został opracowany przez Java i używa swojej wirtualnej maszyny. Jego zastosowanie jest zatem wyłączne dla aplikacji Java do wywoływania metod na komputerach zdalnych.

Ostatecznie RPC i RMI to tylko dwa sposoby osiągnięcia tej samej dokładnej rzeczy. Wszystko sprowadza się do jakiego języka, którego używasz i jakiego paradygmatu jesteś przyzwyczajony. Korzystanie z RMI zorientowanego na obiekt jest lepszym podejściem między nimi, szczególnie w przypadku większych programów, ponieważ zapewnia czystszy kod, który jest łatwiejszy do wyśledzenia, gdy coś pójdzie nie tak. Zastosowanie RPC jest nadal powszechnie akceptowane, zwłaszcza gdy którykolwiek z alternatywnych protokołów zdalnych proceduralnych nie jest opcją.

Streszczenie:

1.RMI jest zorientowany na obiekt, a RPC
2.RPC to podstawy C, a RMI to tylko Java
3.RMI wywołuje metody, podczas gdy RPC wywołuje funkcje
4.RPC jest przestarzałe, podczas gdy RMI to przyszłość