CursosWorkshop IAEmpresasPreciosBlogNewsletter
  • Cursos
  • Workshop IA
  • Empresas
  • Precios
  • Blog
  • Newsletter
Suscríbete
  • Cursos
  • Empresas
  • Comunidades
  • Blog
  • Tarjeta regalo
  • Newsletter
  • Soporte
  • Tienda
  • ConfAiBot
  • Contacta
  • Aviso legal
  • Condiciones generales
  • Política de privacidad
  • Política de cookies

Curso de DDD en TypeScript: Comunicación entre servicios y aplicaciones

Standard
Fernando VilasRubén SaladoDani Santamaria

Por Fernando Vilas, Rubén Salado y Dani Santamaria – Diseño y Arquitectura de Software

Comunica servicios y aplicaciones usando Domain-Driven Design (DDD) y TypeScript y consigue así que el software y los equipos escalen de forma progresiva.

Ir al curso

💸 Primera lección disponible sin registro 💸

En este curso de la serie de DDD en TypeScript, nos centramos en cómo realizar la comunicación de servicios y aplicaciones, y vemos los pasos para evolucionar el sistema a medida que el volumen de peticiones y los dominios y equipos evolucionan.

Para la comunicación, en primera instancia utilizamos un Event Bus asíncrono en memoria, para más tarde realizar la comunicación con un Message Broker distribuido con RabbitMQ.

En el camino, aplicamos los conceptos del curso de Event Driven Architecture, utilizando técnicas de Parallel change y Anti-Corruption Layers (ACLs), e implementamos un buscador utilizando MongoDB y ElasticSearch.

En este curso aprenderás a:

  • ✨ Producir, publicar y consumir eventos de dominio
  • 🫧 Comunicar servicios con Event Bus async en memoria
  • 🛰️ Comunicar servicios de forma distribuida con RabbitMQ
  • 🙅🏾‍♂️ Gestion de errores al publicar y consumir eventos
  • 🪞 Generar modelos de lectura con proyecciones
  • 🔀 Implementar un Command Bus y Query Bus en TypeScript
  • 👯 Dar de alta nuevos servicios de forma progresiva
  • 🔍 Crear un buscador en MongoDB usando Criteria Pattern
  • 🤘 Proceso de migración del buscador a ElasticSearch

Contenido del curso 👇

  1. 🛰️ [GRATIS] Comunica aplicaciones y servicios con TypeScript y DDD
    • ✉️ Comunicación con eventos de dominio en aplicaciones DDD
  2. 🫧 Comunicación entre módulos con EventBus asíncrono
    • 👇 Definición de eventos de dominio y subscribers
    • 🥳 Publicación de eventos de dominio CourseCreated
    • 🤔 Subscripción de eventos y test de aceptación
    • 🚷 Idempotencia a la hora de consumir eventos
  3. 🐇 Comunicación entre Bounded Context con RabbitMQ
    • 👽 Publicar eventos de dominio en RabbitMQ
    • 🐰 Gestión de errores al publicar eventos de dominio
    • 🦉Ayudanos a mejorar
  4. ⚡ Consume Eventos desde RabbitMQ
    • 🎱 Generar la configuración de RabbitMQ
    • 🌬 Consumir eventos desde RabbitMQ
    • 🙅🏾‍♂️ Gestión de errores al consumir: Colas de Retry y Dead Letter
    • 👨‍🚒 Implementación de la gestión de errores al consumir
  5. 🔀 De Arquitectura Hexagonal a CQRS
    • 🥁 Implementar Command Bus en TypeScript
    • ♻️ Refactoring: De Arquitectura Hexagonal a CQRS
    • ♻️… 🚌💨 Integración y refactor a Query Bus
  6. ✨ Crea una nueva aplicación de Backoffice
    • 🐣 Alta de una nueva aplicación: Backoffice
    • 🐍 Crear cursos en el Backoffice usando el contexto de Mooc
    • 📚 Añadir el listado de cursos en el Backoffice Frontend
    • 🦉Ayudanos a mejorar
  7. 🪞 Añade proyecciones al Backoffice con Parallel Change
    • 🧐 Listado de cursos en el Backoffice usando QueryBus
    • 🌅 Crear proyecciones en el contexto de Backoffice
    • 🤘 Refactoring de QueryBus a proyecciones
  8. 🔍 Buscador de cursos en el Backoffice: De Mongo a ElasticSearch
    • 🪄 Buscador de cursos con el Patrón Criteria/Specification
    • 👯 Parallel Change de Mongo a Elastic: Proxy Repository
    • ✅ Finalizar la migración a Elastic
    • 🎙 Mejora la expresividad del dominio: Specification Pattern y Lenguaje Ubiquo
  9. 🔜 Conclusión y siguientes pasos
    • 👐 Alternativas para los tests de aceptación del EventBus
    • 🦉 Conclusiones y siguientes pasos

Vídeos del curso

  • ✉️ Comunicación con eventos de dominio en aplicaciones DDD

  • 👇 Definición de eventos de dominio y subscribers
  • 🥳 Publicación de eventos de dominio CourseCreated
  • 🤔 Subscripción de eventos y test de aceptación
  • 🚷 Idempotencia a la hora de consumir eventos

  • 👽 Publicar eventos de dominio en RabbitMQ
  • 🐰 Gestión de errores al publicar eventos de dominio

  • 🎱 Generar la configuración de RabbitMQ
  • 🌬 Consumir eventos desde RabbitMQ
  • 🙅🏾‍♂️ Gestión de errores al consumir: Colas de Retry y Dead Letter
  • 👨‍🚒 Implementación de la gestión de errores al consumir

  • 🥁 Implementar Command Bus en TypeScript
  • ♻️ Refactoring: De Arquitectura Hexagonal a CQRS
  • ♻️… 🚌💨 Integración y refactor a Query Bus

  • 🐣 Alta de una nueva aplicación: Backoffice
  • 🐍 Crear cursos en el Backoffice usando el contexto de Mooc
  • 📚 Añadir el listado de cursos en el Backoffice Frontend

  • 🧐 Listado de cursos en el Backoffice usando QueryBus
  • 🌅 Crear proyecciones en el contexto de Backoffice
  • 🤘 Refactoring de QueryBus a proyecciones

  • 🪄 Buscador de cursos con el Patrón Criteria/Specification
  • 👯 Parallel Change de Mongo a Elastic: Proxy Repository
  • ✅ Finalizar la migración a Elastic
  • 🎙 Mejora la expresividad del dominio: Specification Pattern y Lenguaje Ubiquo

  • 👐 Alternativas para los tests de aceptación del EventBus
  • 🦉 Conclusiones y siguientes pasos
Ir al curso

Cursos relacionados

Standard
Patrones de diseño: Inbox y Outbox

📬 Patrones de diseño: Inbox y Outbox

Javier FerrerRafa Gómez

Aprende cuándo utilizar (y cuándo no) los patrones Inbox y Outbox.

Ver curso
Standard
Event bus en base de datos [Diseño de Infraestructura]

🚏 Event bus en base de datos [Diseño de Infraestructura]

Javier FerrerRafa Gómez

Añade escalabilidad utilizando tu propia base de datos como un Event Bus.

Ver curso
Standard
Auditoría Green Slope

🟢 Auditoría Green Slope

Javier FerrerRafa Gómez

Sesión de auditoría en la que revisamos el Diseño y Arquitectura de Software de Green Slope.

Ver curso
Ver catálogo completo

Paga según tus necesidades

lite (sólo mensual)

19 €
al mes
  • Cursos esenciales de programación para construir una base sólida
Popular

standard

24,92 €
Descuento vs mensual de 49 €
Pago anual de 299 €
al mes
  • Catálogo principal para dominar cómo escribir un código mantenible, escalable y testable
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa
  • Acumular descuentos al renovar

premium

41,58 €
Descuento vs mensual de 89 €
Pago anual de 499 €
al mes
  • Cursos exclusivos de IA para mantenerte siempre actualizado
  • Acceso anticipado a nuevos cursos
  • Descuento en workshops
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa
  • Acumular descuentos al renovar

No subiremos el precio mientras mantengas tu suscripción activa

SuscríbeteInicia sesión