Invocación de método remoto (rmi)

Definición: ¿Qué significa la invocación de método remoto (RMI)?

La invocación de método remoto (RMI) es una tecnología de objetos distribuidos desarrollada por Sun para el lenguaje de programación Java. Está disponible como parte de la interfaz de programación de aplicaciones (API) principal de Java, donde las interfaces de objeto se definen como interfaces de Java y utilizan la serialización de objetos.

RMI permite que los métodos Java se refieran a un objeto remoto e invoquen métodos del objeto remoto. El objeto remoto puede residir en otra máquina virtual Java, el mismo host o en hosts completamente diferentes en la red. RMI calcula y deshace los argumentos del método a través de la serialización de objetos y admite la descarga dinámica de archivos de clase a través de redes.

Techinfo explica la invocación de método remoto (RMI)

La invocación de método remoto se introdujo por primera vez en Java Development Kit (JDK) 1.1 y se usa ampliamente en la computación de objetos distribuidos. Realiza la equivalencia orientada a objetos de las llamadas a procedimientos remotos. Las funcionalidades RMI vienen en un paquete java.rmi y proporcionan una capacidad de objeto distribuido para aplicaciones basadas en Java.

La arquitectura RMI extiende la solidez y seguridad de la arquitectura Java al mundo de la informática distribuida. RMI permite que ese código defina e implemente el comportamiento para permanecer en diferentes máquinas virtuales Java. Los servicios remotos en RMI se codifican mediante una interfaz Java donde la implementación se codifica en una clase. En la primera clase, la implementación del comportamiento se ejecuta en el servidor. La segunda clase se ejecuta en el cliente y actúa como un proxy para el servicio remoto.

La implementación de RMI se construye a partir de tres capas abstractas: la capa de código auxiliar y esqueleto, la capa de referencia remota y la capa de transporte. La capa de talón y esqueleto está justo debajo de la vista del desarrollador. Los objetos stub y skeleton se utilizan para proporcionar una conexión entre el cliente y el objeto remoto. Un stub reenvía las invocaciones de métodos del cliente al servidor y sabe cómo comunicarse con el stub a través del enlace. Por lo tanto, actúa como un proxy donde reside la implementación del objeto remoto. La referencia al objeto remoto por parte de un cliente es literalmente una referencia al stub local. El cliente aloja una copia local del objeto stub. Los esqueletos contienen métodos, que envían llamadas a la implementación de objetos remotos.

Los pasos para diseñar una aplicación RMI son:

  1. Definir interfaces remotas e implementar clientes y objetos remotos.
  2. Compile la fuente y genere stubs y esqueletos.
  3. Hacer accesibles las redes de clases requeridas.
  4. Ejecutar la aplicación.