Definición:
} Es un mecanismo ofrecido por Java
para invocar un método de manera remota.
} Forma parte del entorno estándar de
ejecución de Java y proporciona un mecanismo simple para la comunicación de
servidores en aplicaciones distribuidas basadas exclusivamente en Java.
Características
} 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.
Invocación
1) Encapsulado de los parámetros.
2) Invocación del método (del cliente
con el servidor). El invocador se queda esperando una respuesta.
3) Al terminar la ejecución, el
servidor serializa el valor de retorno y lo envía al cliente.
4) El código cliente recibe la
respuesta y continúa como si la invocación hubiera sido local.
Arquitectura:
Puede
verse como un modelo de cuatro capas.
} Primera Capa: es la de aplicación y 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.
}Tercera Capa: es la de referencia remota, y es
responsable del manejo de la parte semántica de las invocaciones remotas. Es
responsable de la replicación de objetos.
}Cuarta Capa: es la de transporte; es la
responsable de realizar las 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.
API de java RMI
} Es una interfaz de programación de
aplicaciones provistas por los creadores del lenguaje java, y que da a los programadores
los medios para desarrollar aplicaciones Java.
} LA API de Java provee un conjunto
de clases utilitarias para efectuar toda clase de tareas dentro de un programa.
Sistema
de Nombrado Registry
Definición
} Es un servidor simple que permite
que una aplicación vea los objetos lo cuales están siendo importados por un
RMI.
} Una vez que se tiene un objeto que
está siendo exportado por un servidor que utiliza métodos de RMI, la
comunicación es entonces como una simple llamada a métodos de un objeto que puede
existir en una máquina diferente.
Características:
} Este setup requiere algunos parámetros de
localización de los objetos remotos.
} Es fácil llamar a objetos remotos
si se tiene su ubicación.
} Una vez que el objeto ha sido
localizado, usarlo de manera remota es relativamente fácil.
} Para poder inicializar objetos remotos, hay que utilizar los
servicios de registry.
Componentes
de aplicaciones distribuidas
} Clientes: Conducen el flujo de la aplicación.
Localizan e invocan métodos ofertados como remotos por los servidores.
} Servidores: Conjunto de objetos de ofrecen
interfaces remotas públicas cuyos métodos pueden ser invocados por clientes de
cualquier procesador de la plataforma.
} Registro: Servicio estático que se establece
en cada nudo, en el que se registran los servidores con un nombre, y donde los
clientes los localizan.
Paso
de Parámetros a través de la Red
} Hay 3 mecanismos básicos
1) Tipos primitivos: se pasan por valor (copia). Todos
son serializables.
2) Objetos Remotos: Se pasan por referencia (talones,
usados para invocar métodos remotos).
3) 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.
Ejemplo de RMI
En este enlace encontraras los archivos para el ejemplo de RMI EjemploRMI
0 comentarios:
Publicar un comentario