Posts

Showing posts with the label event

The DCB Tag Dilemma

Image
  The “crazy wall” in the 2001 film  A Beautiful Mind DCB introduces tags as a consistency mechanism to identify the events required to enforce the consistency constraints. Along with the event type, tags are one of the two key attributes you can use to filter events relevant to a specific decision. Type and tag describe two different sides of the same event—two complementary dimensions. Used together, they let you define very precisely which events you need to consider to make a particular decision.  Let’s unpack what each dimension means. Event type: what happened An event’s type describes the nature of the fact itself: what happened. “StudentSubscribedToCourse” is a typical event type. It doesn’t tell you who was involved or provide any context. It only conveys the kind of thing that occurred, describing the fact without tying it to the specific entities involved. The type is also semantically tied to the business logic used to process the event. It’s easy to see why:...

In Praise Of Event Sourcing

Image
A few days ago, at Brussels station, Milan and I engaged in an exciting discussion about interpreting the question: "What are the benefits of a given solution?" During the conversation, I contended that the answer should only include the benefits directly arising from utilizing that particular solution. In my opinion, the question was equivalent to asking: "Why should I adopt that solution?" On the contrary, Milan argued that all the positive aspects resulting from the solution, even those indirectly related to the solution itself but stemming from the prerequisites it entails, should be listed as benefits. We were so engrossed in grappling with this little dilemma that I nearly missed my train. This entire discourse originated from a question we received the day before at Voxxed Days Brussels: "What are the benefits of event sourcing?" To provide an answer to this question, we must first clarify what we mean by event sourcing. Over the years, I've ob...