Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Spring Boot — Avanzado

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • Spring Boot

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso está dirigido a desarrolladores con experiencia consolidada en Spring Boot que necesitan dar el salto a decisiones de diseño y operación de nivel senior. A lo largo de ocho horas, los participantes afrontarán los retos reales de aplicaciones en producción: elegir y justificar un estilo arquitectónico adecuado a los requisitos del negocio, diseñar mecanismos de auto-configuración reutilizables, blindar integraciones externas frente a fallos mediante patrones de resiliencia, asegurar APIs con estrategias de autenticación argumentadas, comparar modelos de persistencia bajo alta concurrencia y configurar una observabilidad completa con trazas distribuidas, logs correlacionados y dashboards operativos. Al finalizar, el participante será capaz de tomar decisiones arquitectónicas y de calidad respaldadas por métricas objetivas y de entregar aplicaciones Spring Boot preparadas para entornos exigentes de producción.

  1. Identificar los principios que diferencian los estilos arquitectónicos —hexagonal, microservicios y monolito modular— y los criterios funcionales y operativos que determinan la elección más adecuada en cada contexto.
  2. Describir el modelo de auto-configuración de Spring Boot, los mecanismos condicionales disponibles y el ciclo de vida de los patrones de resiliencia gestionados por Resilience4j.
  3. Diseñar un mecanismo de auto-configuración personalizado con anotaciones @ConditionalOn* que se active y desactive correctamente según condiciones de entorno definidas.
  4. Evaluar críticamente la estrategia de seguridad de una API —OAuth2, JWT o mTLS— argumentando su idoneidad frente a alternativas descartadas en función del contexto de amenazas y requisitos de escalabilidad.
  5. Comparar las estrategias de persistencia JPA/Hibernate y R2DBC en un escenario de alta concurrencia, justificando la elección con métricas de latencia y throughput obtenidas durante las prácticas.
  6. Implementar patrones de resiliencia —circuit breaker, retry con backoff y bulkhead— en integraciones externas, justificando los umbrales de configuración con datos de SLA reales o simulados.
  7. Configurar la observabilidad completa de una aplicación Spring Boot integrando trazas distribuidas con OpenTelemetry, logs estructurados correlacionados por traceId y dashboards operativos en Grafana, y argumentar las decisiones de diseño adoptadas a partir de los resultados obtenidos.

Bloque 1 — Decisiones arquitectónicas en Spring Boot Se exploran los estilos arquitectónicos aplicables a Spring Boot —arquitectura hexagonal, microservicios y monolito modular— analizando sus compromisos en términos de acoplamiento, desplegabilidad y mantenibilidad. El participante aprende a formular un análisis de requisitos funcionales y restricciones operativas que justifique la elección de un estilo concreto y a documentar esa decisión de forma argumentada.

Bloque 2 — Auto-configuración avanzada y extensibilidad Se profundiza en el mecanismo de auto-configuración de Spring Boot: orden de procesamiento, anotaciones @ConditionalOnProperty, @ConditionalOnClass, @ConditionalOnMissingBean y el registro mediante AutoConfiguration.imports. El participante construye un starter personalizado, verifica su activación y desactivación bajo distintas condiciones de entorno y reflexiona sobre los casos de uso en los que esta capacidad aporta mayor valor.

Bloque 3 — Resiliencia y estrategias de persistencia bajo carga Se abordan conjuntamente dos dimensiones críticas de las aplicaciones en producción. En el plano de la resiliencia, se implementan circuit breaker, retry con backoff y bulkhead con Resilience4j, conectando los umbrales de configuración con datos de SLA. En el plano de la persistencia, se comparan JPA/Hibernate y R2DBC en escenarios de alta concurrencia, midiendo latencia y throughput para respaldar la elección tecnológica con evidencia objetiva.

Bloque 4 — Seguridad avanzada de APIs Se analizan las estrategias de seguridad disponibles para APIs Spring Boot —OAuth2 con servidor de autorización, JWT autocontenido y autenticación mutua mTLS— evaluando cada una en función de un modelo de amenazas explícito y de los requisitos de escalabilidad del sistema. El participante practica la configuración de al menos una estrategia completa y elabora la argumentación que descarta las alternativas en ese contexto.

Bloque 5 — Observabilidad integral: trazas, logs y dashboards Se configura una pila de observabilidad completa: instrumentación con Micrometer y OpenTelemetry, exportación de trazas distribuidas a Zipkin o Jaeger, generación de logs estructurados en JSON correlacionados por traceId y spanId, y construcción de dashboards operativos en Grafana. El bloque cierra con un ejercicio integrador en el que el participante detecta un cuello de botella real a partir de las métricas y propone y verifica al menos un ajuste correctivo.

  • JDK: 21 LTS (se usará Virtual Threads en algunos ejercicios de concurrencia).
  • Build tool: Maven 3.9+ o Gradle 8+.
  • IDE: IntelliJ IDEA (recomendado) o Eclipse con plugin Spring Tools 4; cualquier editor con soporte LSP es aceptable.
  • Docker Desktop 4.x o Docker Engine + Docker Compose v2, necesario para levantar Zipkin/Jaeger, Grafana, Prometheus y bases de datos en contenedor.
  • Herramientas de línea de comandos: curl o HTTPie para invocar endpoints; k6 o wrk para pruebas de carga en el bloque de persistencia.
  • Acceso a internet durante la sesión para descargar dependencias de Maven Central y las imágenes Docker requeridas.
  • Hardware mínimo: 16 GB de RAM recomendados; 8 GB son el mínimo aceptable con la pila de observabilidad completa activa.
  • Desarrollo de APIs REST con Spring Boot a nivel intermedio-avanzado (cubierto en SPB02): controladores, servicios, repositorios y manejo de excepciones.
  • Configuración de seguridad básica con Spring Security (autenticación por formulario o HTTP Basic).
  • Uso de Spring Data JPA y conexión a bases de datos relacionales.
  • Escritura de tests de integración con @SpringBootTest y Testcontainers.
  • Familiaridad con conceptos de CI/CD y ejecución de pipelines en al menos una herramienta (GitHub Actions, GitLab CI, Jenkins o equivalente).
  • Conocimientos básicos de contenedores Docker para levantar dependencias de infraestructura en local.