Join Alexey Zimarev, the Event Sourcing enthusiast and the author of "Hands-On Domain-Driven Design with .NET Core" book for a workshop for developers and architects who are willing to learn practical aspects of implementing Event Sourcing in production systems.
Today, many of us already heard about Event Sourcing and its benefits. However, when it comes to writing code, it could be quite challenging to start from an empty screen in the IDE. Using one of the Event Sourcing frameworks that promise to deliver everything out-of-the-box might be helpful at the beginning but also bring a great deal of "magic" to the system and hides a lot of important implementation details.
During this workshop we will model and build an application using tactical patterns of DDD with CQRS and polyglot persistence. We will start with a quick modelling session to find out how the new system can be represented in a loop of commands, events and read-models. Then, during the course of the implementation exercise, we will create a set of useful abstractions and tools that you could continue to develop further and use them in your projects.
Topics covered:
- Modelling with domain events
- A whiteboard that compiles - convert sticky notes to code
- Commands, events and consistency boundaries
- Persistence for events
- Read-models and projections
- Production readiness - metrics and traces
- Evolving event-sourced systems
Requirements
Alexey will write code in C# but participants can use any language. EventStore will be used to persist events. Prepare by setting up a client library for your language. The official client is available for .NET and community-driven libraries exist for Java, NodeJS, Python and other languages.