jueves, 1 de agosto de 2013

Tecnologías para persistir objetos en Java

La idea es poder hacer que los datos de un objeto sean persistentes teniendo en cuenta lo siguiente:

  • Los objetos encapsulan su estado y son visibles mientras la JVM se está ejecutando.
  • Si la JVM se detiene o el GarbageColector limpia su contenido en memoria los objetos desaparecen y con ellos su estado o contenido.
Para poder persistir los estados de sus objetos Java cuenta con diversos métodos:

  • Mediante serialización: Convertir un objeto en una secuencia de bits mediante la implementación de la interfaz java.io.serializable. Sin embargo no es un lenguaje de consulta ni soporta un alto acceso concurrente.

  •  Mediante Java Database Connectivity JDBC: API estándar para acceder a bases de datos relacionales con todo lo que ello involucra. Sin embargo se están viendo reemplazadas por otras herramientas como las ORM.


  •  Mapeo Objeto Relacional ORM: Técnica de programación para convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y el utilizado en una base de datos relacional, utilizando un motor de persistencia.



 Para esto se utilizan Frameworks como; Hibernate, JDO y JPA




Es un framework del lenguaje de programación Java que maneja datos relacionales en aplicaciones usando la Plataforma Java que le permite ser independiente de SQL,m se basa en el paquete javax.persistence.

Los principales componentes de esta API son:
  • Object-Relational Mapping ORM: Es el mecanismo de mapeo (asignación) de objetos a los datos almacenados en BD relacionales.
  • EntityManager: API encargada de ejecutar operaciones CRUD (Create, Read, Update y Delete) en la BD relacional.
  • Java Persistence Query Language JPQL: Es el lenguaje persistente de consulta Java que permite recuperar datos con un lenguaje orientado a objetos.
  • Java Transaction API JTA: Transacciones y mecanismos de bloqueo cuando se accede a datos de modo concurrente.

 
 Son objetos que viven muy poco tiempo en la memoria y de manera persistente en la BD. Estas pueden ser mapeadas a una BD, pueden ser concretas o abstractas, soportan herencia, relaciones y una vez asignadas se pueden manejar mediante JPA.
Se pueden insertar, eliminar y consultar mediante JPQL gracias a la manipulación que permite ORM mientras se accede a la BD.

 A continuación se muestra un resumen de todo lo visto



No hay comentarios:

Publicar un comentario