PDF de programación - CORBA - Una arquitectura para integrar ambientes distribuidos y heterogéneos

Imágen de pdf CORBA - Una arquitectura para integrar ambientes distribuidos y heterogéneos

CORBA - Una arquitectura para integrar ambientes distribuidos y heterogéneosgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 6 de Marzo del 2018)
557 visualizaciones desde el 6 de Marzo del 2018
271,7 KB
27 paginas
Creado hace 18a (07/10/2005)
CORBA

Una arquitectura para integrar ambientes

distribuidos y heterog´eneos

Carlos A. Olarte ([email protected])

BDII

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Contenido

1 Introducci´on

2 Arquitectura OMA

3 CORBA

4 Object Services

5 Application Object

6 Ejemplo

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Motivaci´on

Un proveedor le ofrece un componente escrito en c++ que
implementa cierta funcionalidad y solamente puede ser
ejecutado en UNIX. Sus aplicaciones Windows escritas en
Java requieren dicha funcionalidad. Como puede integrar
ambas aplicaciones?

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Introducci´on

Complejidad de los sistemas distribuidos

Los datos est´an distribuidos

Diferentes lenguajes
Diferentes formatos

La computaci´on es distribuida

Diferentes servidores (Plataforma y S.O)
Diferentes clientes (Plataforma y S.O)

Los usuarios est´an distribuidos

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

...Continuaci´on

Ventajas de los sistemas distribuidos

Se logra hacer uso de las ventajas de cada proveedor de
plataformas

Los componentes pueden ser desarrollados por diferentes
proveedores

Los componentes bien definidos pueden ser reutilizados

Desventajas:

Se pierde un poco de control

La depuraci´on puede llegar a ser muy compleja

Sin herramientas adecuadas la gesti´on y administraci´on puede
salirse de las manos

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Arquitectura OMA
Una soluci´on al problema

Propuesta por OMG (Object Managment Group)

Soluci´on al problema de los ambientes distribuidos

Intenta promover un est´andar para la comunicaci´on y
construcci´on de componentes distribuidos

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

ORB

Canal de comunicaci´on

Invocaciones est´aticas y din´amicas

Transparencia en el lenguaje

Transparencia local / remota

Sistema autodescribible

Seguridad en las transacciones

Mensajes polim´orficos

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Object Services

Aumento de la funcionalidad del ORB

Los servicios incluyen:

Collection
Query
Concurrency
Transaction
Event
Notification
Externalization

Life Cycle
Licensing
Naming
Property
Trading
Relationship
Security
Time

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Common Facilities

Son colecciones de componentes que proveen servicios para la
construcci´on de aplicaciones:

Vertical Facilities. Servicios para aplicaciones espec´ıficas:

Salud
Comercio Electr´onico
Producci´on, etc

Horizontal Facilities. Servicios de prop´osito general:

GUIs
Administraci´on de la informaci´on
Administraci´on del sistema
Manejo de tareas (WorkFlow)

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Application Objects

Objetos propios de la aplicaci´on

Deben ser componentes bien definidos

Deben poder ser reutilizables

Deben ser distribuibles

Auto describibles

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Arquitectura de un Sistema CORBA

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

ORB

Canal de Comunicaci´on

Cuenta con las caracter´ısticas del ORB de OMA
(transparencia, seguridad, transaccionalidad, etc)

CDRs (Common Data Representation)

Interoperabilidad entre ORBS gracias a los protocolos IIOP,
GIOP y ESIOP

Posibilidad de crear puentes entre ORBs y crear federaciones

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Como se definen componentes?

... por medio de IDL (Interface Definition Language):

Lenguaje puramente declarativo

Debe describir cualquier componente que “viva” en el ORB

Contrato entre el cliente y el servidor

Se puede precompilar para generar clases en un lenguaje de
alto nivel que implemente el componente

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Ejemplo

module C a l c u l o {

e x c e p t i o n D i v C e r o {} ;
t y p e d e f
i n t e r f a c e C a l c u l a d o r a {

s e q u e n c e <d o u b l e > D o u b l e A r r a y ;

d o u b l e suma ( i n d o u b l e A ,
d o u b l e
d o u b l e m u l t i p l i c a c i o n ( i n d o u b l e A ,
d o u b l e d i v i s i o n ( i n d o u b l e A ,

r e s t a ( i n d o u b l e A ,

i n d o u b l e B) ;

i n d o u b l e B) ;

i n d o u b l e B) ;

i n d o u b l e B)

r a i s e s

( D i v C e r o ) ;

d o u b l e p r o m e d i o ( i n D o u b l e A r r a y D) ;

} ;

} ;

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Del lado del Cliente

Invocaciones Est´aticas

Se generan los IDL stubs por medio de un compilador de IDL
al lenguaje de implementaci´on

Se obtienen referencias a los objetos implementados (servidor)
con ayuda del ORB

Se realizan las invocaciones como si fueran objeto locales

Invocaciones Din´amicas

Descubrir los m´etodos provistos por los objetos (Servidor)

Construir una invocaci´on (request) y realizar el llamado a
invoke()

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Del lado del servidor

Se generan los esqueletos a partir del IDL

Se implementan los componentes (servants)

Se instancian los componentes

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Referencias de los Objetos

En CORBA se utilizan IORs (Interoperable Object References)
para representar las referencias a los objetos.
Con los m´etodos object to string y string to object se puede
generar el IOR para una instancia de un objeto y generar una
referencia dado un IOR respectivamente.
Ejemplo:
IOR:000000000000001c49444c3a43616c63756c6f2f43616c6....

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Servicio de Nombres (COSNaming)

Adem´as de los m´etodos object to string y string to object es
posible obtener referencias de objetos remotos mediante el
servicio de nombres

Este servicio organiza los objetos dentro de una jerarqu´ıa de
contextos

C a l c u l a d o r a CObj = new C a l c u l a d o r a S e r v a n t ( ) ;
o r g . omg . CORBA . O b j e c t Obj = o r b . r e s o l v e i n i t i a l
NamingContext N a m i n g C o n t e x t = N a m i n g C o n t e x t H e l p e r . n a r r o w ( Obj ) ;
NameComponent C o m p o n e n t L i s t e n e r = new NameComponent ( ” C a l c u l a d o r a ” , ” ” ) ;
NameComponent p a t h L i s t e n e r [ ] = { C o m p o n e n t L i s t e n e r } ;
N a m i n g C o n t e x t . r e b i n d ( p a t h L i s t e n e r , CObj ) ;

r e f e r e n c e s ( ” N a m e S e r v i c e ” ) ;

o r b = ORB . i n i t (A , n u l l ) ;
o r g . omg . CORBA . O b j e c t
NamingContext n c r e f = N a m i n g C o n t e x t H e l p e r . n a r r o w ( r e f ) ;
NameComponent nc = new NameComponent ( ” C a l c u l a d o r a ” , ” ” ) ;
NameComponent p a t h [ ] = { nc } ;
C r e f = C a l c u l a d o r a H e l p e r . n a r r o w ( n c r e f . r e s o l v e ( p a t h ) ) ;

r e f = o r b . r e s o l v e i n i t i a l

r e f e r e n c e s ( ” N a m e S e r v i c e ” ) ;

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Application Object

Deben ser reutilizables (bien definidos)

Objetos tal cual como se ven en la realidad

Definidos por interfaces IDL

Interacci´on transparente con ayuda de los servicios CORBA

Flexibles (no atados a un sistema monol´ıtico)

Deben ser libres del contexto (utilizables en diferentes
situaciones)

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Modelo de Objetos

Bussiness Objects:

Encapsulan los datos, reglas del negocio (como reaccionar a
eventos)
Definen como cambiar su estado

Bussiness Process Objects:

Encapsulan la l´ogica del negocio a nivel m´as general (procesos)
Implementan procesos que involucran varios objetos
Realizan transacciones
Definen como deben cambiar los objetos de acuerdo al entorno

Presentation Object:

Representaci´on visual de los objetos
Comunicaci´on con los Bussiness Object para extraer y
modificar datos
Algunos no son GUI (interfaces con otros sistemas)

Carlos A. Olarte ([email protected]) BDII

CORBA Una arquitectura para integrar ambientes distribuidos y heterog´eneos

Ejemplo

idl

module C a l c u l o {

e x c e p t i o n D i v C e r o {} ;
t y p e d e f
i n t e r f a c e C a l c u l a d o r a {

s e q u e n c e<d o u b l e > D o u b l e A r r a y ;

r e s t a ( i n d o u b l e A ,

d o u b l e suma ( i n d o u b l e A ,
d o u b l e
d o u b l e m u l t i p l i c a c i o n ( i n d o u b l e A ,
d o u b l e d i v i s i o n ( i n d o u b l e A ,
d o u b l e p r o m e d i o ( i n D o u b l e A r r a y D) ;

i n d o u b l e B) ;

i n d o u b l e B) ;

i n d o u b l e B )

i n d o u b l e B) ;
r a i s e s

( D i v C e r o ) ;

} ;

Compilaci´on del IDL

/ / J a v a
i d l j − f a l l − o l d I m p l B a s e C a l c u l a d o r a . i d l
/ / C ( O r b i t )
o r b i t−i d l −2−−s k
  • Links de descarga
http://lwp-l.com/pdf9250

Comentarios de: CORBA - Una arquitectura para integrar ambientes distribuidos y heterogéneos (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