RPC i RMI

Anonim

RPC vs RMI

RPC (Remote Procedure Call) i RMI (Remote Method Invocation) dva su mehanizma koji omogućuju korisniku da zazovi ili nazove procese koji će se izvoditi na drugom računalu od one koju korisnik koristi. Glavna razlika između ta dva je pristup ili paradigma koja se koristi. RMI koristi paradigmu usmjerenu na objekt gdje korisnik treba znati objekt i način objekta kojeg treba pozvati. U usporedbi, RPC nije orijentiran na objekt i ne bavi se predmetima. Umjesto toga, ona naziva specifične potprograme koji su već uspostavljeni.

RPC je relativno stari protokol koji se temelji na C jeziku, čime nasljeđuje njegovu paradigmu. S RPC-om dobivate postupak poziva koji izgleda prilično sličan lokalnom pozivu. RPC rješava složenosti vezane uz prosljeđivanje poziva s lokalnog na udaljeno računalo. RMI radi isto isto; rukovanje složenosti prolaska uz poziv od lokalnog do udaljenog računala. Umjesto da prosljeđuje proceduralni poziv, RMI prosljeđuje referencu na objekt i metodu koja se poziva. RMI je razvio Java i koristi svoj virtualni stroj. Njegova upotreba je stoga ekskluzivna za Java aplikacije za pozivanje metoda na udaljenim računalima.

Na kraju, RPC i RMI samo su dva načina postizanja iste točne stvari. Sve se svodi na jezik koji koristite i koju paradigmu ste navikli. Korištenje objektno orijentiranog RMI-a je bolji pristup između dva, posebice kod većih programa jer pruža čišći kod koji je lakše pronaći nakon što nešto počne krivo. Korištenje RPC-a još uvijek je široko prihvaćeno, pogotovo kada neki alternativni daljinski postupovni protokoli nisu opcija.

Sažetak:

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