Introducción a RMI - Invocación de método remoto

RMI (Invocación de método remoto) es una API de Java para manipular objetos remotos (por ejemplo, un objeto creado en otra máquina virtual, posiblemente en otra máquina en la red) de manera transparente, es decir, de la misma manera que si el objeto fuera ubicado en la máquina virtual (JVM) de la máquina local.

Por lo tanto, un servidor permite a un cliente invocar métodos de forma remota en un objeto instanciado. Se necesitan dos máquinas virtuales (una para el servidor y otra para el cliente) y toda la comunicación se realiza en Java .

RMI es una solución basada en Java, a diferencia del CORBA estándar de OMG (Object Management Group) para manipular objetos remotos, con cualquier idioma. Corba es mucho más complicado de implementar, esta es la razón por la que muchos desarrolladores recurren a RMI.

La estructura de la capa RMI

Las conexiones y las transferencias de datos se realizan mediante RMI en Java sobre TCP / IP utilizando un protocolo propietario (JRMP, Java Remote Method Protocol) en el puerto 1099.

A partir de Java 2 versión 1.3, la comunicación entre el cliente y el servidor se realiza a través de RMI-IIOP (Internet Inter-Orb Protocol), un protocolo estandarizado por el OMG (Object Management Group) y utilizado en el CORBA.

La transmisión de datos se realiza a través de un sistema de capas, basado en el modelo OSI para garantizar la interoperabilidad entre los programas y las versiones de Java.

  • El talón y el esqueleto, ubicados respectivamente en el cliente y el servidor, garantizan la conversión de las comunicaciones realizadas con el objeto remoto.
  • La capa de referencia ( RRL, Capa de referencia remota ) contiene el sistema de localización, para proporcionar una forma para que los objetos obtengan una referencia al objeto remoto (mediante el paquete java.rmi.Naming ). Generalmente se conoce como registro RMI, ya que hace referencia a los objetos.
  • La capa de transporte puede escuchar las llamadas entrantes y establecer conexiones y transporte de datos a través de la red a través de TCP ( paquetes java.net.Socket y java.net.SocketServer ).

Por lo tanto, una aplicación cliente-servidor basada en RMI se implementa como tres componentes:

  • La aplicación cliente que implementa el código auxiliar.
  • El servidor de aplicaciones que implementa el esqueleto.
  • Un mediador (registro RMI).

Documento original publicado en CommentcaMarche.net.

Artículo Anterior Artículo Siguiente

Los Mejores Consejos