DDD - Interaction with external bounded contexts

[#vaughn-ddddis], on 2nd chapter:

DDD - Bounded Contexts should interact with other bounded context via well defined, external APIs. There are several tactics for that:

For communication:

  • Event driven architecture (see also DDD - Domain Events)
  • Command Query Responsibility Segregation
  • Reactive and Actor Model
  • Representational State Transfer (REST)
  • Remote Procedure Call (RPC)

Possible architectures

  • Service-Oriented Architecture (SOA)
  • Microservices
  • Monoliths with well defined internal APIs (removing the R from RPC :p)

DDD - Domain Events offer good advice on how to establish clear communication standards and DDD - Event Sourcing offers an idea on how to guarantee recovery.

[#vaughn-ddddis]: Vernon, Vaughn. Domain-Driven Design Distilled. Boston: Addison-Wesley, 2016.