Diferença entre RPC e RMI

RPC vs RMI

RPC (Chamada de Procedimento Remoto) e RMI (Chamada de Método Remoto) são dois mecanismos que permitem ao usuário chamar ou chamar processos que serão executados em um computador diferente daquele que o usuário está usando. A principal diferença entre os dois é a abordagem ou paradigma usado. O RMI usa um paradigma orientado a objetos em que o usuário precisa conhecer o objeto e o método do objeto que ele precisa chamar. Em comparação, o RPC não é orientado a objetos e não lida com objetos. Em vez disso, chama sub-rotinas específicas que já estão estabelecidas.

O RPC é um protocolo relativamente antigo, baseado na linguagem C, herdando seu paradigma. Com o RPC, você recebe uma chamada de procedimento que se parece muito com uma chamada local. O RPC lida com as complexidades envolvidas na passagem da chamada do computador local para o remoto. RMI faz a mesma coisa; lidar com as complexidades de passar a invocação do local para o computador remoto. Mas, em vez de passar uma chamada de procedimento, o RMI passa uma referência ao objeto e ao método que está sendo chamado. O RMI foi desenvolvido por Java e usa sua máquina virtual. Portanto, seu uso é exclusivo para aplicativos Java para chamar métodos em computadores remotos.

No final, RPC e RMI são apenas dois meios de alcançar exatamente a mesma coisa. Tudo se resume a qual idioma você está usando e a qual paradigma está acostumado. Usar o RMI orientado a objetos é a melhor abordagem entre os dois, especialmente em programas maiores, pois fornece um código mais limpo que é mais fácil de rastrear quando algo dá errado. O uso de RPC ainda é amplamente aceito, especialmente quando qualquer um dos protocolos de procedimentos remotos alternativos não é uma opção.

Resumo:

1.RMI é orientado a objetos enquanto RPC não é
2.RPC é C bases, enquanto RMI é apenas Java
3.RMI chama métodos enquanto RPC chama funções
4.RPC é antiquado enquanto RMI é o futuro