Diferencia entre RPC y RMI

RPC frente a RMI

RPC (llamada a procedimiento remoto) y RMI (invocación de método remoto) son dos mecanismos que permiten al usuario invocar ollamadaprocesos quecorreren una diferentecomputadoradel que está usando 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 relativamente antiguoprotocoloque se basa en el lenguaje C,heredando así su paradigma. Con RPC, ustedobteneruna llamada a procedimiento que se parece mucho a una llamada local. RPC maneja las complejidades involucradas en pasar la llamada del equipo local al remoto. RMI hace exactamente lo mismo; manejar las complejidades de pasar la invocación del equipo local al remoto. 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 porJavay usa su máquina virtual. Por tanto, su uso es exclusivo de las aplicaciones Java para llamar a métodos en ordenadores remotos.

Al final, RPC y RMI son solo dos medios para lograr exactamente lo mismo. Todo se reduce al idioma que estás usando y al paradigma al que estás acostumbrado. El uso de RMI orientado a objetos es el mejor enfoque entre los dos, especialmente con programas más grandes, ya que proporciona unacódigoque es más fácil de localizar una vez que algo sale mal. El uso de RPC todavía es ampliamente aceptado, especialmente cuando cualquiera de losalternativaLos protocolos de procedimientos remotos no son una opción.

Resumen:

1.RMI está orientado a objetos, mientras que RPC no lo está
2.RPC es base C, mientras que RMI es solo Java
3.RMI invoca métodos mientras que RPC invoca funciones
4.RPC es anticuado mientras que RMI es el futuro