RMI
(Java Remote Method Invocation)
(Java Remote Method Invocation)
- 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 y estructura de RMI
- 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.
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.
Arquitectura de RMI
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.
El API 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
- 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.
Desarrollo 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.
Callbacks en RMI
- El cliente inscribe un objeto remoto para recibir una invocación remota.
- Al ocurrir cierto evento, el servidor realiza una devolución a cada cliente interesado.
EJEMPLO:
DESCARGAR EJEMPLO :RMI
0 comentarios:
Publicar un comentario