5. Persistencia de objetos¶
5.1. ¿De qué va este tema?¶
Compararemos bases objeto-relacionales y orientadas a objetos. Utilizaremos sus mecanismos de acceso para conservar estructuras, consultar y modificar objetos y comprobar transacciones mediante componentes de persistencia.
Dedicación orientativa: unas 40 horas. El tiempo que necesites dependerá de tus conocimientos previos y de las dificultades que encuentres.
Punto de partida: dominio, contrato, conectores y experiencia con ORM.
5.2. Clases¶
5.2.1. ORM y bases que almacenan objetos¶
Filas, objetos, identidad y estructura del dominio.
Mecanismo de mapeo frente a modelo de almacenamiento del gestor.
Actividad
Base objeto-relacional, orientada a objetos y documental.
Capacidades, ventajas y límites según el escenario.
Actividad
5.2.2. Tipos estructurados en el gestor relacional¶
Tipos, atributos y colecciones según capacidades del motor.
Representación de un objeto mediante SQL.
Actividad
Funciones del gestor y acceso desde la aplicación.
Conversión del conector frente a estructura conservada por el motor.
Actividad
5.2.3. Identidad y referencias en una base de objetos¶
Identidad persistente, referencias, grafos y alcance de persistencia.
Objetos compartidos frente a copias con iguales valores.
Actividad
API de acceso, recuperación y lenguaje de consulta.
Preparación de una base orientada a objetos y comparación de garantías.
Actividad
5.2.4. Conectar y cerrar en ambos modelos¶
Configuración, apertura y autenticación en el gestor objeto-relacional.
Conector y recurso adquirido.
Actividad
Sesión o conexión en la base de objetos.
Cierre garantizado y diferencias entre ambas APIs.
Actividad
5.2.5. Persistir objetos simples¶
Identidad, atributos y representación persistente.
Almacenamiento de una entidad sencilla.
Actividad
Recuperación después de cerrar y reabrir.
Misma comprobación en ambos modelos de almacenamiento.
Actividad
5.2.6. Objetos estructurados y colecciones¶
Composición, colección y relaciones del dominio.
Alcance del conjunto que se debe conservar.
Actividad
Inserción, recuperación, anidamiento y cardinalidad.
Comprobación de estructuras en los dos gestores.
Actividad
5.2.7. Referencias, profundidad y límites de persistencia¶
Referencia compartida, carga y profundidad.
Copias inesperadas y pérdida de relaciones.
Actividad
Objeto ausente, colección vacía y ciclo de vida.
Modificación de referencias y comprobación tras reabrir la sesión.
Actividad
5.2.8. Consultas sobre objetos persistentes¶
SQL de objetos y consulta de atributos estructurados.
Selección por valores y relaciones.
Actividad
API o lenguaje del gestor de objetos; fundamentos de OQL.
Conversión de resultados al contrato de acceso.
Actividad
5.2.9. Modificar y eliminar objetos¶
Identidad, actualización y estado persistente.
Cambio sobre un objeto recuperado.
Actividad
Colecciones, referencias y eliminación.
Diferencias de propagación entre los modelos.
Actividad
5.2.10. Transacciones en los dos gestores¶
Límites, confirmación y reversión según la API.
Agrupación de cambios en una operación.
Actividad
Fallo intermedio, estado en memoria y recarga.
Garantías efectivamente comprobadas en cada gestor.
Actividad
5.2.11. Componente, pruebas y documentación¶
Contrato, adaptadores y selección de implementación.
Operaciones y configuración del componente de objetos.
Actividad
Pruebas comunes, fallos y documentación de la aplicación.
Reproducción del comportamiento en ambos modelos.
Actividad
5.2.12. Comparar las soluciones de objetos¶
Identidad, estructura, lenguaje y transacciones.
Resultados comunes y diferencias de comportamiento.
Actividad
Uso, límites y requisitos de un escenario.
Diagnóstico de divergencias con pruebas existentes.
Actividad
Test de autoevaluación
Actividad final integradora