Diferența dintre RPC și RMI

RPC vs. RMI

RPC (Remote Procedure Call) și RMI (Remote Method Calling) sunt două mecanisme care permit utilizatorului să invocieze sau să apeleze procesele care se vor executa pe un calculator diferit de cel pe care îl utilizează utilizatorul. Principala diferență dintre cele două este abordarea sau paradigma utilizată. RMI utilizează o paradigmă orientată pe obiecte în care utilizatorul trebuie să cunoască obiectul și metoda obiectului pe care trebuie să îl invocieze. În comparație, RPC nu este orientat obiect și nu se ocupă cu obiecte. Mai degrabă, el numește subrutine specifice care sunt deja stabilite.

RPC este un protocol relativ vechi bazat pe limba C, moștenind astfel paradigma sa. Cu RPC, primiți un apel de procedură care arată destul de mult ca un apel local. RPC se ocupă de complexitatea implicată în trecerea apelului de la computerul local la computerul la distanță. RMI face același lucru; gestionând complexitatea trecerii de-a lungul invocării de la computerul local la computerul la distanță. Dar, în loc să transmită un apel procedural, RMI transmite o referință la obiect și la metoda care se numește. RMI a fost dezvoltat de Java și utilizează mașina sa virtuală. Utilizarea sa este, prin urmare, exclusivă pentru aplicațiile Java pentru metode de apelare pe computerele la distanță.

În cele din urmă, RPC și RMI sunt doar două metode de realizare a aceluiași lucru exact. Totul se limitează la ce limbă folosiți și la ce paradigmă sunteți obișnuiți. Utilizarea RMI orientată pe obiecte este o abordare mai bună între cele două, mai ales în cazul programelor mai mari, deoarece furnizează un cod mai curat care este mai ușor de urmărit odată ce ceva nu merge bine. Utilizarea RPC este încă acceptată pe scară largă, mai ales atunci când oricare dintre protocoalele alternative de procedură la distanță nu este o opțiune.

Rezumat:

1.RMI este orientat obiect în timp ce RPC nu este
2.RPC este baza C în timp ce RMI este numai Java
3.RMI invocă metode în timp ce RPC invocă funcții
4.RPC este învechit în timp ce RMI este viitorul