Practical Introduction to Event Sourcing
Pre-conference Workshops
Tickets
- Speakers
Oskar Dudycz
- Date
- June 5-6
- Description
Event Sourcing allows you to create business-related applications. Recording events (facts) about the business process gives a complete understanding of your workflow and reflects them in the code. It is wrongly considered a complicated pattern that is challenging to apply in practice.
Learning objectives:
The workshop will be hands-on and teach you how to use Event Sourcing, giving you solid foundations. You will understand after them:
- when and how to use it and what benefits it brings,
- how to reflect your business logic in the code using events,
- differences to the classical approach,
- different tools such as Marten and EventStoreDB and the differences between them,
- how to use Event Sourcing on your system,
- challenges related to Event Sourcing and recommended solutions.
Summary:
- Introduction to Event Sourcing. Basic terminology (event, stream of events, command), differences from the classical approach.
- What is Event Sourcing, and how is it different from Event Streaming. Advantages and disadvantages.
- Write model and data consistency guarantees.
- Various ways of handling business logic: Aggregates, Command Handlers, functional approach.
- Projections and best practices for building a read model on the.
- Challenges in Event Sourcing and EDA: delivery guarantees, event processing order, idempotency, etc.
- Saga, Choreography, Process Manager, handling distributed processes.
- Event Sourcing in the context of application architecture, integration with other approaches.
- Good and bad practices in modelling and handling events.
- Event Sourcing on production, evolution, event versioning, etc.
Requirements:
- understanding of the basic building blocks of the application design,
- experience in one of the languages and platforms: C#, Java, TypeScript (code exercises will be done using them),
- positive and open-minded attitude ;) .
Prerequisites
- understanding of the basic building blocks of the application design,
- experience in one of the languages and platforms: C#, Java, TypeScript (code exercises will be done using them),
- Laptop with latest .NET, Java or NodeJS preinstalled.
- positive and open-minded attitude ;) .
About Oskar Dudycz
I'm a developer, technical team leader, and architect. I started a career before StackOverflow existed. For over 15 years, I've been creating systems close to the business process. I believe that Event-Driven Architectures and Event Sourcing are great ways to achieve that.
I'm an active open-source developer and one of the Marten library maintainers. I'm sharing my journey and findings on my blog https://event-driven.io and practical samples at https://github.com/oskardudycz.