SISTEMAS ORIENTADOS A OBJETOS PROBLEMÁTICA DE PERSISTENCIA
-
Upload
winthrop-conrad -
Category
Documents
-
view
21 -
download
2
description
Transcript of SISTEMAS ORIENTADOS A OBJETOS PROBLEMÁTICA DE PERSISTENCIA
![Page 1: SISTEMAS ORIENTADOS A OBJETOS PROBLEMÁTICA DE PERSISTENCIA](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/10.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.es/reader035/viewer/2022072016/5681332a550346895d9a1cc8/html5/thumbnails/14.jpg)
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.