00 · Objetivos

Duración: 17 h 00 – 19 h 00 (UTC-5 / Colombia) Tema global: Conceptos base – DDD, Arquitectura Hexagonal, CQRS y EDA


Objetivos del día

#
Objetivo específico
Relevancia

1

Analizar por qué la complejidad creciente degrada la productividad del equipo.

Reconocer el problema es el primer paso para aplicar patrones de diseño con sentido.

2

Diferenciar con precisión Dominio y Infraestructura dentro de una solución Node.js.

Una separación nítida minimiza la deuda técnica y mejora la mantenibilidad.

3

Describir con argumentos qué resuelve cada enfoque (Hexagonal, DDD, CQRS, EDA) y cuáles son sus límites.

Aplicar la solución adecuada según el contexto evita sobre-ingeniería.

4

Identificar cuándo la adopción de un patrón añade más coste que valor.

Contribuye a decisiones arquitectónicas equilibradas y sostenibles.

5

Clonar el repositorio y ejecutar la pila básica (docker-compose) en local.

Se garantiza que todos los participantes parten de un entorno reproducible.


Agenda de la sesión

Bloque
Contenido

Bienvenida & Verificación de entorno

Clonado del repositorio y arranque de contenedores.

El problema de la complejidad

Análisis del diagrama “Big Ball of Mud” y sus consecuencias.

Panorama general de los patrones

Introducción conceptual a Hexagonal, DDD, CQRS y EDA.

Estado del arte de los microservicios en Node.js (2025)

Tendencias, librerías y buenas prácticas actuales.

Lanzar el proyecto

Ejecución de docker-compose, verificación de health-checks y exploración de endpoints.

Evaluación rápida

Quiz de preguntas de selección múltiple para afianzar conceptos.


Conceptos evaluados

  • Definiciones de Dominio y Modelo de Dominio

  • Importancia del Lenguaje Ubicuo

  • Diferencias entre Port y Adapter

  • Naturaleza de Command y Query en CQRS

  • Contraste entre Event Bus in-memory y Broker duradero

  • Ventajas y compromisos de EDA frente a REST síncrono

  • Aplicación del Single Responsibility Principle en servicios

(La respuesta a cada punto deberá poder expresarse en menos de 30 segundos.)


Relación con el Proyecto Evolutivo

En esta primera sesión se valida el entorno de desarrollo y se ejecuta la base sin modificar el código. Este punto de partida común permitirá construir, de forma incremental, la solución final a lo largo del curso.


Requisitos técnicos

  • Docker ≥ 24 y Docker Compose v2

  • Node.js 20 LTS + npm 10

  • Visual Studio Code con extensiones ESLint, Prettier y Docker

  • Al menos 3 GB de RAM libre para contenedores (PostgreSQL, RabbitMQ y dos servicios)


Bibliografía y recursos recomendados

Artículos y blogs

Documentación oficial

Libros

  1. “Domain-Driven Design Distilled” – Vaughn Vernon

  2. “Patterns of Enterprise Application Architecture” – Martin Fowler

  3. “Learning Event-Driven Architecture” – Hugh McKee

  4. “Clean Architecture” – Robert C. Martin (referencia comparativa)

Última actualización