PDF de programación - Tema 8: Objetos Distribuidos e Invocación Remota - Java RMI

<<>>
Imágen de pdf Tema 8: Objetos Distribuidos e Invocación Remota - Java RMI

Tema 8: Objetos Distribuidos e Invocación Remota - Java RMIgráfica de visualizaciones

Publicado el 12 de Enero del 2019
1.001 visualizaciones desde el 12 de Enero del 2019
2,3 MB
24 paginas
Sesión
 5:
 
Tema
 8:
 Objetos
 Distribuidos
 e
 Invocación
 Remota.
 
Java
 RMI
 
 

SISTEMAS
 DISTRIBUIDOS
 
 

GRADO
 EN
 INGENIERÍA
 INFORMÁTICA
 

UNED
 
 

Introducción
 (1/2)
 

Índice
 

•  Modelos
 de
 programación
 de
 aplicaciones
 

distribuidas.
 

•  Extensiones
 de
 modelos
 clásicos:
 

– Llamada
 a
 procedimiento
 remoto
 (RPC).
 
– Invocación
 a
 métodos
 remotos
 (RMI).
 
– Basado
 en
 eventos.
 

•  Hoy
 trataremos:
 

– La
 comunicaciópn
 entre
 objetos
 distribuidos.
 
– Diseño
 e
 implementación
 de
 RMI.
 
– Java
 RMI
 

Sistemas
 Distribuidos.
 Tema
 8:
 Objetos
 Distribuidos
 e
 Invocación
 Remota.
 Java
 RMI
 
 
 

2
 

•  Middleware.
 Capa
 soYware
 que
 nos
 proporciona:
 

Introducción
 (2/2)
 

Índice
 

– Transparencia
 frente
 a
 la
 ubicación.
 
– Protocolos
 de
 comunicación.
 
– Hardware.
 
– Sistemas
 Opera\vos.
 
– Lenguajes
 de
 Programación.
 


 

Applications

RMI, RPC and events

Request reply protocol

External data representation

Operating System

Middleware

layers

•  Interfaces.
 Conjunto
 de
 métodos,
 eventos
 y
 propiedades
 
que
 expone
 una
 clase
 o
 módulo,
 permi\endo
 modificar
 la
 
implementación
 sin
 afectar
 a
 los
 usuarios
 de
 la
 clase
 o
 
módulo.
 

•  Interfaces
 de
 servicio
 e
 Interfaces
 remotas.
 
•  Lenguajes
 de
 definición
 de
 interfaces.
 

Sistemas
 Distribuidos.
 Tema
 8:
 Objetos
 Distribuidos
 e
 Invocación
 Remota.
 Java
 RMI
 
 
 

3
 

Comunicación
 entre
 objetos
 remotos
 RMI
 (1/8)
 

Índice
 

•  El
 modelo
 de
 objetos.
 
– Referencias
 a
 objetos.
 
– Interfaces.
 
– Acciones.
 
– Excepciones.
 throw/catch
 
– Compactación
 automá\ca
 de
 memoria.
 

•  Objetos
 Distribuidos.
 
– Estado
 de
 un
 objeto.
 
– Estado
 de
 un
 sistema
 distribuido.
 
– Arquitectura
 cliente-­‐servidor.
 

Sistemas
 Distribuidos.
 Tema
 8:
 Objetos
 Distribuidos
 e
 Invocación
 Remota.
 Java
 RMI
 
 
 

4
 

Índice
 

Comunicación
 entre
 objetos
 remotos
 RMI
 (2/8)
 

•  El
 modelo
 de
 objetos
 distribuido.
 
– Extensión
 del
 modelo
 de
 objetos.
 
– Objeto
 Remoto:
 Puede
 recibir
 invocación
 de
 métodos
 
remotos,
 que
 son
 aquellas
 realizadas
 desde
 objetos
 en
 
otros
 procesos.
 

– Conceptos
 fundamentales
 para
 este
 modelo:
 

•  Referencia
 a
 objeto
 remoto.
 
 
•  Interfaz
 remota.
 
•  Acciones
 en
 un
 sistema
 distribuido.
 
•  Compactación
 de
 memoria
 en
 un
 sistema
 distribuido.
 
•  Excepciones.
 

Sistemas
 Distribuidos.
 Tema
 8:
 Objetos
 Distribuidos
 e
 Invocación
 Remota.
 Java
 RMI
 
 
 

5
 

Comunicación
 entre
 objetos
 remotos
 RMI
 (3/8)
 

Índice
 

•  Cues\ones
 de
 diseño
 para
 RMI.
 

– Semán\ca
 Invocación
 remota
 frente
 a
 Invocación
 local.
 

•  Pudiera
 ser.
 Se
 ejecuta
 una
 vez
 o
 ninguna.
 
•  Al
 menos
 una
 vez.
 Puede
 haberse
 ejecutado
 varias
 veces.
 
Operaciones
 idempotentes.
 
•  Máximo
 una
 vez.
 Se
 recibe
 o
 el
 resultado
 o
 una
 excepción.
 
Usada
 en
 Java
 RMI.
 

– Nivel
 de
 transparencia.
 
 

•  ¿Invocaciones
 locales
 iguales
 a
 RMI?
 
•  RMI
 más
 vulnerables
 a
 fallos
 y
 mayor
 latencia.
 
•  Java
 RMI:
 misma
 sintaxis
 pero
 implementan
 la
 interfaz
 
Remote
 y
 lanzan
 RemoteExcep\ons
 
 

Sistemas
 Distribuidos.
 Tema
 8:
 Objetos
 Distribuidos
 e
 Invocación
 Remota.
 Java
 RMI
 
 
 

6
 

Índice
 

Comunicación
 entre
 objetos
 remotos
 RMI
 (4/8)
 
•  Implementación
 de
 RMI.
 
- Módulo
 de
 comunicación.
 En
 cada
 proceso
 cliente
 y
 
servidor.
 
- Man\enen
 la
 seman\ca
 de
 invocación.
 
- El
 del
 servidor,
 en
 respuesta
 al
 iden\ficador
 de
 objeto
 remoto
 
en
 la
 pe\ción,
 selecciona
 el
 distribuidor
 para
 la
 clase
 del
 objeto
 
invocado,
 devolviendo
 la
 referencia
 obtenida
 del
 módulo
 de
 
referencia
 remota.
 
 

- Módulo
 de
 referencia
 remota.
 
 

- En
 cada
 proceso
 será
 responsable
 de
 traducir
 las
 referencias
 
entre
 objetos
 locales
 y
 remotos.
 
 
- Usa
 una
 tabla
 de
 objetos
 remotos
 con
 los
 objetos
 remotos
 del
 
proceso
 y
 los
 proxys
 locales.
 

Sistemas
 Distribuidos.
 Tema
 8:
 Objetos
 Distribuidos
 e
 Invocación
 Remota.
 Java
 RMI
 
 
 

7
 

Índice
 

Comunicación
 entre
 objetos
 remotos
 RMI
 (5/8)
 
-  SoYware
 RMI.
 Capa
 entre
 los
 objetos
 de
 nivel
 
aplicación
 y
 los
 módulos
 de
 comunicación
 y
 
referencia
 remota.
 
-­‐Proxy.
 Hace
 transparente
 
 
al
 cliente
 la
 RMI.
 
 
 
-­‐Distribuidor.
 Selecciona
 el
 
método
 apropiado
 del
 
 
esqueleto
 del
 objeto
 remoto.
 
 
-­‐Esqueleto.
 Clase
 que
 implementa
 los
 métodos
 de
 la
 interfaz
 remota.
 

- Generación
 de
 las
 clases
 para
 cada
 proxy,
 
distribuidor
 y
 esqueleto.
 
 
- Automá\camente
 mediante
 un
 compilador
 de
 interfaces.
 

Sistemas
 Distribuidos.
 Tema
 8:
 Objetos
 Distribuidos
 e
 Invocación
 Remota.
 Java
 RMI
 
 
 

8
 

Índice
 
- Programas
 cliente
 y
 servidor.
 

Comunicación
 entre
 objetos
 remotos
 RMI
 (6/8)
 

-­‐  Servidor:
 Distribuidores,
 esqueletos
 y
 clases
 servidoras.
 

 

Inicialización
 en
 clases
 serv.:
 Al
 menos
 crear
 uno
 de
 los
 objetos
 
remotos,
 y
 registrarlo
 en
 un
 enlazador.
 

-­‐  Cliente:
 Proxy
 de
 cada
 objeto
 remoto
 al
 que
 invoque.
 
-­‐  Métodos
 factoria.
 Las
 interfaces
 no
 pueden
 tener
 constructores.
 
Los
 objetos
 remotos
 se
 crean
 en
 la
 seccion
 de
 inicialización
 o
 a
 
través
 de
 metodos
 factoria
 incluidos
 en
 la
 interfaz
 remota.
 
 
 

- El
 enlazador.
 
 

- Servicio
 que
 facilita
 las
 referencia
 a
 objetos
 remotos.
 
Servidores
 registran
 y
 clientes
 busca
 los
 objetos
 
remotos.
 En
 Java
 RMIRegistry.
 

Sistemas
 Distribuidos.
 Tema
 8:
 Objetos
 Distribuidos
 e
 Invocación
 Remota.
 Java
 RMI
 
 
 

9
 

Índice
 

Comunicación
 entre
 objetos
 remotos
 RMI
 (7/8)
 
- Hilos
 del
 servidor.
 Cada
 ejecución
 de
 una
 invocación
 remota
 
correrá
 en
 un
 hilo
 o
 hebra
 separada.
 
- Ac\vación
 de
 objetos
 remotos.
 
 

- Objeto
 remoto
 podrá
 estar
 Ác\vo
 o
 Pasivo.
 
- Objeto
 pasivo:
 Implementación
 y
 estado
 empaquetado.
 
- Proceso
 ac\vador:
 Registrár
 y
 ac\var
 los
 objetos
 pasivos,
 y
 
controlar
 los
 objetos
 ac\vados.
 
 
 
 

- Almacenes
 de
 objetos
 persistentes.
 

- Existencia
 garan\zada
 cuando
 esta
 pasivo.
 Persistent
 Java
 
- Contendrá
 grandes
 can\dades
 de
 objetos
 en
 disco.
 
 

- Ubicación
 de
 objetos.
 Referencia
 y
 dirección
 de
 Objeto
 Remoto.
 
 

- Servicio
 de
 localización.
 A
 par\r
 de
 referencias.
 

Sistemas
 Distribuidos.
 Tema
 8:
 Objetos
 Distribuidos
 e
 Invocación
 Remota.
 Java
 RMI
 
 
 

10
 

Comunicación
 entre
 objetos
 remotos
 RMI
 (8/8)
 

•  Compactación
 automá\ca
 de
 memoria.
 

Índice
 

– Recuperar
 la
 memoria
 cuando
 no
 existan
 referencias
 a
 

un
 objeto
 local
 o
 remoto.
 

– Algoritmo
 distribuido
 basado
 en
 recuento
 de
 

referencias:
 
•  El
 servidor
 controla
 el
 nº
 de
 proxys
 existentes
 
•  Si
 no
 existen
 puede
 liberar
 la
 memoria
 mientras
 no
 existan
 
referencia
 locales.
 
•  Seman\ca
 de
 invocación
 ‘al
 menos
 una
 vez’
 y
 periodos
 de
 
concesión
 renovables
 por
 los
 clientes.
 
•  Java
 RMI.
 Concesiones
 con
 ‘Lease’.
 

Sistemas
 Distribuidos.
 Tema
 8:
 Objetos
 Distribuidos
 e
 Invocación
 Remota.
 Java
 RMI
 
 
 

11
 

Eventos
 y
 No\ficaciones
 (1/3)
 
•  Objetos
 reaccionan
 de
 forma
 asincrona
 a
 

Índice
 

no\ficaciones
 asociadas
 a
 eventos
 originados
 en
 
objetos
 remotos.
 

•  Paradigma
 Publica-­‐Subscribe.
 
•  Sistemas
 distribuidos
 basados
 en
 eventos:
 
– Heterogéneos.
 Sólo
 se
 requiere
 que
 los
 objetos
 

generadores
 de
 eventos
 publiquen
 los
 \pos
 de
 eventos
 
que
 ofrecen
 y
 que
 los
 otros
 objetos
 se
 subscriban
 a
 los
 
eventos
 y
 proporciones
 una
 interfaz
 para
 recibir
 las
 
no\ficaciones.
 

– Asíncronos.
 
 No\ficaciones
 asíncronas.
 Desacoplados.
 

Sistemas
 Distribuidos.
 Tema
 8:
 Objetos
 Distribuidos
 e
 Invocación
 Remota.
 Java
 RMI
 
 
 

12
 

•  Par\cipantes
 en
 no\ficación
 de
 eventos
 

Eventos
 y
 No\ficaciones
 (2/3)
 

Índice
 

distribuida.
  • Links de descarga
http://lwp-l.com/pdf14830

Comentarios de: Tema 8: Objetos Distribuidos e Invocación Remota - Java RMI (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad