Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Qué hace RMI en JAVA?

¿Qué hace RMI en JAVA?

RMI es un mecanismo de red J2EE que le permite escribir objetos distribuidos que se comunican en la memoria, entre máquinas virtuales Java y entre dispositivos físicos.

RMI-IIOP sigue los principios de interfaz e implementación. Todo el código de red que escriba se aplica a la interfaz, no a la implementación. De hecho, debe utilizar los ejemplos de RMI-IIOP; no hay otra opción. No es posible realizar llamadas remotas directamente en la implementación del objeto; solo puede realizar llamadas remotas en la interfaz de la clase de objeto únicamente.

Entonces, cuando usamos RMI-IIOP, debemos crear una interfaz de cliente llamada interfaz remota que debería extender java.rmi.

Una aplicación RMI normalmente consta de dos programas separados: un programa de servidor y un programa de cliente. Una aplicación de servidor típica creará múltiples objetos remotos, hará que estos objetos remotos sean referenciables y luego esperará a que los clientes llamen a métodos en estos objetos remotos. Por otro lado, un programa cliente típico obtendrá una referencia a uno o más objetos remotos del servidor y luego llamará métodos en los objetos remotos. RMI proporciona un mecanismo para que servidores y clientes se comuniquen y pasen información.

Al comunicarse con objetos remotos, RMI utiliza el mecanismo estándar de stubs y esqueletos, donde el stub del objeto remoto actúa como un representante local del cliente o un proxy para el objeto remoto. El programa que llama llamará al método del código auxiliar local, y el código auxiliar local será responsable de ejecutar la llamada al método en el objeto remoto. En RMI, el código auxiliar de un objeto remoto es el mismo conjunto de interfaces remotas que implementa el objeto remoto. Una llamada de método al stub realiza las siguientes operaciones: (1) inicializa una conexión a la máquina virtual remota que contiene el objeto remoto; (2) compila (escribe y transmite) los parámetros de la máquina virtual remota (3) espera el; resultado de la llamada al método; (4) Descompilar (leer) el valor de retorno o devolver una excepción (5) Devolver el valor al programa que llama; Para presentar un mecanismo de llamada más simple a la persona que llama, los stubs ocultan detalles como la serialización de parámetros y la comunicación a nivel de red. En la máquina virtual remota, cada objeto remoto puede tener un esqueleto correspondiente (los esqueletos no son necesarios en un entorno JDK 1.2). Hace lo siguiente cuando recibe una llamada a un método: (1) descompila (lee) los parámetros del método remoto; (2) llama al método en la implementación real del objeto remoto (3) compila (escribe y transmite) el resultado ( devuelve valor o excepción) al programa que llama.