ESCARQJVILTDesarrollo de Software

    ESCUELA - Ruta Profesional en Arquitectura de Software y Diseño de Dominios Complejos con Java

    70 Presencial-Remoto

    Descripción

    Esta ruta formativa está diseñada para guiar a desarrolladores y arquitectos de software a través de un recorrido progresivo en diseño de software, buenas prácticas de arquitectura y patrones avanzados para sistemas distribuidos. Utilizando Java y Spring Boot como plataforma base, cada módulo profundiza en conceptos clave que habilitan la construcción de aplicaciones escalables, mantenibles y alineadas al dominio de negocio.

    Cada bloque está diseñado para poder cursarse tambien de forma independiente (cursos ARQJAV01-02-03-04), lo que permite a los participantes elegir la formación más adecuada según su nivel de experiencia o necesidades específicas del proyecto en el que trabajan.

    Objetivos

    En un entorno donde la complejidad del software crece exponencialmente, esta Escuela ofrece un enfoque práctico y aplicable para abordar los desafíos reales de diseño y arquitectura de sistemas.
    A través de ejercicios guiados, modelado de dominio, refactorizaciones estructurales y patrones distribuidos modernos, los participantes lograrán:
    • Mejorar la calidad del código y la mantenibilidad del software
    • Reducir la deuda técnica y facilitar la evolución de sistemas legados
    • Aplicar arquitecturas robustas en entornos Java con Spring Boot
    • Integrar patrones de diseño como DDD, CQRS y Event Sourcing

    Esta propuesta formativa está orientada a generar un impacto real en la práctica profesional, y es ideal tanto para quienes desean fortalecer sus fundamentos como para equipos que buscan alinear sus aplicaciones con las mejores prácticas actuales.

    Audiencia

    Curso dirigido a:

    • Desarrolladores backend (junior a senior)
    • Arquitectos de software
    • Líderes técnicos y consultores IT
    • Equipos de desarrollo de aplicaciones críticas o distribuidas

    Prerrequisitos

    • Conocimientos básicos de Java
    • Familiaridad con programación orientada a objetos
    • Experiencia básica con Spring Boot (no excluyente)
    • Conocimientos básicos de herramientas como IDE, Git y Maven

    Temario

    **BLOQUE 1: DISEÑO DE SOFTWARE CON PRINCIPIOS SOLID Y ARQUITECTURA EN CAPAS - 10 horas**

    **Módulo 1: Fundamentos del diseño orientado a objetos (1h)**
    • Clases, objetos, encapsulamiento, abstracción
    • Principios de diseño: cohesión, acoplamiento, legibilidad
    • Anti-patrones comunes (God Object, Service Anémico)

    **Módulo 2: Principios SOLID con Java (3h)**
    • SRP: diseño de clases con responsabilidad única
    • OCP: extensión sin modificación
    • LSP: uso correcto de herencia e interfaces
    • ISP: diseño de interfaces enfocadas
    • DIP: inversión de dependencias con Spring
    • Prácticas: identificación de violaciones y refactor en parejas

    **Módulo 3: Arquitectura en capas con Spring Boot (3h)**
    • Capas: presentación, aplicación, dominio, infraestructura
    • Estructura de paquetes y convenciones de nombres
    • Implementación de una funcionalidad tipo (API REST básica)
    • Prácticas: codificación en parejas de una funcionalidad en 3 capas

    **Módulo 4: Validación arquitectónica con ArchUnit y cierre (3h)**
    • Introducción a ArchUnit
    • Reglas básicas de separación de capas
    • Aplicación completa en Spring Boot con reglas de arquitectura
    • Análisis de problemas comunes en arquitecturas mal estructuradas
    • Evaluación final: revisión crítica de una app base

    **BLOQUE 2: DE LA ARQUITECTURA EN CAPAS A LA ARQUITECTURA HEXAGONAL - 20 horas**

    **Módulo 1: Limitaciones de la arquitectura tradicional en capas (2h)**
    • Análisis de una aplicación base en 3 capas
    • Problemas típicos: acoplamiento, lógica dispersa, difícil testeo
    • Necesidad de separar la lógica del dominio

    **Módulo 2: Introducción a la Arquitectura Hexagonal (4h)**
    • Principios: Ports & Adapters, inversión de dependencias
    • Separación entre lógica de negocio y entradas/salidas
    • Estructura de carpetas: dominio, aplicación, infraestructura, entrada
    • Práctica: identificación de capas reales en la app base

    **Módulo 3: Refactor hacia arquitectura Hexagonal (6h)**
    • Casos de uso como núcleo de la aplicación
    • Adaptadores primarios y secundarios
    • Controladores como adaptadores de entrada
    • Repositorios como adaptadores de salida
    • Práctica guiada: refactor estructural de la aplicación base

    **Módulo 4: Testing y validación de arquitectura (4h)**
    • Testing centrado en el dominio y los casos de uso
    • Dobles de prueba para adaptadores (Mocks, Stubs)
    • ArchUnit: validación de dependencias entre capas
    • Práctica: implementación de pruebas de arquitectura

    **Módulo 5: Revisión, prácticas integradoras y cierre (4h)**
    • Evaluación final: transformación completa de un módulo
    • Presentación de soluciones por parejas
    • Revisión crítica de decisiones arquitectónicas
    • Preparación para evolución futura hacia DDD

    **BLOQUE 3: CURSO PRÁCTICO DOMAIN-DRIVEN DESIGN (DDD) - 20 horas**

    **Módulo 1: Introducción y fundamentos de DDD (2h)**
    • Contexto histórico y filosófico de DDD
    • Complejidad en software de negocio
    • Tácticas vs estrategia: una visión global

    **Módulo 2: Modelado táctico (6h)**
    • Entidades, Value Objects y Agregados
    • Reglas de negocio vs reglas de aplicación
    • Repositorios de dominio vs adaptadores de persistencia
    • Servicios de dominio vs servicios de aplicación
    • Práctica: modelado y codificación de agregados con lógica rica

    **Módulo 3: Modelado estratégico (4h)**
    • Bounded Contexts
    • Context Maps y relaciones entre contextos
    • Ubiquitous Language en equipos mixtos
    • Práctica: identificación y separación de contextos

    **Módulo 4: Organización del código y validación de diseño (4h)**
    • Separación de módulos por contexto
    • Integración con arquitectura Hexagonal
    • Validación con ArchUnit: dependencias y estructura
    • Práctica: reestructuración modular de aplicación existente

    **Módulo 5: Práctica integradora y revisión (4h)**
    • Desarrollo de un contexto funcional completo (por parejas)
    • Modelado colaborativo guiado por casos de negocio
    • Presentación de decisiones de diseño
    • Feedback grupal y cierre

    **BLOQUE 4: CQRS y EVENT SOURCING CON KAFKA Y DEBEZIUM - 20 horas**

    **Módulo 1: Introducción a CQRS y Event Sourcing (2h)**
    • Limitaciones del CRUD tradicional en dominios complejos
    • Principios de CQRS: separación de comandos y queries
    • Fundamentos de Event Sourcing: persistencia basada en eventos

    **Módulo 2: Modelado de comandos y eventos (4h)**
    • Diseño de comandos y handlers en Spring Boot
    • Eventos de dominio vs eventos de infraestructura
    • Persistencia de eventos: Event Store y serialización
    • Práctica: creación de un flujo básico de comandos/eventos

    **Módulo 3: Apache Kafka como bus de eventos (4h)**
    • Introducción a Kafka: tópicos, particiones, offset
    • Producción y consumo de eventos de dominio con Spring Kafka
    • Organización de eventos por tipo y contexto
    • Práctica: orquestación de flujo de eventos entre bounded contexts

    **Módulo 4: Integración con Debezium y proyecciones de lectura (4h)**
    • Qué es Debezium y cómo captura cambios (CDC)
    • Creación de proyecciones (read models) reactivas a cambios
    • Estrategias de sincronización eventual y tolerancia a fallos
    • Práctica: implementación de vista de lectura con cambios detectados por Debezium

    **Módulo 5: Arquitectura completa y validación (4h)**
    • Integración total: CQRS + ES + Kafka + Debezium en arquitectura hexagonal
    • Validaciones de estructura con ArchUnit
    • Pruebas de resiliencia y entrega final por equipos
    • Evaluación final: presentación y análisis de decisiones

    Preguntas frecuentes

    ¿Cuánto dura el curso ESCUELA - Ruta Profesional en Arquitectura de Software y Diseño de Dominios Complejos con Java?

    El curso tiene una duración de 70.

    ¿En qué modalidad se imparte el curso?

    Se imparte en modalidad presencial. Consulta el calendario de convocatorias en la ficha del curso.

    ¿Este curso es bonificable a través de FUNDAE?

    La formación de SINENSIA IT SOLUTIONS para trabajadores en activo puede bonificarse a través de FUNDAE. Gestionamos los trámites de bonificación para tu empresa; contáctanos para más información.

    ¿Qué requisitos previos necesito?

    • Conocimientos básicos de Java • Familiaridad con programación orientada a objetos • Experiencia básica con Spring Boot (no excluyente) • Conocimientos básicos de herramientas como IDE, Git y Maven

    ¿A quién va dirigido el curso?

    Curso dirigido a: • Desarrolladores backend (junior a senior) • Arquitectos de software • Líderes técnicos y consultores IT • Equipos de desarrollo de aplicaciones críticas o distribuidas

    Cursos relacionados

    Transformamos empresas a través de la tecnología, la seguridad y la formación especializada. Tu partner de confianza en la era digital.

    Servicios

    Empresa

    © 2026 Sinensia. Todos los derechos reservados.