280 likes | 446 Views
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
E N D
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 Interoperabilidad - Electiva Técnica / Curso de Posgrado Junio de 2002
Introducción OODB Persistencia Distribución Heterogeneidad (implementación) CORBA Corba y OODB se complementan. Mientras CORBA aporta distribución transparente y heterogeneidad, OODB aporta persistencia.
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)
Contenido de la Presentación • Introducción • Arquitectura • Discusión • Conclusiones • A Futuro • Preguntas
Introducción(3) ¿CORBA? • Common Object Request Broker Architecture • Es una especificación • Permite la comunicación entre objetos distribuidos en ambientes heterogéneos • Pertenece al Reference Model
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
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
Introducción(6) IDL Object_A IDL Compiler Object_A Implementation Client IDL Stub IDL Skeleton Request ORB
Introducción(7) OTS • Object Transaction Service • Objetivos: • soporta el concepto de transacción • transacción: unidad de trabajo con las propiedades ACID.
Introducción(8) OODB • ODMG estandariza: • ODL • definir los objetos • OML • manipular (crear, borrar) • OQL • recuperar objetos según criterios
Introducción(9) Otras propuestas • POS de CORBA • Wrappers • Adapters • Ejemplo: ODA de ODMG
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
Introducción(11) Adapters vs Wrappers • 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 • Se complementan con CORBA • Integración “sin costuras” • La implementación de la integración es directa
Arquitectura Middleware • 3 Capas • Funcionalidad • RFC´2768
Vista Desarrolladores Generación Código Arquitectura(2) Vista General • Windows • Usar y Aportar a Bicoti • Medidas Manuales y Automáticas • Funcionalidades de Tratamiento de Imágenes • Reportes de Fácil Interpretación
Arquitectura(3) Mapeo entre modelos de datos: ODL IDL • Tipos Básicos • Relaciones • Otras operaciones Otras consideraciones…
Arquitectura(4) • Capa media CORBA • Capa de datos ACID • Ambas OO
Arquitectura(5) • Persistencia (durabilidad) • Patrón wrapper: • usa get y set • Las propiedades son de: • tipos básicos CORBA • tipos básicos ODL • Colecciones / relaciones
Arquitectura(6) • Persistencia (durabilidad) • Cada tipo tiene su Factory • El Factory ofrece: • create (INSERT) • delete (DELETE) • query (SELECT) • Cada objeto ofrece: • get/set (UPDATE)
Arquitectura(7) Transacciones Además de los elementos persistentes necesitamos transacciones. • Los objetos del negocio ofrecen la interfaz Resource.
Arquitectura(8) • Cliente pide una Factory de tipo A para él. • El ROServer crea un proceso para dicho cliente • El cliente usa la factory para crear / recuperar / borrar objetos • La factory construye objetos de capa lógica (relacionados con los objetos de la OODB) • Se vinculan los objetos CORBA con: a) los OODB y b) con el OTS. • Se ejecutan “gets” y “sets”.
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
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
Discusión(2) Puntos Débiles • Implementación del Preprocesador poco definida • Falta Integración Semántica • Restringida a OODB
Conclusiones • Objetivos cumplidos satisfactoriamente. • Integración vs. Interoperabilidad: • Carencia: Solo Bases de Datos OODB. • Falta profundizar en el preprocesador, transacciones, etc.
A Futuro • Vista Global de Esquemas. Naming Service para esquemas. • Seguridad, Manejador de Eventos, Control de Versiones. • Optimizar Preprocesador.