integración corba/oodb - discusión una nueva arquitectura para la integración de corba y oodb...

28
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

Upload: adora-sepeda

Post on 29-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

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: 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

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: 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

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: 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

Integración CORBA/OODB - Discusión

Contenido de la Presentación

Introducción

Arquitectura

Discusión

Conclusiones

A Futuro

Preguntas

Page 5: 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

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: 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

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: 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

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: 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

Integración CORBA/OODB - Discusión

Introducción(6)

ClientObject_A

Implementation

IDL Compiler

IDL

StubIDL

Skeleton

ORB

Request

IDL

Object_A

Page 9: 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

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: 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

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: 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

Integración CORBA/OODB - Discusión

Introducción(9)

Otras propuestas

• POS de CORBA• Wrappers• Adapters

– Ejemplo: ODA de ODMG

Page 12: 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

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: 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

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: 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

Integración CORBA/OODB - Discusión

Arquitectura

Middleware

3 Capas

Funcionalidad

RFC´2768

Page 15: 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

Integración CORBA/OODB - Discusión

Vista General

Arquitectura(2)

Vista DesarrolladoresGeneración Código

Page 16: 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

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: 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

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: 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

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: 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

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: 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

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: 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

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: 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

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: 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

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: 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

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: 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

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: 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

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: 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

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: 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

Integración CORBA/OODB - Discusión

Preguntas