Programa de Java Avanzado (Versiones 11 y 17)

Objetivo del curso:
Profundizar en el uso de Java, específicamente en las versiones 11 y 17, aprovechando sus características avanzadas para desarrollar aplicaciones empresariales escalables y optimizadas. Se enfoca en patrones modernos, programación concurrente, microservicios y las innovaciones introducidas en estas versiones.

Duración:
12 clases de 3 horas cada una.


Temario del curso y contenido por clase


Clase 1: Introducción a Java 11 y 17

  • Contenido:
    • Novedades en Java 11: var, mejoras en API de strings, y HttpClient.
    • Novedades en Java 17: sealed classes, patrones de coincidencia (pattern matching) y cambios en la sintaxis.
    • Ejercicio práctico: Crear un programa que utilice las nuevas funcionalidades de ambas versiones.

Clase 2: Configuración Avanzada y Gestión de Proyectos con Maven/Gradle

  • Contenido:
    • Configuración de proyectos con Maven y Gradle para Java 11 y 17.
    • Modularidad con module-info.java.
    • Ejercicio práctico: Crear un proyecto modular con dependencias específicas.

Clase 3: Patrones de Diseño en Java (Parte 1)

  • Contenido:
    • Repaso de patrones clásicos: Singleton, Factory y Builder.
    • Aplicación de patrones utilizando características avanzadas de Java 11/17.
    • Ejercicio práctico: Implementar un patrón Builder optimizado para creación de objetos complejos.

Clase 4: Patrones de Diseño en Java (Parte 2)

  • Contenido:
    • Patrones avanzados: Strategy, Observer y Decorator.
    • Uso de sealed classes para simplificar jerarquías.
    • Ejercicio práctico: Crear un sistema de eventos con Observer utilizando sealed classes.

Clase 5: Streams y Operaciones Avanzadas

  • Contenido:
    • Streams paralelos para procesamiento eficiente.
    • Nuevos métodos en Streams y API de Collections (Java 11/17).
    • Ejercicio práctico: Procesar grandes volúmenes de datos utilizando Streams y colecciones avanzadas.

Clase 6: Programación Concurrente y Multithreading

  • Contenido:
    • Nuevas mejoras en concurrencia con CompletableFuture y ExecutorService.
    • Uso de ForkJoinPool y ThreadLocal.
    • Ejercicio práctico: Crear un sistema concurrente para procesar tareas en paralelo con CompletableFuture.

Clase 7: Introducción a Programación Reactiva y Flujo de Datos

  • Contenido:
    • Uso de librerías como RxJava o Project Reactor.
    • Introducción a java.util.concurrent.Flow (nativo desde Java 9+).
    • Ejercicio práctico: Crear un flujo reactivo para procesar eventos en tiempo real.

Clase 8: Microservicios con Spring Boot (Parte 1)

  • Contenido:
    • Introducción a microservicios con Spring Boot en Java 11/17.
    • Uso de controladores RESTful y configuración inicial de proyectos.
    • Ejercicio práctico: Crear un microservicio básico para gestionar usuarios.

Clase 9: Microservicios con Spring Boot (Parte 2)

  • Contenido:
    • Uso de mensajería asíncrona con Kafka o RabbitMQ.
    • Comunicación entre microservicios y tolerancia a fallos.
    • Ejercicio práctico: Implementar un sistema de mensajería asíncrono entre microservicios.

Clase 10: Seguridad Avanzada con Spring Security

  • Contenido:
    • Implementación de autenticación y autorización.
    • Uso de OAuth2 y JWT para proteger APIs.
    • Ejercicio práctico: Proteger un microservicio con autenticación basada en tokens.

Clase 11: Optimizaciones y Rendimiento en Java 11 y 17

  • Contenido:
    • Herramientas de monitoreo y profiling (VisualVM, JProfiler).
    • Optimización de código utilizando nuevas características de las versiones 11 y 17.
    • Ejercicio práctico: Detectar y resolver cuellos de botella en una aplicación simulada.

Clase 12: Proyecto Final

  • Contenido:
    • Desarrollo de un sistema distribuido utilizando microservicios, Spring Boot, seguridad y programación concurrente.
    • Integración de características específicas de Java 11 y 17.
    • Presentación del proyecto, retroalimentación y discusión de mejores prácticas.

Metodología del curso:

  • Clases teóricas con ejemplos prácticos basados en casos reales.
  • Uso de herramientas modernas para gestión de proyectos y profiling.
  • Proyecto integrador que combine patrones avanzados, microservicios, y características específicas de Java 11 y 17.

Resultado esperado:
Los estudiantes podrán desarrollar aplicaciones empresariales avanzadas utilizando las características modernas de Java 11 y 17, implementando arquitecturas complejas, y optimizando sistemas para rendimiento y escalabilidad.

Precio:

  • 250.000 (Docientos Cincuenta mil pesos argentinos)
  • Cuotas sin interes

Me Interesa!:

Nombre