PDF de programación - TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA

Imágen de pdf TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA

TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBAgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 30 de Diciembre del 2017)
526 visualizaciones desde el 30 de Diciembre del 2017
758,8 KB
29 paginas
Creado hace 14a (16/12/2009)
TEMA 5. Otras arquitecturas distribuidas
II. Objetos distribuidos y CORBA

y

j

II  Objetos distribuidos y CORBA
II. Objetos distribuidos y CORBA
1. Objetos Distribuidos
2. CORBA

1. Características
2. Modelo de trabajo
M d l  d  t b j
3. ORB
4. Arquitectura
4. Arquitectura
5. Localización de objetos
6. Servicios de CORBA
7.

IDL

Objetos distribuidos

(cid:121) Objeto: “entidad que encapsula información de estado privada o 
Objeto:  entidad que encapsula información de estado privada o 
datos y un conjunto de operaciones asociadas para manipular los 
datos”

(cid:121) Cada instancia de un objeto en memoria es una entidad 
(cid:121) Cada instancia de un objeto en memoria es una entidad 

diferenciada
(cid:121) Al ser una instancia tienen un ciclo de vida: se crean, usan y 

destruyen.
destruyen.

(cid:121) Permiten descomponer las tareas en componentes más pequeños 

y reutilizables con un comportamiento bien definido.

(cid:121) La aplicación de la POO en entornos distribuidos da lugar a la 
(cid:121) La aplicación de la POO en entornos distribuidos da lugar a la 

aparición de sistemas basados en objetos distribuidos.
(cid:121) Muy similar a las LPR, sólo que se invocan operaciones sobre objetos 

y normalmente se transfieren no sólo parámetros  sino objetos 
y normalmente se transfieren no sólo parámetros, sino objetos 
completos.

(cid:121) Los objetos siguen teniendo un estado y un ciclo de vida

(cid:121) DCOM  OLE  CORBA y Jini son algunos ejemplos
(cid:121) DCOM, OLE, CORBA y Jini son algunos ejemplos.

Arquitecturas Distribuidas 09/10

3

CORBA
(cid:121) Common Object Request Broker Architecture
(cid:121) Creado por el Object Management Group (OMG) en 1989
9 9
(cid:121) Aboga por promover el uso de sistemas abiertos con 

p (O G)

C

p

g

j

interfaces estándar orientadas a objetos, sobre plataformas 
heterogéneas
heterogéneas.

(cid:121) Es una especificación de una sofisticada arquitectura de 
objetos distribuidos. Es independiente del lenguaje de 
programación.



(cid:121) A partir de la especificación se desarrollan una serie de 

librerías de programación que proporcionan funcionalidad 
común (infraestructura).

p p

p g

q

(cid:121) Existen implementaciones para distintos lenguajes de 

programación
programación.

Arquitecturas Distribuidas 09/10

4

Características de CORBA

(cid:121) Posee lenguaje específico para la definición de 
interfaces: IDL (Interface Definition Language)
g )
f
(cid:121) Tipos: primitivos y estructurados

g

(

f

(cid:121) El IDL es independiente del lenguaje de programación
(cid:121) Un lenguaje de programación utiliza un compilador de 
il d  d  

U  l
interfaces específico para obtener los delegados del cliente 
y el servidor

j  d  

ió  

ili

 

 

(cid:121) Forma de paso de parámetros:
copia/restauración (out e inout)
copia/restauración (out e inout)

(cid:121) Primitivos y estructurados: por valor (in) o 

(cid:121) Objetos CORBA: se identifican por referencia ROR 

(Referencia a Objeto Remoto)

Arquitecturas Distribuidas 09/10

5

Características de CORBA

á i

(cid:121) Excepciones remotas (definidas en las interfaces)
(cid:121) Semánticas:

S
(cid:121) al‐menos‐una‐vez (por defecto)
(cid:121) quizás (opcionalmente) (cid:198) oneway en IDL

i

(

l

) (cid:198)

Arquitecturas Distribuidas 09/10

6

Características de CORBA

(cid:121) Proporciona transparencia (para el programador):

D l  i

D  l   l t f

(cid:121) De la plataforma
(cid:121) Del nivel de transporte
(cid:121) Del sistema operativo
 
(cid:121) Del lenguaje

(cid:121) De la implementación
(cid:121) De localización

i

D  l  i

l

Arquitecturas Distribuidas 09/10

7

Modelo de trabajo habitual
(cid:121) El programador define las interfaces remotas, a través 

j

del lenguaje IDL (independiente del lenguaje de 
del lenguaje IDL (independiente del lenguaje de 
programación)

(cid:121) El compilador de interfaces (CI) genera delegados para 
(cid:121) El compilador de interfaces (CI) genera delegados para 

el cliente y el servidor (en un lenguaje de 
programación en particular)
programación en particular)
(cid:121) Pueden usarse diferentes lenguajes en cliente y servidor
(cid:121) Ni el cliente ni el servidor tienen porque estar basados 
(cid:121) Ni el cliente ni el servidor tienen porque estar basados 

en un lenguaje OO

Arquitecturas Distribuidas 09/10

8

Ejemplo

Arquitecturas Distribuidas 09/10

9

g

j

Modelo de trabajo habitual
1.

j

El programador define las interfaces remotas, a través 
del lenguaje IDL
Servidor: se genera el delegado mediante el CI
Servidor: Se implementa el código del objeto servidor
Servidor: Se compila junto con el delegado creado, da 
lugar a un ejecutable
  l C
Cliente: se genera el delegado mediante el CI.
Cl

5.
6. Cliente: Se implementa el código del objeto cliente
7. Cliente: se compila junto con el delegado creado, da 
d  d  

  l d l

  l d l

2.
3.
4.

d  

 

 

d  

d

p

g

j

t

Cli
il  j
lugar a un ejecutable

 

 

t  

Arquitecturas Distribuidas 09/10

10

ORB
(cid:121) La arquitectura de CORBA se basa en el uso de un 
componente que hace de puente entre diferentes 
componente que hace de puente entre diferentes 
plataformas llamado ORB
(cid:121) Object Request Broker (mediador en peticiones a 
(cid:121) Object Request Broker (mediador en peticiones a 

objetos).

(cid:121) Encargado de la comunicación transparente entre 
(cid:121) Encargado de la comunicación transparente entre 

clientes y los métodos de un objeto.
(cid:121) Localizar el objeto, activarlo y pasarle la solicitud.

y p

j

(cid:121) Es un servicio (programa) que se ejecuta tanto en el 

cliente como en el servidor.

Arquitecturas Distribuidas 09/10

11

Arquitectura

q

Cliente
Cliente

PETICIÓN

ORB

Objeto de

Implementación
Implementación

Arquitecturas Distribuidas 09/10

12

q

Arquitectura
(cid:121) Versión inicial de CORBA aprobada en 1991
(cid:121) En 1996: CORBA 2.0

E  
(cid:121) GIOP (General Inter‐ORB Protocol)

6  CORBA 

 

 

 

 

i

N
(cid:121) Normas que permiten que puedan cooperar 
 
implementaciones de diferentes fabricantes
(cid:121) Implementado sobre cualquier nivel de transporte
Implementado sobre cualquier nivel de transporte
(cid:121) En Internet, sobre TCP/IP: IIOP (Internet IOP)

d  

Arquitecturas Distribuidas 09/10

13

Interconexión de ORBs

Arquitecturas Distribuidas 09/10

14

Arquitectura

q
Cliente

Objeto de
Implementación
p e e ac ó

Invocación
Dinámica

Stubs

Interfaz

ORB

Interfaz

ORB

Skeletons
dinámicos

Skeletons

Adaptador de Objetos

p

j

ORB

ORB

GIOP/IIOP

Arquitecturas Distribuidas 09/10

15

Localización de objetos
(cid:122) ¿Cómo puede contactar un cliente con un 

j

d

j

objeto?
(cid:122) Necesita una referencia ROR a dicho objeto
(cid:122) Cada objeto posee ROR única
(cid:122) ROR es generada en el Adaptador de Objetos
(cid:122) Por medio de la ROR el ORB es capaz de localizar el 
ordenador remoto y el adaptador de objetos donde 
 d d  
se encuentra. Este último es capaz de identificar el 
objeto concreto dentro del adaptador.

t     l  d t d  d   bj t

d  

p

Arquitecturas Distribuidas 09/10

16

Localización de objetos

j

(cid:122) En CORBA 2.0  se definen las ROR como:

(cid:122) Referencias a objetos interoperables (IOR):
(cid:122) Referencias a objetos interoperables (IOR):

NOMBRE DEL TIPO DE LA 
INTERFAZ IDL
IDENTIFICADOR DE 
DEPOSITO DE INTERFAZ

PROTOCOLO DE TRANSPORTE 
Y DETALLES DE LA DIRECCIÓN
IIOP NOMBRE DEL
ORDENADOR

NÚMERO DEL 
PUERTO

CLAVE DEL OBJETO

NOMBRE DEL OA

NOMBRE DEL OBJETO
EN EL OA

(cid:122) IOR intercambiado a través del ORB tiene formato 

binario.

(cid:122) Es posible conseguir un IOR “modo cadena” a partir 

t  bi

d l f
del formato binario y vicecersa:
string_to_object, object_to_string

i     i

Arquitecturas Distribuidas 09/10

17

Localización de objetos

j
(cid:122) ¿Cómo obtener ROR de un objeto?

(cid:122) A través de servicios especiales de CORBA
(cid:122) A través de servicios especiales de CORBA
(cid:122) A partir de una IOR modo cadena:

‐ Desde un archivo: por NFS
Desde un archivo: por NFS

• A través de un protocolo de descarga de objetos: 

HTTP, FTP, OBEX, etc.

Arquitecturas Distribuidas 09/10

18

Servicio de Nombres
(cid:121) Permite:

 

b

 bl

E l

(cid:121) Enlazar nombres a ROR (páginas blancas)
)
(cid:121) Creación de contextos de nombramiento (CN)
P

(cid:121) Posee estructura jerárquica (como DNS)
 DNS)

   ROR ( á i

 j á

i

 (

 

BIND (NOMBRE, OBJETO)

Objeto
Objeto

Servidor 
Servidor 
Nombres
Nombres

RESOLVE (NOMBRE)

RESPUESTA CONTIENE IOR 
RESPUESTA CONTIENE IOR 
DE OBJETO

Cliente
Cliente

Arquitecturas Distribuidas 09/10

19

Servicios CORBA
(cid:121) Conjunto de utilidades genéricas para cualquier 

aplicación distribuida
aplicación distribuida.

(cid:121) Los más importantes son:

(cid:121) Nombres
(cid:121) Nombres
(cid:121) Eventos
(cid:121) Notificación
(cid:121) Seguridad
(cid:121) Comercio
(cid:121) Transacciones
Transacciones
(cid:121) Control de la Concurrencia
(cid:121) Objetos persistentes

Arquitecturas Distribuidas 09/10

20

Interface Definition Language
Interface Definition Language
(cid:121) Permite definir

(cid:121) Módulos  interfaces  tipos  atributos y métodos
(cid:121) Módulos, interfaces, tipos, atributos y métodos.

(cid:121) Subconjunto de C++ con construcciones adicionales
(cid:121) Módulo
(cid:121) Módulo

(cid:121) Permite agrupar interfaces y definiciones de tipos en 

unidades lógicas

g

(cid:121) Define un espacio de nombres

Arquitecturas Distribuidas 09/10

21

Interface Definition Language
Interface Definition Language
(cid:121) 15 tipos primitivos:
l

t t

i

h

t

(cid:121) octet, short, long, unsigned short, unsigned
d

t
long, float, double, char, boolean
(cid:121) Constantes de estos tipos: declaradas con const.
Constantes de estos tipos: declaradas con const.

h

d

i

(cid:121) 6 tipos estructurados

(cid:121) Pasados siempre por valor
(cid:121) Pasados siempre por valor
(cid:121)
  • Links de descarga
http://lwp-l.com/pdf8089

Comentarios de: TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA (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