IFCD0183

Persistencia y acceso a datos en java

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.

Diseñado y producido por Smartmind

Disponibilidad:

Procesamiento y cierre

Contenidos

IFCD0183 — Persistencia y acceso a datos en java

Módulo 1

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

Contenidos: 5

Conocimiento/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.

Módulo 2

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

Contenidos: 7

Conocimiento/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.

Módulo 3

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

Contenidos: 4

Conocimiento/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.