SISTEMAS ORIENTADOS A OBJETOS PROBLEMÁTICA DE PERSISTENCIA

14
29/01/03 1 SISTEMAS ORIENTADOS A SISTEMAS ORIENTADOS A OBJETOS OBJETOS PROBLEMÁTICA DE PROBLEMÁTICA DE PERSISTENCIA PERSISTENCIA Víctor Anaya Mayte Redolar Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia

description

SISTEMAS ORIENTADOS A OBJETOS PROBLEMÁTICA DE PERSISTENCIA. Víctor Anaya Mayte Redolar. Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia. Contenidos. Introducción. Arquitecturas de sistemas. Frameworks Mapeo de objetos a base de datos. - PowerPoint PPT Presentation

Transcript of SISTEMAS ORIENTADOS A OBJETOS PROBLEMÁTICA DE PERSISTENCIA

Page 1: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 1

SISTEMAS ORIENTADOS A SISTEMAS ORIENTADOS A OBJETOSOBJETOS

PROBLEMÁTICA DE PROBLEMÁTICA DE PERSISTENCIAPERSISTENCIA

Víctor Anaya Mayte Redolar

Laboratorio de Sistemas de Información

Facultad de InformáticaUniversidad Politécnica de Valencia

Page 2: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 2

ContenidosContenidos

Introducción. Arquitecturas de sistemas. Frameworks

Mapeo de objetos a base de datos. Materialización y desmaterialización. Relaciones y objetos complejos. Transacciones.

Page 3: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 3

IntroducciónIntroducción

La Orientación a Objetos promete ventajas: Desarrollo entendible por el usuario. Fácil mantenimiento. Reusabilidad de objetos en otras aplicaciones.

Objetos deteriorados: sin datos (subrutinas de librerías). Operaciones triviales (CRUD).

Sistemas no OO si solo O.deteriorados.

Page 4: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 4

Arquitecturas de sistemasArquitecturas de sistemas

Tres tipos de arquitecturas en aplicaciones OO [Soren Lauesen]: arquitectura para aplicaciones de negocios

simples. arquitectura para aplicaciones de negocios

complejas. arquitectura para sistemas técnicos.

Page 5: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 5

Arquitectura de negocio Arquitectura de negocio simplesimple

Commit al cerrar la ventana.

Falla la integridad (duplicación de datos).

Recuperación de datos al abrir una ventana.

Falla distribución. (un mismo campo con distintos valores según el objeto de pantalla).

clienteLínea

de ordenproducto

Buffer ventana cliente

NombreDirección

Cliente

Salvar

OrdenNNN Datos

Buffer ventana Orden

Base de Datos

Capa Intermedia

Objetos de Pantalla

Page 6: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 6

Arquitectura de negocio Arquitectura de negocio complejacompleja

Commit: Volcado de datos en wrapper objects.

Integro. Recuperación de los

wrapper objects. Distribución gracias a

objetos observador.

Capa Intermedia

NombreDirección

ObtNom()ActNom()

Línea Orden

Producto

ItemsNombrePrecio

ObNom()AcNom()

ObtNom()ActNom()

Objetos Envolventes

Observer Object

Compras(cliente,producto,item)

Actualiz()

Cliente

Objetos de servicio

Page 7: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 7

Arquitectura de sistemas Arquitectura de sistemas técnicostécnicos

Commit: datos se guardan en objetos de dominio.

Integro. Recuperación de datos

de los objetos del dominio.

Distribución gracias a objetos observador.

Objetos de dominio

Capa Intermedia

Objetos Observador

ClienteCambiarDir()

...

Actualiz()

Page 8: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 8

Esquema de persistenciaEsquema de persistencia

Extendido uso de base de datos relacionales. Necesidad de guardar objetos persistentes. Diseño de framework. Características:

Cjto. de clases que prestan servicio. Clases reutilizables y expansibles. Definición de subclases. Comportamiento

añadido

Page 9: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 9

Mapeo de objetosMapeo de objetos

Objetivo: representar objetos como tablas. Correspondencia entre tuplas y objetos gracias a

un IDO (Identificador Globalmente Único). Patrón Representación de objetos como tablas:

cada objeto un IDO. la tabla tiene IDO como clave primaria.

Page 10: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 10

Materialización - Materialización - DesmaterializaciónDesmaterialización

Clase Intermediario de objetos. Ventajas: Baja acoplamiento, alta cohesión.

Uso de métodos de plantilla definición de comportamiento concreto en subclases.

Uso de caches para mejorar prestaciones y permitir transacciones.

Uso de Agente Virtual materialización lenta o por demanda.

Page 11: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 11

Materialización - Materialización - DesmaterializaciónDesmaterialización

Tipos de caché, según estado:

Limpia y nueva: objetos nuevos sin

modificaciones.

Limpia y vieja: objetos nuevos, modificados.

Sucia y nueva: objetos materializados de una

BD, sin modificaciones

Sucia y vieja: materializados de una BD,

modificados.

Eliminar nueva: objetos nuevos a eliminar.

Eliminar vieja: objetos materializados a eliminar.

Page 12: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 12

Relaciones y objetos Relaciones y objetos complejoscomplejos

Representación de relaciones mediante tablas asociativas. Clave ajena desde el identificador de los objetos

que componen la relación. Tabla asociativa cuya clave primaria es el par de

identificadores de objetos de la relación. Materialización por demanda o por niveles para los

objetos complejos.

Page 13: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 13

TransaccionesTransacciones

Commit: caches sucias: guardar a base de datos. caches eliminidas: se eliminan de memoria y en

caso de ser vieja de la base de datos. cache vieja y limpia: ignorar.

Rollback: Cache vieja y limpia: ignorar. El resto borrar.

Page 14: SISTEMAS ORIENTADOS A OBJETOS  PROBLEMÁTICA DE PERSISTENCIA

29/01/03 14

ConclusionesConclusiones

La mejor forma de abordar aplicaciones de negocio es la arquitectura compleja.

Es difícil encontrar sistemas OO reales. No se cubren la expectativas esperadas. La Orientación a Objetos facilita la tarea de

desarrollo de aplicaciones, pero mantener datos en memoria secundaria se complica mucho auge de BD relacionales.