Descripción: Curso ESCUELA DESARROLLO JAVA
Formación en ESCUELAS de ESPECIALIZACIÓN IT
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.
Formación SINENSIA
Detalles
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
Curso dirigido a Programadores, Desarrolladores y Analistas Web.
• Familiaridad con lenguajes de programación
• Familiaridad con el concepto de POO
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.