RMI (Remote Method Invocation)

RMI (Java Remote Invocation)

Es un mecanismo ofrecido por Java para invocar un método de manera remota. Proporciona un mecanismo simple para la comunicación de servidores en aplicaciones distribuidas basadas exclusivamente en Java.
Algunas de sus principales características son:
  •   Facilidad de uso en la programación, por estar específicamente diseñado para java.
  •     Proporciona paso de objetos por referencia.
  •        Recolección de basura distribuida.
  •        Paso de tipos arbitrarios.

Arquitectura (4 capas)

Primer Capa: Capa de aplicación, corresponde con la implementación real de las aplicaciones cliente y servidor.
Segunda Capa: Es la que interactúa directamente con la capa de aplicación.  Se encuentran las llamadas a objetos remotos y acciones junto con sus parámetros y retornos de objetos.
Tercer Capa: Es la de referencia remota, y es responsable del manejo de la parte semántica de las invocaciones remotas. Es la responsable de la replicación de objetos.
Cuarta Capa: Es la de transporte, es la responsable de realizar conexiones necesarias y manejo del transporte de los datos de una máquina a otra.
Skeleton y Stub: Dota a clientes y servidores de una interfaz que les permite localizar objetos remotos para invocar sus métodos como si fueran locales.



Registry: es un servidor simple que permite que una aplicación vea los objetos, que están siendo importados por un RMI.
Callback: se refiere a las llamadas y respuestas de los clientes a los servidores.

Paso de Parámetros a través de la Red

Tipos primitivos: se pasan por valor (copia). Todos son serializables.
Objetos Remotos: Se pasan por referencia (talones, usados para invocar métodos remotos).
Objetos locales: Se pasan por valor (sólo si son serializables), se crea un nuevo objeto en  la máquina virtual que recibe la copia.


Para poder utilizar los métodos y clases  de RMI, se puede instalar y consultar el API de Java. 



Ejemplo

Para tener una idea más clara en el vídeo se muestra un ejemplo de RMI, para el cuál sólo se necesita tener instalado el JDK de Java. Aquí puedes descargar los archivos y una presentación completa de RMI.



Referencias

JAVA RMI: Remote Method Invocation, Troy Bryan Downing, IDG Books Worlwide inc.

1 Response to "RMI (Remote Method Invocation)"

  1. Unknown says:
    25 de noviembre de 2014 a las 6:02 p.m.

    Hola en general me gusta tu blog. muy bien!

Publicar un comentario