Sunteți pe pagina 1din 27

Desarrollo de aplicaciones con Java

Creación de unidades de
persistencia

TIAMEX
Tecnologías Informáticas Aplicadas de México SA de CV
Conocimientos previos


Conocimientos intermedios en el uso del API del
lenguaje Java.

Conocimientos básicos del uso de API de JDBC.

Conocimientos básicos sobre el uso de Bases de
datos relacionales (MySQL y SQLite).
Objetivos


Crear aplicaciones utilizando herramientas de la
tecnología Java.

Manipular bases de datos relacionales.

Realizar operaciones sobre tablas relacionales
(crear, leer, actualizar y borrar) usando un ORM.
Productos generados

Desarrollo de una unidad de


persistencia para la gestión de
grupos y contactos de una persona.
Contenido

1.Introducción.
2.Diseño de unidades de persistencia con JDBC.
3.Diseño de unidades de persistencia con ORM
(Eclipselink).
4.Desarrollo del proyecto.
1. Introducción

1. Las unidades de persistencia.


2. Concepto persistencia.
3. Concepto de patrones de diseño.
4. Concepto básicos de bases de datos.
5. El modelo relacional.
Las unidades de persistencia

Cuando abordamos el desarrollo de una


aplicación en Java, uno de los primeros
requerimientos que debemos resolver es la
integración con una base de datos para guardar,
actualizar y recuperar la información que utiliza
nuestra aplicación.
Concepto persistencia

Es la capacidad para guardar y recuperar desde un


medio de almacenamiento.
La persistencia en Base de Datos relacionales se
suele implementar mediante el desarrollo de
funcionalidad específica utilizando la tecnología
JDBC o mediante Frameworks que automatizan el
proceso a partir de ORM’s.
Concepto de patrones de diseño

Los patrones de diseño son unas técnicas para


resolver problemas comunes en el desarrollo de
software y otros ámbitos referentes al diseño de
interacción o interfaces.

Un patrón de diseño resulta ser una solución a un


problema de diseño.
Concepto de patrones de diseño
Para que una solución sea considerada un patrón:

Debe haber comprobado su efectividad resolviendo
problemas similares en ocasiones anteriores.

Debe ser reutilizable, lo que significa que es
aplicable a diferentes problemas de diseño en
distintas circunstancias.
Asimismo, no pretenden:

Imponer ciertas alternativas de diseño frente a
otras.

Eliminar la creatividad inherente al proceso de
diseño.
Concepto básicos de bases de datos


Una base de datos es un conjunto de información
organizada de manera que pueda ser utilizada
eficientemente.

La información en una base está organizada en forma de
registros.

Cada registro contiene campos. Un campo se utiliza para
almacenar una información particular.

El nombre de un campo generalmente identifica la
información almacenada en el campo.

El conjunto de registros que utilizan los mismos campos
conforma una tabla.
El modelo relacional


En este modelo todos los datos son almacenados en
relaciones, y como cada relación es un conjunto de datos, el
orden en el que estos se almacenen no tiene relevancia.

Es más fácil de entender y de utilizar por un usuario no
experto.

La información puede ser recuperada o almacenada por
medio de consultas que ofrecen una amplia flexibilidad y
poder para administrar la información.

Este modelo considera la base de datos como una colección
de relaciones.

Para manipular la información utilizamos un lenguaje
relacional.
2. Diseño de unidades de persistencia
con JDBC.

1. Patrones de diseño y buenas practicas.


2. Operaciones básicas (CRUD).
Patrones de diseño y buenas practicas


El poder identificar y transferir las mejores prácticas al interior de una
organización es crítico para poder obtener una ventaja competitiva y es
por ello que se ha convertido en una de las técnicas de administración
más prominentes.


Una práctica es un método o técnica utilizada para llevar a cabo una parte
de un proceso y describe cómo se realiza. Las mejores prácticas son
aquellas técnicas o métodos que permiten incrementar la satisfacción del
cliente al incorporar su uso en nuestro proceso.


Las unidades de persistencia están conformados por 3 Patrones
principales DTO, DAO y FACADE, cada uno de ellos encargado de poder
realizar una tarea especifica y facilita el desarrollo de la administración de
los datos.
Patrón DTO

El acrónimo DTO son las siglas en inglés
de Data Transfer Object, cuyo
significado en español se traduce como
Objetos de Transferencia de Datos.


El patrón DTO tiene como finalidad de
crear un objeto plano (POJO) con una
serie de atributos que puedan ser
enviados o recuperados en una sola
invocación, de tal forma que un DTO
puede contener información de
múltiples fuentes o tablas y
concentrarlas en una única clase simple.
Patrón DAO

El acrónimo DAO son las siglas en inglés de Data Access Objects, cuyo
significado en español se traduce como Objetos de Acceso a Datos.


El patrón DAO proporciona una interfaz abstracta a algún tipo de base de
datos u otro mecanismo de persistencia. DAO se puede utilizar en un gran
porcentaje de las aplicaciones, que requieran almacenamiento de datos.
DAO oculta todos los detalles de almacenamiento del resto de la aplicación,
actuando como intermediario entre la aplicación y la base de datos.
Patrón Facade ó Fachada

El patrón de diseño facade o fachada nos permite simplificar la
comunicación entre dos objetos (X y Z) de tal forma que para el objeto
X sea más sencillo interactuar con el objeto Z. De esta manera el
cliente solo se conecta con una interfase sencilla, mientras que la
interfase sencilla se conecta a su vez a otras interfases mas complejas.
3. Diseño de unidades de persistencia
con ORM (Eclipselink).

1. Conceptos básicos.
2. Patrones de diseño y buenas practicas.
JPA


JPA es la propuesta estándar que ofrece Java para implementar un
Framework Object Relational Mapping (ORM), que permite interactuar
con la base de datos por medio de objetos, de esta forma, JPA es el
encargado de convertir los objetos Java en instrucciones para el
Manejador de Base de Datos (MDB).
ORM


Object-Relational mapping, o lo que es lo mismo, mapeo objeto-
relacional, es un modelo de programación que consiste en la
transformación de las tablas de una base de datos, en una serie de
entidades que simplifiquen las tareas básicas de acceso a los datos para
el programador.


Un ORM, nos facilita las labores básicas de cualquier acceso a datos , el
CRUD. Realizando todas estas labores a través de un lenguaje de alto
nivel orientado a objetos.
Anotaciones


Las anotaciones en Java se incluyeron a partir de Java 5.

Éstas son metadatos que se pueden asociar a clases, miembros, métodos
o parámetros.

Nos dan información sobre el elemento que tiene la anotación y permiten
definir cómo queremos que sea tratado en tiempo de ejecución.

Las anotaciones no afectan directamente a la semántica del programa,
pero sí a la forma en que los programas son tratados por las
herramientas y librerías.
Herencia


La herencia es un mecanismo que permite la definición de una clase a
partir de la definición de otra ya existente. La herencia permite compartir
automáticamente métodos y datos entre clases, subclases y objetos.

La herencia está fuertemente ligada a la reutilización del código en la
OOP. Esto es, el código de cualquiera de las clases puede ser utilizado sin
más que crear una clase derivada de ella, o bien una subclase.
Clases abstractas e interface

Clase abstracta

Una clase que declara la existencia de métodos pero no la
implementación de dichos métodos, se considera una clase abstracta.


Una clase abstracta puede contener métodos no-abstractos pero al
menos uno de los métodos debe ser declarado abstracto.


Para declarar una clase o un método como abstractos, se utiliza la palabra
reservada abstract.

Interface

Una interface es una variante de una clase abstracta con la condición de
que todos sus métodos deben ser abstractos.
Genéricos


Los genéricos son una instalación de programación genérica que
extienden el sistema de tipos de Java para permitir que un tipo o método
opere en objetos de varios tipos mientras proporciona seguridad de tipo
de tiempo de compilación. En particular, el marco de colecciones Java es
compatible con los genéricos para especificar el tipo de objetos
almacenados en una instancia de colección.
Genéricos


Java Persistence Query Language (JPQL) es un lenguaje de consulta
orientado a objetos independiente de la plataforma definido como parte
de la especificación Java Persistence API (JPA).


JPQL es usado para hacer consultas contra las entidades almacenadas en
una base de datos relacional. Está inspirado en gran medida por SQL, y
sus consultas se asemejan a las consultas SQL en la sintaxis, pero opera
con objetos entidad de JPA en lugar de hacerlo directamente con las
tablas de la base de datos.
Patrón DAO Genérico


Es es un patrón de diseño o llámese también practica de programación
que busca reutilizar código mediante la implementación de operaciones
básicas que se desea implementar en variedad de clases.


Su técnica de implementación consiste en definir una clase que
implementa una interfaz genérica que tendrá definidas estas operaciones
y así mismo su implementación, a partir de esto las demás clases
heredaran sus métodos mediante el atributo extends, como resultado
podremos realizar todas estas operaciones solo con la creación e
instanciamiento de la clase DAO sin necesidad de volver a declarar dichos
métodos, a largo plazo esto representa una gran reutilización de código
que permitirá realizar el mantenimiento de nuestra aplicación de forma
mas sencilla.
Patrón Service

Este patrón se encarga de utilizar
las interfaz del DAO genérico y con
ella logra implementar las clases
que expondrán las necesidades
funcionales de la unidad de
persistencia.

S-ar putea să vă placă și