EXPO RMI
Java RMI
Sistemas Distribuidos
Rodrigo Santamaría
+ Java RMI
•
•
RMI
Java RMI
2
+
3
RMI
l
Remote Method Invocation: middleware para que un
objeto que se ejecutaen una JVM use métodos de otro
objeto que se ejecuta en otra JVM (local o remota)
l
l
Introducción a RMI y tutorial:
l
l
Un paso más allá de los socketshttp://download.oracle.com/javase/tutorial/rmi/overview.html
Tutorial de sockets:
l
http://download.oracle.com/javase/tutorial/networking/sockets/
clientServer.html
+
4
RMI
Aplicación
l Aplicación basada en RMI
l
Dos fases fundamentales
l
Localizar objetos remotos
-
Registrados mediante el registro RMI
Pasados por referencia en invocaciones remotas
Comunicarse conobjetos remotos
-
l
-
Gestionado por el servidor RMI, para el usuario es como
llamar a métodos locales
+
5
RMI vs Sockets
RMI
Sockets
n
Invocación de objetosremotos
n
Invocación de métodos remotos
n
Sencillo
n
Complicado
n
No hay un protocolo
n
Necesidad de un protocolo
n
Genera mucho tráfico
n
Genera pocotráfico
n
Stub+registro+objetos
En el fondo, RMI = Sockets + Serialización + Algunas utilidades
+
6
RMI
Implementación
1.
Definir interfaz con los métodos remotos
Seráconocida por cliente y servidor
n
2.
Implementar el servidor
1.
3.
El elemento que dará el servicio de la interfaz
Instanciar el servidor y registrarlo mediante un stub:
n
4. Referencia remota al servidor generada por RMI para el uso
de los clientes
Implementar el cliente que usará el servicio
+ Java RMI
•
•
RMI
Java RMI
7
+
8
Java RMIImplementación
1.
Interfaz: clase que extiende java.rmi.Remote
2.
Servidor: clase que implementa la interfaz
n
3.
Puede tener más métodos que los de la interfaz
Stub: instancia...
Regístrate para leer el documento completo.