You are on page 1of 14

SISTEMAS ORIENTADOS A OBJETOS PROBLEMTICA DE PERSISTENCIA

Vctor Anaya Mayte Redolar

Laboratorio de Sistemas de Informacin Facultad de Informtica Universidad Politcnica de Valencia


29/01/03 1

Contenidos
Introduccin. Arquitecturas de sistemas. Frameworks Mapeo de objetos a base de datos. Materializacin y desmaterializacin. Relaciones y objetos complejos. Transacciones.

29/01/03

Introduccin
La Orientacin a Objetos promete ventajas: Desarrollo entendible por el usuario. Fcil mantenimiento. Reusabilidad de objetos en otras aplicaciones. Objetos deteriorados: sin datos (subrutinas de libreras). Operaciones triviales (CRUD). Sistemas no OO si solo O.deteriorados.

29/01/03

Arquitecturas 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 tcnicos.

29/01/03

Arquitectura de negocio simple


Base de Datos cliente Capa Intermedia Buffer ventana cliente

Lnea de orden

producto

Buffer ventana Orden

Objetos de Pantalla

Cliente
Nombre Direccin Salvar
29/01/03

Orden NNN Datos

Commit al cerrar la ventana. Falla la integridad (duplicacin de datos). Recuperacin de datos al abrir una ventana. Falla distribucin. (un mismo campo con distintos valores segn el objeto de pantalla).

Arquitectura de negocio compleja


Capa Intermedia
Cliente Nombre Direccin Lnea Orden Items Producto Nombre Precio ObtNom() ActNom()

ObtNom() ObNom() ActNom() AcNom() Objetos Envolventes

Commit: Volcado de datos en wrapper objects. Integro. Recuperacin de los wrapper objects. Distribucin gracias a objetos observador.

Compras (cliente,producto,item)

Actualiz()

Objetos de servicio Observer Object


29/01/03 6

Arquitectura de sistemas tcnicos


Objetos de dominio
Cliente
CambiarDir()

...

Capa Intermedia

Commit: datos se guardan en objetos de dominio. Integro. Recuperacin de datos de los objetos del dominio. Distribucin gracias a objetos observador.

Actualiz()

Objetos Observador
29/01/03 7

Esquema de persistencia
Extendido uso de base de datos relacionales. Necesidad de guardar objetos persistentes. Diseo de framework. Caractersticas: Cjto. de clases que prestan servicio. Clases reutilizables y expansibles. Definicin de subclases. Comportamiento aadido

29/01/03

Mapeo de objetos
Objetivo: representar objetos como tablas. Correspondencia entre tuplas y objetos gracias a un IDO (Identificador Globalmente nico). Patrn Representacin de objetos como tablas: cada objeto un IDO. la tabla tiene IDO como clave primaria.

29/01/03

Materializacin Desmaterializacin
Clase Intermediario de objetos. Ventajas: Baja acoplamiento, alta cohesin. Uso de mtodos de plantilla definicin de comportamiento concreto en subclases. Uso de caches para mejorar prestaciones y permitir transacciones. Uso de Agente Virtual materializacin lenta o por demanda.

29/01/03

10

Materializacin Desmaterializacin
Tipos de cach, segn 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.

29/01/03

11

Relaciones y objetos complejos


Representacin de relaciones mediante tablas asociativas. Clave ajena desde el identificador de los objetos que componen la relacin. Tabla asociativa cuya clave primaria es el par de identificadores de objetos de la relacin. Materializacin por demanda o por niveles para los objetos complejos.

29/01/03

12

Transacciones
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.

29/01/03

13

Conclusiones

La mejor forma de abordar aplicaciones de negocio es la arquitectura compleja. Es difcil encontrar sistemas OO reales. No se cubren la expectativas esperadas. La Orientacin a Objetos facilita la tarea de desarrollo de aplicaciones, pero mantener datos en memoria secundaria se complica mucho auge de BD relacionales.

29/01/03

14

You might also like