Razlika između RPC i RMI

RPC vs RMI

RPC (Remote Procedure Call) i RMI (Remote Method Invocation) dva su mehanizma koji omogućuju korisniku da izazove ili zove procese koji će se izvoditi na drugom računalu od onog kojeg korisnik koristi. Glavna razlika između njih dvojice je primijenjeni pristup ili paradigma. RMI koristi objektno orijentiranu paradigmu gdje korisnik treba znati objekt i metodu objekta kojeg treba pozvati. Za usporedbu, RPC nije orijentiran na objekte i ne bavi se objektima. Umjesto toga, naziva se specifičnim podprogramima koji su već uspostavljeni.

RPC je relativno stari protokol koji se temelji na jeziku C i tako nasljeđuje njegovu paradigmu. Pomoću RPC-a dobivate poziv postupka koji u velikoj mjeri sliči lokalnom pozivu. RPC obrađuje složenosti prijenosa poziva s lokalnog na udaljeno računalo. RMI radi istu stvar; rješavanje složenosti prosljeđivanja poziva s lokalnog na udaljeno računalo. No, umjesto da proslijedi proceduralni poziv, RMI prosljeđuje referencu na objekt i metodu koja se poziva. RMI je razvila Java i koristi svoj virtualni stroj. Njegova se uporaba stoga odnosi isključivo na Java aplikacije za pozivanje metoda na udaljenim računalima.

Na kraju su RPC i RMI samo dva sredstva za postizanje iste točne stvari. Sve se svodi na to koji jezik koristite i na koju ste paradigmu navikli. Korištenje objektno orijentiranog RMI-ja je bolji pristup između njih dvojice, posebno s većim programima jer pruža čistiji kôd koji je lakše pronaći nakon što nešto pođe po zlu. Upotreba RPC-a i dalje je široko prihvaćena, posebno ako nijedan od alternativnih protokola daljinskog postupka nije opcija.

Sažetak:

1.RMI je objektno orijentirana dok RPC nije
2.RPC je C baza dok je RMI samo Java
3.RMI poziva metode, dok RPC poziva funkcije
4.RPC je starinski dok je RMI budućnost