java - ejemplo - que es el registro de RMI
rmi java implementation (4)
El Registro de Invocación de Método Remoto (RMI) de Java es esencialmente un servicio de directorio.
Un registro de objetos remotos es un servicio de nombres de arranque que utilizan los servidores RMI en el mismo host para vincular objetos remotos a los nombres. Los clientes en hosts locales y remotos pueden buscar objetos remotos y realizar invocaciones de métodos remotos. ( Documentation )
Puede usar RMI o JNDI para vincular y buscar su objeto de forma remota con el registro de rmi.
Es un caso de uso conocido del patrón de diseño proxy. Los servidores RMI registran objetos (esencialmente stubs) en el registro RMI. Los clientes remotos buscan estos stubs e invocan métodos en él. Detrás de la escena, el método que se va a invocar, sus argumentos se serializan y se envían al servidor RMI real que tiene la implementación. El servidor RMI (código de esqueleto) deserializa la solicitud invoca el método real, recopila los resultados, lo deserializa y lo envía de vuelta al cliente (stub). Stub deserializa los resultados y los devuelve al código que invocó este método.
¿Qué es el registro RMI? ¿Qué hace?
El registro de RMI actúa como intermediario entre los servidores de RMI y los clientes. El servidor "registra" sus servicios en el registro, por lo tanto, un registro RMI puede actuar como un "directorio" para muchos servidores / servicios. El cliente no necesita saber la ubicación de los servidores individuales y realiza una búsqueda en el Registro de RMI para obtener el servicio que necesita. El registro, al ser un directorio de nombres, devuelve el identificador apropiado al cliente para invocar los métodos.
Google alrededor, hay mucha información disponible sobre RMI.
Esencialmente, el registro RMI es un lugar para que el servidor registre los servicios que ofrece y un lugar para que los clientes consulten esos servicios. Ver Introducción a Java RMI . Extracto:
La Figura 1 muestra las conexiones hechas por el cliente cuando se usa RMI. En primer lugar, el cliente debe ponerse en contacto con un registro de RMI y solicitar el nombre del servicio. El desarrollador B no sabrá la ubicación exacta del servicio RMI, pero sabe lo suficiente como para ponerse en contacto con el registro del Desarrollador A. Esto lo señalará en la dirección del servicio que quiere llamar ..
Primero, el servidor asocia un nombre con un objeto remoto en el registro RMI. Cuando un cliente desea acceder a un objeto remoto, busca el objeto, por su nombre, en el registro. Entonces el cliente puede invocar métodos en el objeto remoto en el servidor.
http://www8.cs.umu.se/education/examina/Rapporter/471App.pdf