0% found this document useful (0 votes)
152 views9 pages

Unidad 3 Rmi Act de Aprendizaje

RMI (Remote Method Invocation) allows invoking methods on remote objects similarly to local method calls. It has features like passing objects by reference, distributed garbage collection, and passing arbitrary types. The RMI API provides classes and interfaces for clients to locate and invoke methods on remote objects registered with the RMI registry. Developing distributed applications with RMI involves clients locating and invoking methods on remote objects exported by servers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
152 views9 pages

Unidad 3 Rmi Act de Aprendizaje

RMI (Remote Method Invocation) allows invoking methods on remote objects similarly to local method calls. It has features like passing objects by reference, distributed garbage collection, and passing arbitrary types. The RMI API provides classes and interfaces for clients to locate and invoke methods on remote objects registered with the RMI registry. Developing distributed applications with RMI involves clients locating and invoking methods on remote objects exported by servers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

RMI

(REMOTE METHOD INVOCATION)



INTEGRANTES :
v NORMA ALCAIDE CARRANZA
v JULISSA CITLALI HERNÁNDEZ LÓPEZ
v FRANCISCO JAVIER MENDOZA FERNANDEZ
v HECTOR SOLIS JIMENEZ
v PATRICIA PRIEGO RIQUELME
v ALEXANDER NAJERA GARCIA

ASIGNATURA: PROGRAMACIÓN EN AMBIENTE


CLIENTE SERVIDOR

CARRERA: INGENIERIA EN INFORMATICA



ASESOR: ARIZMENDI LEON SALVADOR

Tabla de contenido
RMI (REMOTE METHOD INVOCATION) ...................................................................... 1
3.1 Características y Estructura de RMI. ............................................................................. 2
3.2 El API java RMI. ........................................................................................................... 3
3.3. Jerarquía de objetos RMI.
 ......................................................................................... 5
3.4. El Sistema de Nombrado Registry.
 ............................................................................ 5
3.5. Desarrollo de Aplicaciones Distribuidas. ..................................................................... 5
3.6. Paso de parámetros a través de la red. ....................................................................... 6
HAY 3 MECANISMOS BÁSICOS .................................................................................................... 6
1) TIPOS PRIMITIVOS: SE PASAN POR VALOR (COPIA). TODOS SON SERIALIZABLES. ....................... 6
2) OBJETOS REMOTOS: SE PASAN POR REFERENCIA (TALONES, USADOS PARA INVOCAR MÉTODOS
REMOTOS). ........................................................................................................................... 6
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. .............................................................. 6
3.7. Callbacks (Resguardos). .............................................................................................. 6
......................................................................................................................................... 7
bibliografía ........................................................................................................................ 9







RMI (REMOTE METHOD INVOCATION)

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.

3.1 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.

3.2 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.
3.3. Jerarquía de objetos RMI.



3.4. El 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.
Ø 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.


3.5. 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.

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.

Invocación a métodos remotos:


◦ Acción de invocar un método de una interfaz remota en un objeto remoto.
◦ Tiene la misma sintaxis de un método local.

3.6. 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.

3.7. Callbacks (Resguardos).
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.

EL SERVIDOR OFRECE UN MÉTODO REMOTO PARA QUE EL CLIENTE REGISTRE SUS CALLBACKS
Ø HAY QUE DISEÑAR UNA INTERFAZ REMOTA PARA EL CALLBACK
Ø LA INTERFAZ DEBE INCLUIR UN MÉTODO QUE SERÁ INVOCADO EN EL CALLBAKC DESDE EL SERVIDOR
Ø EL CLIENTE DEBERÁ SER UNA SUBCLASE DE REMOTEOBJECT E IMPLEMENTARÁ LA INTERFAZ DE CALLBACK
Ø EL CLIENTE SE REGISTRARÁ FRENTE LA CLASE REMOTA PARA SER RELLAMADO.
Ø EL SERVIDOR INVOCA EL MÉTODO REMOTO DEL CLIENTE EN CASO DE APARECER EL EVENTO INDICADO.

¿CÓMO SE EJECUTA ?
1) SE EJECUTA EL SERVIDOR DE REGISTRO RMI, RMIREGISTRY, EN LA MÁQUINA QUE CONTENDRÁ AL OBJETO SERVIDOR.
2) SE CREA UN OBJETO EN EL SERVIDOR, SE EXPORTA, Y SE REGISTRA EN EL SERVICIO RMIREGISTRY CON UN NOMBRE. (SER
CREA INSTANCIA SKELETON).
3) SE CREA EL OBJETO CLIENTE, QUE LLAMARÁ A UN MÉTODO DE LA INTERFAZ DEL OBJETO REMOTO.
4) EL SERVIDOR DE REGISTRO ENVÍA AL PROCESO CLIENTE UNA REFERENCIA REMOTA AL OBJETO (STUB).ESTE STUB CONTIENE LA
DIRECCIÓN IP DEL HOST DONDE RESIDE EL OBJETO REMOTO, EL NUMERO DE PUERTO DE ESCUCHA Y EL ID DEL OBJETO.
5) EL STUB SERIALIZA LOS ARGUMENTOS Y ENVÍA A LA CAPA DE REFERENCIAS REMOTAS UNA PETICIÓN DE CONEXIÓN.
6) LA CAPA DE REFERENCIAS REMOTAS INDICA A LA CAPA DE TRANSPORTE QUE NECESITA ABRIR UNA CONEXIÓN PARA ENVIARLE EL
FLUJO DE DATOS RESULTANTE DEL PASO ANTERIOR.
7) LA CAPA DE TRANSPORTE CREA UN SOCKET DE CLIENTE PARA ENVIAR DICHO FLUJO.
8) EN EL HOST REMOTO LOS DATOS LLEGAN A LA CAPA DE TRANSPORTE Y EL SOCKET SERVIDOR ASOCIADO LOS LEE.
9) LA CAPA DE REFERENCIAS REMOTAS PASA LOS DATOS AL SKELETON.
10) EL SKELETON EXTRAE DEL FLUJO DE DATOS SERIALIZADO LOS OBJETOS INCLUIDOS Y PASA LA LLAMADA AL OBJETO REMOTO.
11) EL OBJETO REMOTO EJECUTA EL MÉTODO INVOCADO CON LOS ARGUMENTOS PROPORCIONADOS Y, SI CORRESPONDE DEVUELVE UN
VALOR AL OBJETO SKELETON.
12) EL SKELETON ENVÍA UNA PETICIÓN DE CONEXIÓN A LA CAPA DE REFERENCIAS REMOTAS Y DELEGA EN ELLA EL ENVÍO DE LA
RESPUESTA.
13) LA CAPA DE REFERENCIAS REMOTAS SERIALIZA LA RESPUESTA Y ENVÍA EL FLUJO DE BYTES RESULTANTE A LA CAPA DE
TRANSPORTE INDICÁNDOLE QUE NECESITA CONEXIÓN.
14) LA CAPA DE TRANSPORTE REMOTA ABRE UN SOCKET DE CLIENTE Y ENVÍA LA RESPUESTA AL HOST LOCAL.
15) ÉSTA LLEGA A LA CAPA DE TRANSPORTE DEL HOST LOCAL Y ALLÍ UN SOCKET SERVIDOR LO TRANSMITE A LA CAPA DE
REFERENCIAS REMOTAS.
16) LA CAPA DE REFERENCIAS REMOTAS EXTRAÉ LA INFORMACIÓN SERIALIZADA Y LA ENVÍA AL STUB.
17) EL STUB ENVÍA EL VALOR DEVUELTO AL OBJETO LOCAL.
bibliografía

https://es.slideshare.net/VERONICAPONCE5/rmi-remote-method-invocation-41837337
http://laurel.datsi.fi.upm.es/_media/docencia/asignaturas/sod/comunicacion_parte4-1pp.pdf

You might also like