Integración CORBA/OODB - Discusión Una Nueva Arquitectura para la Integración de CORBA y OODB...
-
Upload
adora-sepeda -
Category
Documents
-
view
227 -
download
0
Transcript of Integración CORBA/OODB - Discusión Una Nueva Arquitectura para la Integración de CORBA y OODB...
Integración CORBA/OODB - Discusión
Una Nueva Arquitectura para la Integración de CORBA y
OODB
Helios Alonso - Luis Pandolfi - Pablo Rodríguez Bocca
Universidad de la República
Facultad de Ingeniería - Instituto de Ingeniería en Computación
Interoperabilidad - Electiva Técnica / Curso de Posgrado
Junio de 2002
Discusión del Artículo
Integración CORBA/OODB - Discusión
Introducción
Corba y OODB se complementan.Mientras CORBA aporta distribución transparente y heterogeneidad, OODB aporta persistencia.
Distribución Heterogeneidad(implementación)
CORBA
Persistencia
OODB
Integración CORBA/OODB - Discusión
Introducción(2)
• Limitaciones actuales
• Adapters• Muy acoplados con CORBA (con el ORB)• No usan OODB
• Wrappers• No hay una solución estándar (y automática)
Integración CORBA/OODB - Discusión
Contenido de la Presentación
Introducción
Arquitectura
Discusión
Conclusiones
A Futuro
Preguntas
Integración CORBA/OODB - Discusión
Introducción(3)
• Common Object Request Broker Architecture • Es una especificación• Permite la comunicación entre objetos distribuidos en
ambientes heterogéneos• Pertenece al Reference Model
¿CORBA?
Integración CORBA/OODB - Discusión
Introducción(4)
Reference Model
• Object Request Broker (ORB)– es el núcleo de CORBA– hace posible la comunicación transparente
• Object Services– brindan funciones básicas– necesarios e independientes del dominio de
aplicación– ejemplo: Naming Service
Integración CORBA/OODB - Discusión
Introducción(5)
IDL
• Interface Definition Language• No es un lenguaje de programación• Se mapea a los diferentes lenguajes de programación• Define Interfaces
Integración CORBA/OODB - Discusión
Introducción(6)
ClientObject_A
Implementation
IDL Compiler
IDL
StubIDL
Skeleton
ORB
Request
IDL
Object_A
Integración CORBA/OODB - Discusión
Introducción(7)
OTS
• Object Transaction Service• Objetivos:
– soporta el concepto de transacción– transacción: unidad de trabajo con las propiedades
ACID.
Integración CORBA/OODB - Discusión
Introducción(8)
OODB
• ODMG estandariza:• ODL
– definir los objetos• OML
– manipular (crear, borrar)• OQL
– recuperar objetos según criterios
Integración CORBA/OODB - Discusión
Introducción(9)
Otras propuestas
• POS de CORBA• Wrappers• Adapters
– Ejemplo: ODA de ODMG
Integración CORBA/OODB - Discusión
Introducción(10)
POS
• Objetivos– BD de cualquier tipo– API independiente del almacen de datos– Arquitectura abierta
• Debilidades– Semántica de las operaciones poco especificada– No hay composición con otros servicios
Integración CORBA/OODB - Discusión
Introducción(11)
Adapters vs Wrappers
• Se complementan con CORBA
• Integración “sin costuras”
• La implementación de la integración es directa
• Usan CORBA
• Separa la interfaz del objeto (objeto Corba) de su implementación (objeto BD)
• Uso mínimo de almacenamiento
• Uso de los objetos de la BD sin modificaciones
• Integración suave con aplicaciones legadas
• Mejor performance
• Implementación mas compleja
Integración CORBA/OODB - Discusión
Arquitectura
Middleware
3 Capas
Funcionalidad
RFC´2768
Integración CORBA/OODB - Discusión
Vista General
Arquitectura(2)
Vista DesarrolladoresGeneración Código
Integración CORBA/OODB - Discusión
Arquitectura(3)
Tipos Básicos
Relaciones
Otras operaciones
Mapeo entre modelos de datos: ODL IDL
Otras consideraciones…
Integración CORBA/OODB - Discusión
Arquitectura(4)
CORBAclient
CORBAserver /OODBclient
OODBserver
Propiedades ACID
¿Propiedades?
• Capa media CORBA
• Capa de datos ACID
• Ambas OO
Integración CORBA/OODB - Discusión
Arquitectura(5)
O2'get/setAttr1get/setAttr2
O1
Cli2Cli1
O5attr5
O4attr4
O3att3
O2attr1attr2
O3'get/setAttr3
O3'get/setAttr3
O5'get/setAttr4
OODB
CORBA
Persistencia (durabilidad)
• Patrón wrapper:• usa get y set
• Las propiedades son de:• tipos básicos CORBA• tipos básicos ODL• Colecciones / relaciones
Integración CORBA/OODB - Discusión
Arquitectura(6)
Cliente
Factory_A
Objeto_A
get/set
create,delete,query
Persistencia (durabilidad)
•Cada tipo tiene su Factory
•El Factory ofrece:• create (INSERT)• delete (DELETE)• query (SELECT)
•Cada objeto ofrece:• get/set (UPDATE)
Integración CORBA/OODB - Discusión
Arquitectura(7)
RO Object
Factory A
TO Resource
Cliente OTS
Transacciones
Además de los elementos persistentes necesitamos transacciones.
• Los objetos del negocio ofrecen la interfaz Resource.
Integración CORBA/OODB - Discusión
Arquitectura(8)
1) Cliente pide una Factory de tipo A para él.
2) El ROServer crea un proceso para dicho cliente
3) El cliente usa la factory para crear / recuperar / borrar objetos
4) La factory construye objetos de capa lógica (relacionados con los objetos de la OODB)
5) Se vinculan los objetos CORBA con: a) los OODB y b) con el OTS.
6) Se ejecutan “gets” y “sets”.
Integración CORBA/OODB - Discusión
Arquitectura(9)
Característica Componente
Punto de entrada RO Server
Representación de datos Transactional Object (TO)
Colección de datos Factory
Transacciones OTS Resource Object
Integración CORBA/OODB - Discusión
Arquitectura(10)
Preprocesador
• Componente clave• Generación de código
automáticamente• Genera:
– Registry Program– Header and glue files– CORBA IDL– Partial RO object
implementation– Recovery Object
Integración CORBA/OODB - Discusión
Discusión
Puntos Fuertes
• Arquitectura abierta• Uso de un estándar en las transacciones• Soporta multiples bases de datos• Resuelve los problemas del POS• Integración con otros servicios CORBA
Integración CORBA/OODB - Discusión
Discusión(2)
Puntos Débiles
• Implementación del Preprocesador poco definida• Falta Integración Semántica• Restringida a OODB
Integración CORBA/OODB - Discusión
Conclusiones
Objetivos cumplidos satisfactoriamente.
Integración vs. Interoperabilidad:
Carencia: Solo Bases de Datos OODB.
Falta profundizar en el preprocesador, transacciones,
etc.
Distribución Autonomía HeterogeneidadBuena Diseño
ComunicaciónEjecución
Participación
NOSÍSÍ
NO
SistemasSintácticoSemántico
SÍNONO
Integración CORBA/OODB - Discusión
A Futuro
Vista Global de Esquemas. Naming Service para esquemas.
Seguridad, Manejador de Eventos, Control de Versiones.
Optimizar Preprocesador.
Integración CORBA/OODB - Discusión
Preguntas