1 / 14

SISTEMAS ORIENTADOS A OBJETOS PROBLEMÁTICA DE PERSISTENCIA

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.

Download Presentation

SISTEMAS ORIENTADOS A OBJETOS PROBLEMÁTICA DE PERSISTENCIA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Contenidos • Introducción. • Arquitecturas de sistemas. • Frameworks • Mapeo de objetos a base de datos. • Materialización y desmaterialización. • Relaciones y objetos complejos. • Transacciones.

  3. Introducció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.

  4. 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 técnicos.

  5. Arquitectura de negocio simple Base de Datos • 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). cliente Línea de orden producto Capa Intermedia Buffer ventana cliente Buffer ventana Orden Objetos de Pantalla Cliente Nombre Dirección Orden NNN Datos Salvar

  6. Arquitectura de negocio compleja Capa Intermedia • Commit: Volcado de datos en wrapper objects. • Integro. • Recuperación de los wrapper objects. • Distribución gracias a objetos observador. Cliente Línea Orden Producto Nombre Dirección Nombre Precio Items ObtNom() ActNom() ObNom() AcNom() ObtNom() ActNom() Objetos Envolventes Compras (cliente,producto,item) Actualiz() Objetos de servicio Observer Object

  7. Arquitectura de sistemas técnicos Objetos de dominio • Commit: datos se guardan en objetos de dominio. • Integro. • Recuperación de datos de los objetos del dominio. • Distribución gracias a objetos observador. Cliente CambiarDir() ... Capa Intermedia Actualiz() Objetos Observador

  8. Esquema 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

  9. Mapeo 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.

  10. Materialización - Desmaterializació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.

  11. Materialización - Desmaterializació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.

  12. Relaciones y objetos complejos • 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.

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

  14. Conclusiones • 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.

More Related