RMI define un conjunto de interfaces remotas que se pueden utilizar para generar objetos remotos. El cliente puede llamar al objeto remoto utilizando la misma sintaxis que los métodos de llamada en el objeto local. La API RMI proporciona clases y métodos que manejan todos los requisitos básicos de comunicación y serialización para acceder a métodos remotos y referencias de parámetros.
La invocación de métodos remotos es similar a la función de llamada a procedimiento remoto (RPC) propuesta por Sun en 1985. RPC también requiere la serialización de parámetros y la devolución de datos numéricos, pero como no hay objetos involucrados, la situación es relativamente simple. Sun desarrolló el sistema de representación de datos externos (XDR) para admitir la serialización de datos. Una diferencia importante entre RPC y RMI es que RPC utiliza el protocolo UDP rápido y poco confiable, mientras que RMI usa el protocolo TCP/IP confiable y de baja velocidad.
La invocación de método remoto (RMI) y CORBA son tecnologías informáticas distribuidas. Cada una tiene sus propias ventajas y desventajas cuando se distribuye. Para ayudar a comprender las características y usos de RMI, es necesario analizar CORBA y. CORBA. La diferencia entre RMI.
CORBA (Common Object Request Broker Architecture) es la arquitectura de gestión de objetos de OMG, que es el estándar sobre el que se construyen los sistemas distribuidos orientados a objetos. CORBA fue diseñado como una especificación abierta que puede ser utilizada por todos los lenguajes de programación, lo que significa que un cliente Java en una máquina puede solicitar servicios de otra máquina usando SmallTalk o C++. Es esta independencia lingüística lo que hace que CORBA sea tan flexible y atractivo. Para dar cabida a la independencia del idioma, CORBA adopta un estándar muy común como interfaz. En diferentes idiomas, las llamadas remotas, las firmas y la introducción de objetos tienen definiciones diferentes, por lo que CORBA debe ser lo más neutral y abierto posible. Esta generalidad es la debilidad de CORBA. Cuando los desarrolladores adoptan CORBA, tienen que utilizar un nuevo estándar para definir interfaces de lenguaje, lo que requiere que los desarrolladores aprendan nuevas interfaces de programación, reduciendo así la transparencia del modelo remoto.
RMI fue desarrollado únicamente para computación distribuida Java-on-Java. El estándar de llamadas remotas fue desarrollado para Java y las firmas y llamadas naturales de Java de la aplicación, lo que hace que RMI sea bastante transparente para los desarrolladores de Java y fácil de implementar. RMI está estrechamente integrado con el lenguaje Java y puede proporcionar muy buena tolerancia a fallos y manejo de excepciones en comparación con CORBA. Aunque el estándar RMI de Java no es tan independiente del lenguaje como CORBA, Java en sí es una plataforma independiente, lo que hace que RMI sea una buena opción en el desarrollo de software distribuido multiplataforma.
IIOP
Es un protocolo utilizado en CORBA 2.0 y plataformas compatibles. La fase inicial de este protocolo es establecer los siguientes componentes: una puerta de enlace de IIOP a HTTP, que permite a los clientes CORBA acceder a recursos WWW; una puerta de enlace de HTTP a IIOP, a través de la cual se puede acceder a los recursos de CORBA y un servidor que sirve recursos a través de HTTP; un navegador capaz de utilizar IIOP como protocolo reconocido.