Are you tempted by Event Sourcing but don’t know where to start? Is your business losing data?
Event Sourcing allows us to keep track of all the business facts without losing a single piece of business information.
Tracing and observing our business workflow allows us to gather insights about the present system’s behaviour and answer tomorrow’s questions and challenges.
However, Event Sourcing also brings new questions and challenges to the development teams.
What’s the right event granularity? Should we go for thin or fat events? How do we separate shared/public from private/local events?
Event Sourcing also requires a new set of practices and the development of a new type of confidence in the design, construction, and ownership of durable systems.
This hands-on Event Sourcing workshop is designed to build this confidence, introducing participants gradually into Event Sourcing through hands-on activities.
Oskar Dudycz will share his practical experience on working with Emmett, Marten and EventStoreDB to get you started!
You don’t need to learn from your own mistakes but benefit from his experience.
The trainer
Oskar Dudycz is a strong advocate for Event Sourcing, CQRS, and Event-Driven Architecture. He believes these approaches provide a solid foundation for building scalable and maintainable solutions.
In addition to consulting, Oskar is an active open-source contributor, having played a key role in developing popular Event Sourcing tools like Emmett, Marten, and EventStoreDB.
Target audience
Have you thought that “it’d be much easier if we know the past data, or why this has happened”?
Are you integrating your systems with events and already see that keeping them longer could help you improve observability, build projections, and integrate efficiently?
Did you start modelling with EventStorming and want to see how to reflect your model in code?
If any of those are true for you, then learning Event Sourcing can boost your system design and be a valuable asset.
If you have already built some web applications in C#, Java or Node.js and would like to take them to next level, this workshop may be for you.
You should have experience building web applications using C#, Java or TypeScript, but all topics related to Event Sourcing will be introduced from the beginning.
Even if you know Event Sourcing, such a foundation summary should help you get alignment and ensure you didn’t miss anything.
Topics
- Event Sourcing,
- CQRS,
- Vertical Slices,
- Business Workflows (Saga, Process Manager etc.),
- How Event Stores are built,
- Guarantees that Event Sourcing gives,
- Versioning Events.
Agenda
Day 1-2
- Introduction to Event Sourcing. Basic terminology (event, stream of events, command), differences from the classical approach,
- Various ways of handling business logic: Aggregates, Command Handlers, functional approach,
- Write model and data consistency guarantees,
- Good and bad practices in modelling events,
- Projections and best practices for building read models.
Day 3-4
- Modelling Event Sourcing workflows: Saga, Choreography, Process Manager, handling distributed processes.
- Challenges in Event Sourcing and EDA: delivery guarantees, event processing order, idempotency, etc.
- Event Sourcing on production, evolution, event versioning, etc.
Learning objectives
In the workshop, you will build a simple but real and complete web application using Event Sourcing, and so you will have experienced:
- when and how to use Event Sourcing and CQRS and what benefits it brings,
- how to reflect your business logic in the code using events,
- how to model and implement business workflows with Event Sourcing,
- differences to the classical approach,
- different tools such as Emmett, Marten, and EventStoreDB and the differences between them,
- how to use Event Sourcing on your system,
- challenges related to Event Sourcing and recommended solutions.
How it works
Through hands-on coding exercises, you’ll gradually learn Event Sourcing theory through practice. Exercises should trigger discussions to deepen the understanding of the topics. You’ll also get model solutions. You can either do them on your own or pair them with others.
You’ll also be modelling group business workflows using EventStorming and implementing the outcome.
The workshop is focused on practice and hands-on experience to give you a quick start.
The workshop happens online and in live streaming.