Especialidad formativa
Persistencia y acceso a datos en java
Qué aprenderás
Adquirir un conocimiento del lenguaje Java y sus tecnologías asociadas, para crear aplicaciones persistentes, teniendo en cuenta que esto puede estar relacionado con ficheros y bases de datos relacionales y no relacionales; así como, conocer casos de uso de las diferentes herramientas que proporciona el lenguaje para este fin.
Contenido del curso
01
Manejo de ficheros en Java
- OBJETIVO
- Comprender los conceptos básicos de Java y su ecosistema en el ámbito del manejo de ficheros de texto y binarios, y para implementar aplicaciones de uso de ficheros.
- CONOCIMIENTOS/ CAPACIDADES COGNITIVAS Y PRÁCTICAS
- Manejo de archivos con de texto
- Introducción a los ficheros de texto
- Conocimiento de las herramientas que proporciona Java para manejo de ficheros de texto
- Manejo de archivos binarios
- Introducción a los ficheros de texto
- Clasificación de los ficheros binarios y diferencias
- Conocimiento de las herramientas que proporciona Java para manejo de ficheros de binarios
- Conocimiento sobre Clases Java para manejo de ficheros:
- Uso de clases para ficheros de texto: File, FileReader, BufferedReader, FileWriter, PrintWriter, Files, Path...etc
- Uso de clases para ficheros binarios: FileInputStream, DataInputStream, FileOutputStream, DataOutputStream...etc
- Realización de operaciones con ficheros
- Implementación de lectura de ficheros
- Implementación de escritura de ficheros
- Implementación de actualización de ficheros
- Manejo de excepciones
- Serialización y deserialización de objetos:
- Definición y propósito
- Uso de la interfaz Serializable
- Definición y uso de un serialVersionUID
- Uso de campos transient
- Uso de clases para este propósito: ObjectOutputStream ObjectInputStream
- Manejo de excepciones
- Consideraciones acerca de la seguridad e implementaciones relacionadas
- Implementación de la serialización y deserialización siguendo un orden
- HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
- Fomento del pensamiento lógico en el marco de operaciones con ficheros.
- Asimilación de la importancia de la seguridad informática en el trabajo con ficheros informáticos.
02
Acceso e interacción con Bases de Datos
- OBJETIVO
- Comprender los conceptos básicos de Java y su ecosistema en el ámbito del manejo de bases de datos relacionales y no relacionales sin uso de ORM, y para implementar aplicaciones capaces de realizar las operaciones CRUD en estas bases de datos.
- CONOCIMIENTOS/ CAPACIDADES COGNITIVAS Y PRÁCTICAS
- Adquisición de los fundamentos sobre acceso a datos con Java
- Importancia del acceso a datos en aplicaciones
- Introducción a los tipos de bases de datos: relacionales vs. no relacionales
- Introducción a SQL y NoSQL
- Conocimiento de librerías y APIs en Java
- Identificación de procedimientos en Java para el acceso a datos
- Repaso de clases y objetos
- Manejo de excepciones
- Uso de interfaces y clases abstractas
- Serialización y deserialización
- Conocimiento de las bases de datos relacionales y JDBC
- Introducción a JDBC (Java Database Connectivity)
- Conocimientos sobre arquitectura y componentes de JDBC
- Conexión a bases de datos (por ejemplo: MySQL, PostgreSQL)
- Ejecución de consultas SQL: SELECT, INSERT, UPDATE, DELETE
- Uso de PreparedStatement y CallableStatement
- Manejo de resultados: ResultSet
- Implementación de transacciones y control de errores
- Implementación de CRUD básico
- Acceso a datos avanzado con JDBC
- Manejo de metadatos
- Implementaciones batch updates
- Uso de pool de conexiones
- Codificación con buenas prácticas y optimización
- Conocimiento de los fundamentos de bases de datos no relacionales (NoSQL)
- Conocimiento de conceptos básicos de NoSQL
- Diferenciación de tipos de bases de datos NoSQL: documentos, clave-valor, columnar, grafos
- Introducción a MongoDB (ejemplo de base de datos de documentos)
- Acceso a MongoDB con el driver oficial de Java
- Implementación de operaciones CRUD con MongoDB
- Codificación de inserción, consulta, actualización y borrado de documentos
- Integración de Java con otras bases de datos NoSQL
- Conocimiento de casos de uso y ejemplos básicos
- Introducción Bases de datos clave-valor
- Implentaciones de operaciones en Bases de datos clave-valor
- Introducción e implementaciones usando bases de datos columnares o basadas en grafos
- HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
- Atención al detalle en las operaciones de acceso a datos.
- Seguimiento y cumplimiento de políticas de protección de datos.
03
Implementación y uso de Hibernate en Java
- OBJETIVO
- Adquirir conocimientos para comprender los conceptos básicos de Java y su ecosistema en el ámbito del manejo de bases de datos relacionales y no relacionales usando Hibernate como ORM, y para implementar aplicaciones capaces de realizar las operaciones CRUD en estas bases de datos usando Hibernate.
- CONOCIMIENTOS/ CAPACIDADES COGNITIVAS Y PRÁCTICAS
- Adquisición de conceptos básicos sobre los ORMs y JPA
- Conocimiento acerca de qué es un ORM
- Conocimiento de ventajas y desventajas de los ORMs
- Introducción a JPA (Java Persistence API)
- Relación entre JPA, Hibernate y otros ORMS
- Utilización de Hibernate para bases de datos relacionales
- Configuración de Hibernate: hibernate.cfg.xml y anotaciones
- Mapeo de entidades: @Entity, @Id, @Column, etc.
- Conocimiento de los tipos de relaciones entre entidades: @OneToOne, @OneToMany, @ManyToOne, @ManyToMany
- Conocimiento del ciclo de vida de una entidad
- Implementación de consultas: HQL (Hibernate Query Language) y Criteria API
- Implementación de transacciones y gestión de sesiones
- Implementación de CRUD con Hibernate
- Identificación de las aplicaciones de Hibernate OGM para NoSQL (MongoDB)
- Conocimiento acerca de qué es Hibernate OGM
- Diferencias entre Hibernate ORM y OGM
- Configuración de Hibernate OGM con MongoDB
- Dependencias Maven/Gradle
- persistence.xml para OGM
- Mapeo de entidades y documentos
- Consultas JPQL y Native Queries
- CRUD con Hibernate OGM y MongoDB
- Evaluación de alternativas y buenas prácticas
- Comparativa de ORMs y acceso directo
- Implementación usando buenas prácticas en el uso de ORMS
- Conocimiento de las ventajas y desventajas de usar ORMs con NoSQL
- Conocimiento de casos de uso recomendados para ORMs y acceso directo
- Consideraciones de cuidado medioambiental en el almacenamiento de datos: evitar redundancia, elección de almacenamiento en cuanto a tipo y ubicación...etc
- HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
- Automatización de tareas para la mejora de la eficiencia en las operaciones.
- Adopción de prácticas con respecto al almacenamiento de datos que redundan en una mayor eficiencia desde el punto de vista medioambiental.
Especialidad formativa