Fundamentos de Java RMI y Comunicación de Objetos Remotos

Clasificado en Informática

Escrito el en español con un tamaño de 2,72 KB

¿Qué es RMI?

RMI (Remote Method Invocation) es un paquete de Java que permite manejar objetos (y sus respectivos métodos) de manera remota, para utilizar los recursos de un servidor de manera transparente para el usuario local.

La manera en que RMI (y RPC en general) logra hacer esto es por medio de lo que se conoce como Stubs. En el caso del Stub del servidor, este se conoce como Skeleton. Estos Stubs y Skeletons permiten que, al momento de ser invocada la función remota, esta pueda ser "simulada localmente".

Funcionamiento General

El funcionamiento general del sistema se basa en los siguientes pasos:

  • Se ejecuta el RMI Registry en algún lugar de la red.
  • El servidor que desea manejar un objeto se registra en dicho servidor.
  • El RMI Registry registra el par: OBJETO/SERVIDOR.
  • El cliente que necesita utilizar un determinado objeto hace una consulta al RMI Registry, quien devuelve el Stub listo para la comunicación.

Capacidades del Sistema

  • Localizar objetos remotos.
  • Comunicarse con los objetos remotos.
  • Cargar definiciones de clases de objetos que se pasan a su alrededor.

La ilustración siguiente muestra una aplicación RMI distribuida que utiliza el registro RMI para obtener una referencia a un objeto remoto.

Ventajas de la Carga Dinámica de Claves

Una de las características centrales y únicas de RMI es su capacidad para descargar la definición de clase de un objeto si la clase no se define en la máquina virtual de Java (JVM) del receptor.

Interfaces, Objetos y Métodos Remotos

Al igual que cualquier otra aplicación Java, una aplicación distribuida construida usando Java RMI se compone de interfaces y clases. Las interfaces declaran los métodos.

  • Interfaz remota: Especifica los métodos que se pueden invocar remotamente por un cliente.
  • Aplicación de los objetos remotos: Los objetos remotos deben implementar una o más interfaces remotas.
  • Aplicación de los clientes: Los clientes que utilizan objetos remotos se pueden implementar en cualquier momento después de que las interfaces remotas se definen.

Compilación de Fuentes

Al igual que con cualquier programa de Java, se utiliza el compilador javac para compilar los archivos de origen.

Entradas relacionadas: