una nueva arquitectura para la integración de corba y oodb
DESCRIPTION
Una Nueva Arquitectura para la Integración de CORBA y OODB. Discusión del Artículo. Helios Alonso - Luis Pandolfi - Pablo Rodríguez Bocca Universidad de la República Facultad de Ingeniería - Instituto de Ingeniería en Computación - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/1.jpg)
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
![Page 2: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/2.jpg)
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
![Page 3: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/3.jpg)
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)
![Page 4: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/4.jpg)
Integración CORBA/OODB - Discusión
Contenido de la Presentación
Introducción
Arquitectura
Discusión
Conclusiones
A Futuro
Preguntas
![Page 5: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/5.jpg)
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?
![Page 6: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/6.jpg)
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
![Page 7: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/7.jpg)
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
![Page 8: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/8.jpg)
Integración CORBA/OODB - Discusión
Introducción(6)
ClientObject_A
Implementation
IDL Compiler
IDL
StubIDL
Skeleton
ORB
Request
IDL
Object_A
![Page 9: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/9.jpg)
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.
![Page 10: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/10.jpg)
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
![Page 11: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/11.jpg)
Integración CORBA/OODB - Discusión
Introducción(9)
Otras propuestas
• POS de CORBA• Wrappers• Adapters
– Ejemplo: ODA de ODMG
![Page 12: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/12.jpg)
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
![Page 13: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/13.jpg)
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
![Page 14: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/14.jpg)
Integración CORBA/OODB - Discusión
Arquitectura
Middleware
3 Capas
Funcionalidad
RFC´2768
![Page 15: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/15.jpg)
Integración CORBA/OODB - Discusión
Vista General
Arquitectura(2)
Vista DesarrolladoresGeneración Código
![Page 16: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/16.jpg)
Integración CORBA/OODB - Discusión
Arquitectura(3)
Tipos Básicos
Relaciones
Otras operaciones
Mapeo entre modelos de datos: ODL IDL
Otras consideraciones…
![Page 17: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/17.jpg)
Integración CORBA/OODB - Discusión
Arquitectura(4)
CORBAclient
CORBAserver /OODBclient
OODBserver
Propiedades ACID
¿Propiedades?
• Capa media CORBA
• Capa de datos ACID
• Ambas OO
![Page 18: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/18.jpg)
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
![Page 19: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/19.jpg)
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)
![Page 20: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/20.jpg)
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.
![Page 21: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/21.jpg)
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”.
![Page 22: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/22.jpg)
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
![Page 23: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/23.jpg)
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
![Page 24: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/24.jpg)
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
![Page 25: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/25.jpg)
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
![Page 26: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/26.jpg)
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
![Page 27: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/27.jpg)
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.
![Page 28: Una Nueva Arquitectura para la Integración de CORBA y OODB](https://reader033.vdocuments.co/reader033/viewer/2022051018/568147ac550346895db4e9ca/html5/thumbnails/28.jpg)
Integración CORBA/OODB - Discusión
Preguntas