Parto da questo commento di Fabio, perché merita un post a se.

image

Alcune considerazioni:

  • CQRS non implica Event Sourcing e non implica eventi per sincronizzare gli aggregati con i modelli in lettura, è una possibile strada (irta e con tante piccole insidie) ma non è obbligatorio, e il piccolo esperimento che è Radical.CQRS lo dimostra.
  • Se anche decidessimo di percorrere la strada CQRS + Event Sourcing e quindi abbiamo bisogno di produrre le projection, dato che queste ultime vivono nello stesso bounded context dell’aggregato il problema “fat event” non si pone perché al projector probabilmente do proprio il Domain Event.
  • Anche se il nostro sistema è talmente vasto da necessitare le projection asincrone probabilmente gli do comunque il Domain Event, siamo sempre nello stesso BC

C’è uno scenario che ci manca: la “projection” (e c’è un motivo per cui è tra virgolette) è cross-BC.

La soluzione, per SOA, si chiama IT/Ops, non implica “fat event”, potrebbe implicare “fat message” e qui la terminologia conta molto (esattamente come la distinzione tasse / imposte).

Continua…