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 y Estructura de RMI
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.
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.
Interfaces y Clases RMI
Implementa 5
paquetes. Java.rmi: contiene Clases, Interfaces y Excepciones vistas por los clientes.
Java.rmi.server: Contiene
clases, Interfaces y Excepciones vistas por los servidores.
Java.rmi.registry: Contiene
Clases, Interfaces y Excepciones útiles para localizar y registrar objetos
remotos.
Java.rmi.dgc: Contiene Clases, Interfaces y Excepciones para la
recolección de basura.
Java.rmi.activation: Contiene
Clases, Interfaces y Excepciones para la activación de objetos remotos.
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.
Desarrollo de Aplicaciones Distribuidas
Componentes
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.
Conceptos
Objeto remoto:
◦
Objeto cuyos métodos pueden invocarse desde otras
máquinas virtuales.
◦
Descrito por una o más interfaces Remotas en las que se
declaran los métodos que pueden ser invocados por objetos desde otras máquinas
virtuales.
Para mas informacion ver Presentacion RMI ubicada en la parte derecha de la pantalla.
En el suiguinte enlace se muestra un video de un ejemplo con objetos y con datos primitivosPara mas informacion ver Presentacion RMI ubicada en la parte derecha de la pantalla.
y en el suiguiente enlace puedes descargar el ejemplo RMI
No hay comentarios.:
Publicar un comentario