Integracin CORBAOODB Discusin Una Nueva Arquitectura para la
Integración CORBA/OODB - Discusión 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
Integración CORBA/OODB - Discusión 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.
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 q Introducción q Arquitectura q Discusión q Conclusiones q A Futuro q Preguntas
Integración CORBA/OODB - Discusión 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
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) IDL Object_A IDL Compiler Object_A Client Implementation IDL Stub Skeleton Request ORB
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 • Usan CORBA • Se complementan con CORBA • Separa la interfaz del objeto (objeto • Integración “sin costuras” Corba) de su implementación • La implementación de la (objeto BD) integración es directa • 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 q 3 Capas q Funcionalidad q RFC´ 2768
Integración CORBA/OODB - Discusión Arquitectura(2) Vista General Vista Desarrolladores Generación Código
Integración CORBA/OODB - Discusión Arquitectura(3) Mapeo entre modelos de datos: ODL q Tipos Básicos q Relaciones q Otras operaciones Otras consideraciones… IDL
Integración CORBA/OODB - Discusión Arquitectura(4) • Capa media CORBA • Capa de datos ACID • Ambas OO
Integración CORBA/OODB - Discusión 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
Integración CORBA/OODB - Discusión Arquitectura(6) 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) 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)
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 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(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 q Objetivos cumplidos satisfactoriamente. q Integración vs. Interoperabilidad: Distribución Buena Autonomía Diseño Comunicación Ejecución Participación Heterogeneidad NO SÍ SÍ NO Sistemas Sintáctico Semántico SÍ NO NO q Carencia: Solo Bases de Datos OODB. q Falta profundizar en el preprocesador, transacciones, etc.
Integración CORBA/OODB - Discusión A Futuro q Vista Global de Esquemas. Naming Service para esquemas. q Seguridad, Manejador de Eventos, Control de Versiones. q Optimizar Preprocesador.
Integración CORBA/OODB - Discusión Preguntas
- Slides: 28