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

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.

💸 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

Cursos relacionados

Ver catálogo completo

Paga según tus necesidades

lite (sólo mensual)

Cargando…
al mes
  • Acceso a un subconjunto de cursos para sentar las bases para un código mantenible, escalable y testable
  • Factura de empresa
Popular

standard

Cargando…
Ahorra 121
Pago anual de 0
al mes
  • Catálogo completo de cursos
  • Retos de diseño y arquitectura
  • Vídeos de soluciones destacadas de los retos
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa

premium

Cargando…
Ahorra 89
Pago anual de 0
al mes
  • Todo lo anterior
  • Más beneficios próximamente

No subiremos el precio mientras mantengas tu suscripción activa