Forskjellen mellom RPC og RMI

RPC vs RMI

RPC (Remote Procedure Call) og RMI (Remote Method Invocation) er to mekanismer som tillater brukeren å påkalle eller ringe prosesser som vil kjøre på en annen datamaskin enn den brukeren bruker. Hovedforskjellen mellom de to er tilnærmingen eller paradigmet som brukes. RMI bruker et objektorientert paradigme der brukeren trenger å kjenne objektet og metoden til objektet han trenger å påberope seg. Til sammenligning er RPC ikke objektorientert og tar ikke av seg objekter. I stedet kaller det bestemte underrutiner som allerede er etablert.

RPC er en relativt gammel protokoll som er basert på C-språket, og arver dermed sitt paradigme. Med RPC får du en prosessanrop som ser ganske mye ut som en lokal samtale. RPC håndterer kompleksiteten som er involvert i å sende anropet fra lokal til ekstern datamaskin. RMI gjør det samme. håndterer kompleksiteten ved å passere gjennom påkallingen fra den lokale til den eksterne datamaskinen. Men i stedet for å sende et prosedyreanrop, sender RMI en referanse til objektet og metoden som blir kalt. RMI ble utviklet av Java og bruker sin virtuelle maskin. Dens bruk er derfor eksklusiv for Java-applikasjoner for anropsmetoder på eksterne datamaskiner.

Til slutt er RPC og RMI bare to måter å oppnå samme nøyaktige ting. Alt kommer ned på hvilket språk du bruker og hvilket paradigme du er vant til. Å bruke objektorienterte RMI er den bedre tilnærmingen mellom de to, særlig med større programmer, da det gir en renere kode som er lettere å spore når noe går galt. Bruk av RPC er fortsatt allment akseptert, spesielt når noen av de alternative eksterne prosedyrprotokollene ikke er et alternativ.

Sammendrag:

1.RMI er objektorientert mens RPC ikke er
2.RPC er C baser mens RMI er bare Java
3.RMI påberoper metoder mens RPC påberoper funksjoner
4.RPC er antiquated mens RMI er fremtiden