JAVA NIVEL INTERMEDIO VIRTUAL
E
S
P
E Full-Stack
SPRING BOOT 3.0
C
I 15
A
L
I
Z
Y ANGULAR 15
A
C (Spring Boot, Spring Web, Spring Doc, Spring Data,
I Spring Security, MySQL, Angular 15, TypeScript, RXJs,
Ó ngx-bootstrap, OpenAPI 3, Docker)
N
(Código FSSB-001 Versión 1.0.0)
ESPECIALIZACIÓN: JAVA Más Experiencia
Inicio: Finalización: 52 HORAS
01 DE JULIO 26 DE AGOSTO académicas
Sábados Soporte Plataforma
DE 09:00H - 14:00H. TÉCNICO DIGITAL
CERTIFICACIÓN
Aplicativo DIGITAL
ZOOM Previa aprobación
de examen
ESPECIALIZACIÓN: JAVA Más Experiencia
INSTRUCTOR
MIGUEL REFERENCIAS
LEYVA
LINKEDIN:
[Link]
Ingeniero de Sistemas de la Universidad Nacional Mayor de San Marcos con
Maestría en Dirección de Sistemas y Tecnologías de Información (UPC) en curso,
desempeñándose como Arquitecto de Soluciones en Rimac Seguros y
Reaseguros. Con 9 años de experiencia en el Análisis, Diseño e Implementación
del Software, cuenta con sólidos conocimientos en Arquitectura, DevSecOps,
Backend, Frontend y Base de Datos.
ESPECIALIZACIÓN: JAVA NIVEL AVANZADO VIRTUAL
1°
M BACK-END:
Ó
D SERVICIOS
U
L
RESTful CON
O SPRING BOOT 3.0
ESPECIALIZACIÓN: JAVA Más Experiencia
RESUMEN REQUISITOS
Implementación y despliegue de Servicios Web RESTful utilizando Spring Boot, Spring Data y Fundamentos de programación orientada a objetos y funcional.
Spring Security en Back-End y aplicaciones Web utilizando Angular 15, TypeScript, RxJS, HTML, Conocimientos intermedios de bases de datos relacionales.
CSS y ngx-bootstrap como Front-End, incluyendo pruebas (JUnit, Mockito y Postman), Conocimientos básicos de JavaScript.
depuración, monitoreo y despliegue (Docker). Conocimientos básicos de HTML y CSS.
Conocimientos básicos de arquitecturas de aplicaciones.
OBJETIVO
Contar con los conocimientos y entrenamiento práctico en el uso de Java para desarrollar TECNOLOGÍAS
Servicios Web REST utilizando Spring Boot y creación de aplicaciones Web utilizando
Angular 15. OOP, PF, UML, JDK 17, Lombok, JUnit 5 y Mockito.
Spring Boot 3.0, Spring Data, Spring Security, JWT,
Spring Web, Spring Docs.
METODOLOGÍA Intellij IDEA, MySQL, Postman y JSONLint.
Angular 15, TypeScript y RxJS y ngx-bootstrap.
Exposición de aspectos teóricos de los temas. [Link], npm, Angular CLI y Visual Studio Code.
Desarrollo de casos prácticos progresivos.
Experiencias del instructor y alumnos del curso.
ESPECIALIZACIÓN: JAVA NIVEL AVANZADO Más Experiencia
SESIÓN 01
FUNDAMENTOS DE SERVICIOS REST CON
SERVICIOS REST BASE DE DATOS
Introducción a API REST y RESTful (REST, ROA y HATEOAS). Servicio @RestController/ @RequestMapping.
Herramientas de testeo (Postman y JSONLint). Métodos HTTP (@GetMapping, @ PostMapping,
@PutMapping, @DeleteMapping y @OPTIONS).
Mi primer servicio REST con Spring Boot.
Parámetros @PathVariable, @QueryParam y @RequestBody).
([Link] con objetos en memoria.
Crear un servicio con MySQL por parte del Instructor (Entity,
Creación de un servicio básico por parte del alumno.
Repository, Service y RestController).
Pruebas del servicio con Postman y JSONLint.
Desarrollo de un servicio por parte del alumno tomando como
referencia el desarrollo realizado por el Instructor.
[Link]
ESPECIALIZACIÓN: JAVA NIVEL AVANZADO Más Experiencia
SESIÓN 02
ARQUITECTURA BASE PRUEBAS UNITARIAS, VALIDACIONES,
DE LOS SERVICIOS MENSAJES Y DOCUMENTACIÓN
Refactorización del servicio creado en la sesión 01: Implementación de pruebas unitarias con JUnit 5 y Mockito.
Modelamiento utilizando UML. Desarrollo de un servicio por parte del alumno tomando como
Creación de la capa Entity, Bean, Repository, Controller, referencia el desarrollo realizado por el Instructor.
interfaces y excepciones genéricas. Implementación de mensajes y validaciones utilizando
Desarrollo de un servicio en base a la arquitectura propuesta Hibernate Validator. Creación de una clase utilitaria de
por parte del Instructor. tratamiento de mensajes.
Implementación de logs personalizados (SLF4J). Gestión de errores y excepciones personalizadas (Response).
Pruebas del servicio con Postman. Implementación de validación por parte del alumno.
Documentación con la especificación OpenAPI 3.
[Link]
ESPECIALIZACIÓN: JAVA NIVEL AVANZADO Más Experiencia
SESIÓN 03
SERVICIOS REST DE SERVICIOS REST
PROCESOS DE NEGOCIO ESPECIALES
Modelamiento del proceso a implementar por parte del Instructor Trabajando con vistas y objetos visuales (VO).
utilizando UML y el modelo de datos (Entidad - Relación). Trabajando con procedimientos almacenados.
Implementando los servicios de soporte al proceso propuesto Implementando paginación.
por parte del Instructor.
Implementando ordenamientos.
Modelamiento del proceso a implementar por parte del alumno
utilizando UML y el modelo de datos (Entidad - Relación). Implementando HATEOAS.
Implementando los servicios de soporte al proceso propuesto por
parte del alumno.
[Link]
ESPECIALIZACIÓN: JAVA NIVEL AVANZADO Más Experiencia
SESIÓN 04
ASEGURANDO LOS
SERVICIOS REST Y DESPLIEGUE
Introducción a Spring Security, JWT y CORS
Implementación de CORS (genéricos y específicos)
Implementación de Autenticación (Login)
Implementación de Autorización (Roles)
Pruebas del servicio utilizando Postman
Contenerizar (Docker) y desplegar.
[Link]
ESPECIALIZACIÓN: JAVA NIVEL AVANZADO VIRTUAL
2°
M
Ó
FRONT-END:
D
U
APLICACIONES
L CON ANGULAR 15
O
ESPECIALIZACIÓN: JAVA NIVEL AVANZADO Más Experiencia
SESIÓN 01
INTRODUCCIÓN CONSUMIENDO
A ANGULAR 15 SERVICIOS EXTERNOS
Introducción a Angular 15, Aplicaciones SPA. Creando un proyecto piloto.
Herramientas de desarrollo ([Link], npm, Angular CLI Creando componentes e interfaces.
y VisualCode). Creando servicios e invocando APIs externas.
Arquitectura de Angular 15. Inyección del servicio y creando la vista.
Introducción a TypeScript. Creación de una app por parte del alumno.
Mi primera aplicación en Angular.
[Link]
ESPECIALIZACIÓN: JAVA NIVEL AVANZADO Más Experiencia
SESIÓN 02
CONTROL DE ACCESO IMPLEMENTANDO
(AUTENTICACIÓN) Y AUTORIZACIÓN BÚSQUEDAS Y LISTADOS
Diseñando la GUI con ngx-bootstrap. Diseñando la GUI con ngx-bootstrap.
Control de acceso con JWT (autenticación). Invocación de métodos GET (consulta), token)
implementando paginación.
Gestionando sesiones y datos de auditoria.
Invocación del método DELETE (eliminación, token).
Recuperando acceso por perfil (autorización).
Gestionando mensajes personalizados.
Gestionando mensajes personalizados.
Creación de un listado por parte del alumno.
[Link]
ESPECIALIZACIÓN: JAVA NIVEL AVANZADO Más Experiencia
SESIÓN 03
IMPLEMENTANDO REGISTROS IMPLEMENTANDO UN
Y ACTUALIZACIÓN PROCESO DE NEGOCIO
Diseñando la GUI con ngx-bootstrap. Diseñando la GUI con ngx-bootstrap.
Invocación del método POST (registro, token). Invocación de métodos GET (consulta), token).
Invocación del método PUT (actualización, token). Invocación del método POST (registro, token).
Gestionando mensajes personalizados. Invocación del método PUT (actualización, token).
Validaciones, gestión de excepciones y mensajes personalizados. Creación de un proceso de negocio por parte del alumno.
Creación de una GUI de registro y actualización
por parte del alumno.
[Link]
ESPECIALIZACIÓN: JAVA NIVEL AVANZADO Más Experiencia
SESIÓN 04
GESTIÓN DE ACCESOS, DESPLIEGUE, EVALUACIÓN FINAL
EXCEPCIONES Y PUBLICACIÓN Y LECCIONES APRENDIDAS
Controlando accesos de acuerdo al perfil del usuario. Repaso general del curso.
Gestión de sesiones (expiración y re direccionamiento). Evaluación y calificación del curso.
Gestión de logs de la aplicación. Despliegue de la aplicación con Docker en AWS.
Gestión de excepciones a nivel de aplicación. Lecciones aprendidas.
Generación y publicación de la aplicación. Próximos temas investigar.
[Link]
ESPECIALIZACIÓN: JAVA Más Experiencia
CASO PRÁCTICO DESARROLLADO CASO PRÁCTICO DESARROLLADO
POR EL INSTRUCTOR POR EL ALUMNO
Creación de una aplicación basada en una arquitectura de servicios Creación de aplicación basada en una arquitectura de servicios Full-Stack
Full-Stack (Back-End: Java & Spring Boot y Front-End: Angular 15) de una (Back-End: Java & Spring Boot y Front-End: Angular 15) por parte del alumno en
plataforma base de gestión de pedidos que permita gestionar los base a un caso planteado por el instructor, para la califación se requiere subir el
principales componentes y procesos de negocio, considerando: productos, codigo fuente a Github y hacer un video explicando el desarrollo con los temas
clientes, pedidos, control de acceso, seguridad y auditoría. tratados en clase.
Nota: El alumno puede proponer y desarrollar un caso diferente en coordinación
con el instructor de curso.
[Link]
ESPECIALIZACIÓN: JAVA Más Experiencia
CRONOGRAMA
SESIÓN 01 02 03 04
Pruebas
Fundamentos Servicios REST Arquitectura Unitarias, Servicios REST Asegurando
de Servicios con Base Base de los de Procesos Servicios REST los Servicios REST
BACK-END: Validaciones Especiales
REST de Datos Servicios y Mensajes de Negocio y Despliegue
SERVICIOS RESTful
CON SPRING BOOT 3.0
01 JUL 08 JUL 15 JUL 22 JUL
Gestión Despliegue,
Consumiendo Control Implementando Implementando Implementando de Accesos, Evaluación
FRONT-END: Introducción Servicios de Acceso Búsquedas Registros un Proceso
a Angular 15 Excepciones Final y Lecciones
APLICACIONES Externos y Autorización y Listados y Actualización de Negocio y Publicación Aprendidas
CON ANGULAR 15
05 AGO 12 AGO 19 AGO 26 AGO
Este cronograma puede estar sujeto a cambios por parte de Galaxy Training.