ESCJV01ILTDesarrollo de Software
ESCUELA DESARROLLO JAVA
160 Presencial-Remoto €0.00
Descripción
En esta Escuela de larga duración el alumno adquirirá las competencias necesarias para afrontar proyectos de desarrollo en Java, utilizando el framework Spring y aplicando buenas prácticas en materia de clean code, seguridad y mantenimiento de código fuente.
El entorno de trabajo será el IDE Eclipse y se aprenderá a usar GIT / Github para el control de versiones. El curso tiene un foco en el Test Driven Development y desde el primer día se trabajará con pruebas unitarias en JUnit y Mockito. Se incidirá especialmente en el framework Spring, APIs REST y microservicios.
El entorno de trabajo será el IDE Eclipse y se aprenderá a usar GIT / Github para el control de versiones. El curso tiene un foco en el Test Driven Development y desde el primer día se trabajará con pruebas unitarias en JUnit y Mockito. Se incidirá especialmente en el framework Spring, APIs REST y microservicios.
Objetivos
Curso orientado a desarrollar, implantar y mantener aplicaciones con el lenguaje de programación JAVA y las tecnologías relacionadas utilizando programación orientada a objetos y el uso de patrones.
Audiencia
Curso dirigido a Programadores, Desarrolladores y Analistas Web.
Prerrequisitos
• Familiaridad con lenguajes de programación
• Familiaridad con el concepto de POO
• Familiaridad con el concepto de POO
Temario
**1.- INTRODUCCIÓN A JAVA Y SU ARQUITECTURA**
**1.0.- Lenguaje Java**
• Repaso de tipos y variables. Ámbito.
• Repaso de estructura condicionales y bucles
• Repaso de Programación Orientada a Objetos
• Repaso de Herencia y Polimorfismo
• Repaso de Abstracción y encapsulación.
• Conversión de objetos y tipos (cast)
• Identificando tipos de Objetos: intanceof y Reflection API
• Colecciones
• Java Streams
• Acceso a ficheros
• Threads
• Excepciones
• Plataforma Jakarta EE
• Interfaces funcionales y lambdas
**1.1.- Testing y clean code**
• Desarrollo TDD: Introducción a JUnit y Mockito
• Generación de documentación con Javadoc y README con markup
**1.2.- Control de versiones y dependencias**
• GIT / Github
• Gestión de dependencias con Maven
**2.- SERVLETS, JAVABEANS, JSP, INTRO API REST**
**2.0.- Repaso protocolo HTTP**
**2.1.- Servlets**
• Servlets Concepto, ciclo de vida
• Implementación.
• Captura de datos de cliente
• Redireccionamiento y envío de peticiones
• Aplicaciones web. Mantenimiento del estado datos URL, cookies, atributos (de petición, de aplicación y de sesión).
• Parámetros de contexto: definición y recuperación
• Describir el API Servlet
• Configuración de los servlets mediante anotaciones de descriptores de despliegue
• Uso de las APIs Request y Response
• Los Servlets como controladores
• Repaso HTML, Javascript y CSS
**2.2.- JSP**
• La tecnología JSP como mecanismo de presentación
• Páginas JSP
• Procesar datos recibidos desde un Servlet en JSP
• Breve introducción a EL y JSLT
• Breve introducción a Thymeleaf
• Depuración con DevTools en el navegador
**2.3.- Javabeans/EJB**
• Propiedades de los Javabeans
• Atributos de los Javabeans
• Escritura de un Javabean
• Manipulación de un Javabean
• Cola de mensajes EJB
• EJB de sesión
• Nomenclatura JNDI
• Notaciones Singleton
**2.4.- API REST**
• Introducción y conceptos
• Definir un API REST
• Implementación de un API-REST con JAX-RS
• Documentación de API REST con Swagger
• SOAP con Java JAX-WS
**3.- PERSISTENCIA, SPRING**
**3.0.- Repaso SQL**
**3.1.- JDBC**
• Uso de JDBC para persistir datos
• JDBC en aplicaciones web
• Datasource
• Gestión del pool de conexiones
• Try-with-resource Statement
**3.2.- Patrones acceso a datos**
• Capa de negocio en Jakarta EE
• Estructura del patrón DAO
• Patrón Repository
• Otros patrones relacionados: Observer, Facade, Singleton, MVC…
**3.3.- Spring**
• Conceptos y cómo configurar Spring
• Inyección de dependencias y sus tipos
• Usos y ámbitos de spring beans
• Mapeo de URLS y rutas
• Lectura de parámetros HTTP
• Formularios y validaciones
• Bases de datos con Spring
• Spring JDBC
• JPA
• SpringData
• Manejo de transacciones
• Gestión de errores y logging
• Creación de un servicio Web REST
• Spring security
• Integración Spring + Hibernate
**4.- SPRING MVC, MICROSERVICIOS**
**4.1.- SPRING MVC**
• Introducción y conceptos
• Modelo MVC: Modelo Vista Controlador (Controladores y vistas)
• Spring MVC + Java Configuration
• Spring MVC + XML Configuration
• Inyección de dependencias
• Spring MVC REST
**4.2.- Microservicios**
• Introducción a los microservicios
• Introducción a contenedores Docker, Kubernetes
• Arquitectura
• Ejemplos microservicios
• Microservicios con Spring
• Spring Boot starters
• Spring Boot Entry Point
• Creación de proyecto con microservicios
**4.3.- Presentación de proyecto**
• Exposición individual de proyecto final realizado en clase.
• Comentarios y correcciones
**1.0.- Lenguaje Java**
• Repaso de tipos y variables. Ámbito.
• Repaso de estructura condicionales y bucles
• Repaso de Programación Orientada a Objetos
• Repaso de Herencia y Polimorfismo
• Repaso de Abstracción y encapsulación.
• Conversión de objetos y tipos (cast)
• Identificando tipos de Objetos: intanceof y Reflection API
• Colecciones
• Java Streams
• Acceso a ficheros
• Threads
• Excepciones
• Plataforma Jakarta EE
• Interfaces funcionales y lambdas
**1.1.- Testing y clean code**
• Desarrollo TDD: Introducción a JUnit y Mockito
• Generación de documentación con Javadoc y README con markup
**1.2.- Control de versiones y dependencias**
• GIT / Github
• Gestión de dependencias con Maven
**2.- SERVLETS, JAVABEANS, JSP, INTRO API REST**
**2.0.- Repaso protocolo HTTP**
**2.1.- Servlets**
• Servlets Concepto, ciclo de vida
• Implementación.
• Captura de datos de cliente
• Redireccionamiento y envío de peticiones
• Aplicaciones web. Mantenimiento del estado datos URL, cookies, atributos (de petición, de aplicación y de sesión).
• Parámetros de contexto: definición y recuperación
• Describir el API Servlet
• Configuración de los servlets mediante anotaciones de descriptores de despliegue
• Uso de las APIs Request y Response
• Los Servlets como controladores
• Repaso HTML, Javascript y CSS
**2.2.- JSP**
• La tecnología JSP como mecanismo de presentación
• Páginas JSP
• Procesar datos recibidos desde un Servlet en JSP
• Breve introducción a EL y JSLT
• Breve introducción a Thymeleaf
• Depuración con DevTools en el navegador
**2.3.- Javabeans/EJB**
• Propiedades de los Javabeans
• Atributos de los Javabeans
• Escritura de un Javabean
• Manipulación de un Javabean
• Cola de mensajes EJB
• EJB de sesión
• Nomenclatura JNDI
• Notaciones Singleton
**2.4.- API REST**
• Introducción y conceptos
• Definir un API REST
• Implementación de un API-REST con JAX-RS
• Documentación de API REST con Swagger
• SOAP con Java JAX-WS
**3.- PERSISTENCIA, SPRING**
**3.0.- Repaso SQL**
**3.1.- JDBC**
• Uso de JDBC para persistir datos
• JDBC en aplicaciones web
• Datasource
• Gestión del pool de conexiones
• Try-with-resource Statement
**3.2.- Patrones acceso a datos**
• Capa de negocio en Jakarta EE
• Estructura del patrón DAO
• Patrón Repository
• Otros patrones relacionados: Observer, Facade, Singleton, MVC…
**3.3.- Spring**
• Conceptos y cómo configurar Spring
• Inyección de dependencias y sus tipos
• Usos y ámbitos de spring beans
• Mapeo de URLS y rutas
• Lectura de parámetros HTTP
• Formularios y validaciones
• Bases de datos con Spring
• Spring JDBC
• JPA
• SpringData
• Manejo de transacciones
• Gestión de errores y logging
• Creación de un servicio Web REST
• Spring security
• Integración Spring + Hibernate
**4.- SPRING MVC, MICROSERVICIOS**
**4.1.- SPRING MVC**
• Introducción y conceptos
• Modelo MVC: Modelo Vista Controlador (Controladores y vistas)
• Spring MVC + Java Configuration
• Spring MVC + XML Configuration
• Inyección de dependencias
• Spring MVC REST
**4.2.- Microservicios**
• Introducción a los microservicios
• Introducción a contenedores Docker, Kubernetes
• Arquitectura
• Ejemplos microservicios
• Microservicios con Spring
• Spring Boot starters
• Spring Boot Entry Point
• Creación de proyecto con microservicios
**4.3.- Presentación de proyecto**
• Exposición individual de proyecto final realizado en clase.
• Comentarios y correcciones