5. 1. Introducción
Qué es la Programación Visual? La programación visual brinda los conocimientos
necesarios para diseñar y desarrollar aplicaciones
con un entorno visual amigable y fácil de utilizar
para el usuario.
6. Permite separar una
aplicación en 3 capas,
una forma de organizar y
de hacer escalable un
proyecto.
Sirve para clasificar la información, la
lógica del sistema y la interfaz que se le
presenta al usuario.
Permiten tener el código
bien organizado, legible y mantenible,
además te permite reutilizar código y
aumenta la escalabilidad en tu proyecto.
Patrón de Diseño
Model View
Controller o
MVC
1. Introducción
7. 2. JDBC
JDBC es el API de Java para acceder a sistemas de
gestión de bases de datos (SGBD)
Al hacer uso del API nos va a permitir cambiar de SGBD
sin modificar nuestro código
JDBC es una especie de “puente” entre nuestro
programa Java y el SGBD
8. Para acceder a una BD necesitamos un driver específico
Cada BD suele disponer de un API de acceso propietario
Si usamos ese API, un cambio en la BD provocaría cambios en nuestro código
El driver es específico para esa BD, al cambiar la BD sólo tenemos que cambiar el driver
El driver traduce la llamada JDBC en la correspondiente llamada al API de la BD
3. Drivers
9. 3. Drivers
Tipos de drivers
Tipo 1: Puente JDBC-ODBC
Tipo 2: Parte Java, parte driver nativo
10. 3. Drivers
Tipos de drivers
Tipo 3: Servidor intermediario de acceso a BD
Tipo 4: Drivers Java
20. 6. JPAApi de Persistencia de Java
Es la propuesta Estándar de Java para
realizar la persistencia de objetos en base
de Datos (ORM)
21. 6. JPAApi de Persistencia de Java
ORM (Object Relational Mapping)
Puente entre los Objetos y una base de
Datos.
22. 5. Java Persistence API
Durante muchos años en la plataforma J2EE han existido distintos
frameworks de persistencia como Ibatis, Hibernate , EclipseLink.
IBATIS EclipseLink
Hibernate Spring JDBC
Frameworks de
Persistencia
23. Cada uno de estos frameworks de persistencia han utilizado una
filosofía propia a la hora de decidir de qué forma se almacena la
información en la base de datos. De este amplio conjunto de
frameworks hay un subconjunto que son frameworks ORM (Object
Relational Mapping) como EclipseLink e Hibernate. Algunos otros
frameworks no pueden ser incluidos dentro de esta categoría, caso de
IBatis o Spring JDBC, que no realizan un mapeo propiamente dicho.
Java Persistence API
24. Java Persistence API
Mapeo de entidades de persistencia.
Es el API de JPA que permite asociar Entidades (clases Java) a tablas
de base de datos por medio de anotaciones con la finalidad de
trabajar con base de datos relacionales pero en un ambiente de
objetos; y así abstraiga al desarrollador de los diversos detalles
propios de cada manejador de base de datos por medio de un modelo
estándar de trabajo (Framework de persistencia).
26. Formas de Mapeo
Mediante Hibérnate.
Hibernate es una tecnología de mapeo objeto-relacional (ORM) para la plataforma
Java que facilita el mapeo de atributos entre una base de datos relacional tradicional
y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) o
anotaciones en los beans de las entidades que permiten establecer estas relaciones.
27. Programación
Mediante EclipseLink.
Es una tecnología de servicios de persistencia de fuente abierta de la Fundación Eclipse.
Proporciona un marco extensible que permite a los desarrolladores de Java interactuar
con diversos servicios de datos, incluidas bases de datos, servicios web, mapeo Object
XML (OXM) y Enterprise Information Systems (EIS).
EclipseLink admite una serie de estándares de persistencia que incluyen:
•API Java Persistence (JPA).
•Arquitectura Java para Enlace XML (JAXB).
•Arquitectura de conector de Java (JCA).
•Service Data Objects (SDO).
28. Para ampliar la información sobre el uso y aplicación de JPA, consulta en la wiki oficial
de eclipse, concretamente el artículo relacionado a EclipseLink que se encuentra en el
siguiente enlace:
http://wiki.eclipse.org/EclipseLink/Examples/JPA/JSF_Tutorial#Tutorial:_Build_a_Web_
Application_.28JSF.29_Using_JPA
Programación
Contenido Refuerzo:
30. Anotaciones y Entidades
¿Qué es una Anotación ?
Son metadatos que nos permiten acceder a ellos en tiempo de
ejecución. Los metadatos se pueden llegar a usar como variables
internas para modificar el comportamiento del flujo del programa.
31. ¿Como se puede considerar una clase Entidad?
Una clase de Java para que pueda se considerada una entidad debe
tener una anotación llamada @Entity.
Entidades
32. Una clase con la anotación @Entity debe cumplir con:
• Ser una clase de alto nivel, es decir no debe ser una clase anidada o
inerte.
• Tener un constructor público o protegido sin argumentos.
• No ser final, ni tener métodos o variables de instancia final.
• Implementar la interfaz Serializable, si se requiere transferir o
almacenar el objeto.
• Declarar sus variables de instancia como privadas o protegidas,
accesibles mediante métodos get y set.
33. Fuera de las restricciones vistas anteriormente sobre @Entity puede
extender otras clases e implementar cualquier interfaz, puede contener
constructores, métodos y campos con cualquier modificador de
acceso(visibilidad), además de poder ser clases concretas o
abstractas.
Importante:
35. Ejercicio Práctico
Modelo: Esta capa representa todo lo que tiene que ver con el
acceso a datos: guardar, actualizar, obtener datos, además todo el
código de la lógica del negocio, básicamente son las clases Java y
parte de la lógica de negocio.
Vista: La vista tiene que ver con la presentación de datos del
modelo y lo que ve el usuario, por lo general una vista es la
representación visual de un modelo .
Controlador: El controlador es el encargado de conectar el modelo
con las vistas, funciona como un puente entre la vista y el modelo,
el controlador recibe eventos generados por el usuario desde las
vistas y se encargar de direccionar al modelo la petición respectiva.
36. Herramientas para la práctica con Mysql
Xampp
Mysql Workbeanch
Netbeans
Librerias para el diseño
37. Bibliografía
Deitel, H. M. (2016). Java: como programar.
Bascón Pantoja, E. (2004). El patrón de diseño Modelo-Vista-Controlador (MVC) y su
implementación en Java Swing. Acta Nova, 2(4), 493-507.
Ding, Y. H., Liu, C. H., & Tang, Y. X. (2012). MVC pattern based on JAVA. In Applied Mechanics and
Materials (Vol. 198, pp. 537-541). Trans Tech Publications Ltd.
Fernández, O. B. (2005). Introducción al lenguaje de programación Java. Una guía básica, 9.