Descuento por lanzamiento Curso de arquitectura

Shape Shape

Curso

Shape
Shape
Shape Shape
Courses Details Arquitectura

Arquitectura Moderna de Servicios en Java

Author
Domingo Suarez 12,382 Estudiantes entrenados

Descripción

Este curso está diseñado para proporcionar una comprensión profunda y práctica de las arquitecturas modernas en el desarrollo de aplicaciones Java. A lo largo del curso, exploraremos cómo implementar y combinar enfoques avanzados como Clean Architecture, Event Driven Architecture (EDA), Microservicios, Arquitectura Hexagonal y Domain Driven Design (DDD) para crear aplicaciones escalables, robustas y mantenibles. El curso está estructurado en módulos que combinan teoría, práctica y casos de estudio para ofrecer una formación integral.

Este curso será impartido con clases en vivo y en linea, las clases serán grabadas y el acceso al contenido y material será perpetuo para cada asistente.

Shape Shape
Clases en vivo y en linea

Las clases serán grabadas con acceso perpetuo.

Puntos Clave

  1. Principios de Clean Architecture: Cómo organizar aplicaciones en capas independientes, gestionar dependencias y aplicar los principios de separación de preocupaciones para lograr un código más mantenible y flexible.

  2. Implementación de Event Driven Architecture (EDA): Cómo diseñar sistemas que se comunican mediante eventos, utilizando tecnologías como Apache Kafka y RabbitMQ para mejorar la escalabilidad y la flexibilidad de las aplicaciones.

  3. Desarrollo de Microservicios en Java: Cómo construir, desplegar y gestionar microservicios, abordando la comunicación entre servicios, la gestión de datos y las técnicas para superar los desafíos comunes en un entorno de microservicios.

  4. Aplicación de la Arquitectura Hexagonal: Cómo separar la lógica de negocio de las interfaces externas mediante puertos y adaptadores, y cómo integrar esta arquitectura con Clean Architecture y microservicios.

  5. Modelado del Dominio con Domain Driven Design (DDD): Cómo utilizar DDD para crear modelos de dominio ricos y efectivos, definir entidades, agregados y repositorios, y gestionar eventos de dominio para una mejor alineación con los requisitos del negocio.

  6. Principios SOLID en el Desarrollo de Software: Cómo aplicar los principios SOLID para diseñar sistemas de software robustos y flexibles, mejorando la calidad del código y facilitando el mantenimiento.

  7. Uso de Tecnologías y Herramientas Modernas: Cómo integrar y utilizar tecnologías emergentes y herramientas innovadoras en el desarrollo Java, como librerías para EDA y frameworks para microservicios.

  8. Prácticas de Testing en Arquitecturas Modernas: Estrategias para realizar pruebas efectivas en sistemas que utilizan Clean Architecture, EDA, microservicios y Arquitectura Hexagonal, asegurando la calidad y estabilidad del software.

  9. Gestión de Configuraciones y Despliegue: Cómo manejar la configuración de aplicaciones en un entorno de microservicios, y las mejores prácticas para el despliegue y la integración continua.

  10. Casos de Estudio y Aplicación Práctica: Cómo aplicar los conceptos aprendidos en proyectos reales, mediante el análisis de casos de estudio y el desarrollo de proyectos prácticos que refuercen el conocimiento adquirido.

Estos puntos cubrirán los aspectos fundamentales y avanzados del desarrollo de aplicaciones Java utilizando arquitecturas modernas, proporcionando a los estudiantes las habilidades necesarias para construir sistemas efectivos y sostenibles.

Temario


Curso de Aplicaciones Java Modernas con Arquitecturas Avanzadas

Módulo 1: Introducción a Java y el Desarrollo de Software Moderno

  1. Fundamentos de Java

    • Historia y evolución
    • Características y ventajas de Java 17 hasta Java 23
    • Configuración del entorno de desarrollo
  2. Principios Básicos de Desarrollo de Software

    • Principios SOLID
    • Patrones de diseño comunes
    • Introducción a los conceptos de arquitectura de software

Módulo 2: Clean Architecture

  1. Conceptos y Principios de Clean Architecture

    • Definición y objetivos
    • Organización en capas y gestión de dependencias
    • Beneficios y desafíos
  2. Implementación en Java

    • Estructuración de paquetes y módulos
    • Creación de interfaces y manejo de dependencias
    • Ejemplos prácticos y mejores prácticas
  3. Testing y Mantenimiento

    • Estrategias de testing para Clean Architecture
    • Técnicas de mantenimiento y evolución del sistema

Módulo 3: Event Driven Architecture (EDA)

  1. Introducción a Event Driven Architecture

    • Principios y beneficios
    • Comparación con arquitecturas tradicionales
  2. Componentes de EDA

    • Eventos, productores y consumidores
    • Brokers de eventos y sistemas de mensajería
    • Integración con aplicaciones Java
  3. Implementación Práctica

    • Uso de tecnologías como Apache Kafka y RabbitMQ
    • Ejemplos y patrones comunes en EDA

Módulo 4: Microservicios

  1. Fundamentos de Microservicios

    • Definición y características
    • Ventajas frente a arquitecturas monolíticas
  2. Diseño y Desarrollo en Java

    • Creación y gestión de microservicios
    • Comunicación entre microservicios (REST, gRPC)
    • Gestión de datos y transacciones
  3. Desafíos y Soluciones

    • Configuración y despliegue
    • Monitoreo y logging
    • Seguridad y autenticación

Módulo 5: Arquitectura Hexagonal

  1. Principios de la Arquitectura Hexagonal

    • Conceptos y beneficios
    • Comparación con otras arquitecturas
  2. Implementación en Java

    • Definición de puertos y adaptadores
    • Ejemplos prácticos y casos de uso
    • Integración con Clean Architecture y Microservicios
  3. Pruebas y Validación

    • Estrategias de prueba para la Arquitectura Hexagonal

Módulo 6: Domain Driven Design (DDD)

  1. Introducción a Domain Driven Design

    • Conceptos clave y beneficios
    • Modelado del dominio y la importancia de los bounded contexts
  2. Implementación de DDD en Java

    • Creación de entidades, agregados y repositorios
    • Gestión de eventos de dominio y servicios de dominio
    • Integración con Clean Architecture y Arquitectura Hexagonal
  3. Ejemplos Prácticos y Casos de Estudio

    • Aplicación de DDD en sistemas reales
    • Estrategias para la implementación efectiva

Módulo 7: Casos de Estudio y Proyectos Prácticos

  1. Análisis de Casos Reales

    • Revisión de aplicaciones que utilizan Clean Architecture, EDA, Microservicios, Arquitectura Hexagonal y DDD
  2. Desarrollo de Proyectos

    • Planificación y diseño de proyectos
    • Implementación y despliegue de soluciones
    • Revisión, retroalimentación y mejoras

Módulo 8: Tendencias y Futuro del Desarrollo Java

  1. Nuevas Tecnologías y Herramientas

    • Innovaciones emergentes en el desarrollo de Java
    • Herramientas y frameworks avanzados
  2. Preparación para el Futuro

    • Adaptación a nuevas tecnologías y arquitecturas
    • Estrategias para enfrentar desafíos futuros

Este curso ofrece una formación completa en el diseño y desarrollo de aplicaciones Java utilizando arquitecturas modernas y enfoques avanzados, proporcionando a los participantes las habilidades necesarias para construir sistemas robustos y escalables.

Fechas

El curso durará 10 semanas con un total de 50 horas efectivas, con 3 sesiones a la semana de 5 horas


  • 30 de Septiembre de 2024, 7:30pm-9:00pm.
  • 3 de Octubre de 2024, 7:30pm-9:00pm.
  • 5 de Octubre de 2024, 10:00am-12:00pm.

  • 8 de Octubre de 2024, 7:30pm-9:00pm.
  • 10 de Octubre de 2024, 7:30pm-9:00pm.
  • 12 de Octubre de 2024, 10:00am-12:00pm.

  • 15 de Octubre de 2024, 7:30pm-9:00pm.
  • 17 de Octubre de 2024, 7:30pm-9:00pm.
  • 19 de Octubre de 2024, 10:00am-12:00pm.

  • 22 de Octubre de 2024, 7:30pm-9:00pm.
  • 24 de Octubre de 2024, 7:30pm-9:00pm.
  • 26 de Octubre de 2024, 10:00am-12:00pm.

  • 29 de Octubre de 2024, 7:30pm-9:00pm.
  • 31 de Octubre de 2024, 7:30pm-9:00pm.
  • 2 de Noviembre de 2024, 10:00am-12:00pm.

  • 5 de Noviembre de 2024, 7:30pm-9:00pm.
  • 7 de Noviembre de 2024, 7:30pm-9:00pm.
  • 9 de Noviembre de 2024, 10:00am-12:00pm.

  • 12 de Noviembre de 2024, 7:30pm-9:00pm.
  • 14 de Noviembre de 2024, 7:30pm-9:00pm.
  • 16 de Noviembre de 2024, 10:00am-12:00pm.

  • 19 de Noviembre de 2024, 7:30pm-9:00pm.
  • 21 de Noviembre de 2024, 7:30pm-9:00pm.
  • 23 de Noviembre de 2024, 10:00am-12:00pm.

  • 26 de Noviembre de 2024, 7:30pm-9:00pm.
  • 28 de Noviembre de 2024, 7:30pm-9:00pm.
  • 30 de Noviembre de 2024, 10:00am-12:00pm.

  • 3 de Diciembre de 2024, 7:30pm-9:00pm.
  • 5 de Diciembre de 2024, 7:30pm-9:00pm.
  • 7 de Diciembre de 2024, 10:00am-12:00pm.

Requisitos

Conocimientos:

  • Experiencia en programación con Java.
  • Experiencia en desarrollo de servicios web.

Equipo de computo:

  • Al menos 8GB de RAM (16GB deseable)
  • Linux con kernel 3.10 o superior (Deseable Ubuntu, CentOS)
  • MacOS
  • Puede ser usado Windows, pero revisar requerimientos detallados en https://docs.docker.com/desktop/install/windows-install/#system-requirements

Course Instructor:

Author

Domingo Suarez

Java Champion