RPC vs RMI
RPC (llamada a procedimiento remoto) y RMI (invocación de método remoto) son dos mecanismos que permiten al usuario invocar o llamar a procesos que se ejecutarán en una computadora diferente a la que está utilizando el usuario. La principal diferencia entre los dos es el enfoque o paradigma utilizado. RMI usa un paradigma orientado a objetos donde el usuario necesita conocer el objeto y el método del objeto que necesita invocar. En comparación, RPC no está orientado a objetos y no trata con objetos. Más bien, llama a subrutinas específicas que ya están establecidas.
RPC es un protocolo relativamente antiguo que se basa en el lenguaje C, heredando así su paradigma. Con RPC, obtiene una llamada de procedimiento que se parece bastante a una llamada local. RPC maneja las complejidades involucradas en pasar la llamada de la computadora local a la remota. RMI hace lo mismo; manejar las complejidades de pasar a lo largo de la invocación de la computadora local a la remota. Pero en lugar de pasar una llamada de procedimiento, RMI pasa una referencia al objeto y al método que se está llamando. RMI fue desarrollado por Java y utiliza su máquina virtual. Por lo tanto, su uso es exclusivo de las aplicaciones Java para métodos de llamada en computadoras remotas..
Al final, RPC y RMI son solo dos medios para lograr exactamente lo mismo. Todo se reduce a qué idioma está utilizando y a qué paradigma está acostumbrado. Usar el RMI orientado a objetos es el mejor enfoque entre los dos, especialmente con programas más grandes, ya que proporciona un código más limpio que es más fácil de rastrear cuando algo sale mal. El uso de RPC todavía es ampliamente aceptado, especialmente cuando cualquiera de los protocolos de procedimientos remotos alternativos no son una opción.
Resumen:
1.RMI está orientado a objetos mientras que RPC no está
2.RPC es C bases mientras que RMI solo es Java
3.RMI invoca métodos mientras que RPC invoca funciones
4.RPC está anticuado, mientras que RMI es el futuro