Differenza tra RPC e RMI

RPC vs RMI

RPC (Remote Procedure Call) e RMI (Remote Method Invocation) sono due meccanismi che consentono all'utente di richiamare o chiamare processi che verranno eseguiti su un computer diverso da quello che l'utente sta utilizzando. La principale differenza tra i due è l'approccio o il paradigma utilizzato. RMI utilizza un paradigma object oriented in cui l'utente ha bisogno di conoscere l'oggetto e il metodo dell'oggetto che ha bisogno di invocare. In confronto, RPC non è orientato agli oggetti e non si occupa di oggetti. Piuttosto, chiama subroutine specifiche già stabilite.

RPC è un protocollo relativamente vecchio basato sul linguaggio C, che ne eredita il paradigma. Con RPC, ottieni una chiamata alla procedura che assomiglia molto a una chiamata locale. RPC gestisce le complessità coinvolte con il passaggio della chiamata dal computer locale a quello remoto. RMI fa la stessa cosa; gestire le complessità del passaggio lungo l'invocazione dal computer locale a quello remoto. Ma invece di passare una chiamata procedurale, RMI passa un riferimento all'oggetto e al metodo che viene chiamato. RMI è stato sviluppato da Java e utilizza la sua macchina virtuale. Il suo utilizzo è quindi esclusivo per le applicazioni Java per i metodi di chiamata su computer remoti.

Alla fine, RPC e RMI sono solo due modi per ottenere la stessa identica cosa. Tutto dipende dal linguaggio che usi e dal paradigma a cui sei abituato. L'utilizzo del RMI orientato agli oggetti rappresenta l'approccio migliore tra i due, in particolare con i programmi più grandi, poiché fornisce un codice più pulito che è più facile rintracciare una volta che qualcosa va storto. L'utilizzo di RPC è ancora ampiamente accettato, specialmente quando uno qualsiasi dei protocolli procedurali remoti alternativi non è un'opzione.

Sommario:

1.RMI è orientato agli oggetti mentre RPC non lo è
2.RPC è C basi mentre RMI è solo Java
3.RMI richiama i metodi mentre RPC richiama le funzioni
4.RPC è antiquato mentre RMI è il futuro