Enriching your events with important metadata

When considering the application of event sourcing it's quite common to allow a common part for all the events, the metadata. Various stores handle it in separate but common ways. EventStore lets you append the metadata with events. The same you can do with NEventStore using headers. But what information can be useful to store … Continue reading Enriching your events with important metadata

Events visibility vs streams visibility

In my recent implementation of a simple event sourcing library I had to make a small design choice. There are streams which should be considered private. For instance, there's a process manager position stream, which holds the position change of events already processed by process managers. Its' events should not be published to other modules, … Continue reading Events visibility vs streams visibility

Process manager in event sourcing

There is a pattern which can be used to orchestrate collaboration of different aggregates, even if they are located in different contexts/domains. This patters is called a process manager. What it does is handling events which may result in actions on different aggregates. How can one create a process manager handling events from different sources? … Continue reading Process manager in event sourcing