DDD Academy
No upcoming sessions

Event Sourcing: A Practical Introduction

Essentials
English

Your Instructors

Event Sourcing: A Practical Introduction

Event Sourcing is an architectural pattern used in software design, that is gaining popularity with teams managing large complex systems. Recording events that reflect meaningful business actions provides a clearer, more detailed understanding of system behaviour and business processes for all the team members. Although sometimes considered a complicated pattern, this hands-on course will demonstrate the benefits of Event Sourcing and how to apply the pattern in your current projects.

Learning objectives:

This hands-on workshop will teach you how to use Event Sourcing, giving you a solid understanding of the fundamentals. You will learn:

  • How and when to apply Event Sourcing, as well as learning the core benefits this pattern brings
  • How to reflect your business logic in the code using events
  • The core differences to the classical approach
  • Different tools such as Emmett, Marten and EventStoreDB and the differences between them
  • How to apply Event Sourcing to your own system
  • Challenges related to Event Sourcing and recommended solutions

Course Agenda:

  1. Introduction to Event Sourcing. Basic terminology (event, stream of events, command), differences from the classical approach.
  2. What is Event Sourcing, and how is it different from Event Streaming? Advantages and disadvantages.
  3. Write model and data consistency guarantees.
  4. Various ways of handling business logic: Aggregates, Command Handlers, functional approach.
  5. Projections and best practices for building a read model from events.
  6. Challenges in Event Sourcing and EDA: delivery guarantees, event processing orders, idempotency, etc.
  7. Saga, Choreography, Process Manager, handling distributed processes.
  8. Event Sourcing in the context of application architecture, and integration with other approaches.
  9. Good and bad practices in modelling and handling events.
  10. Event Sourcing in production, evolution, event versioning, etc.

Requirements:

  • An understanding of the basic building blocks of the application design
  • Experience in one of the following languages and platforms: C#, Java, TypeScript (code exercises will be using them)
  • positive and open-minded attitude ;)

What participants say about this workshop

"Really hands-on. Fantastic host. Creative and collaborative exercises. I've gained the ability to explain Event Concepts to colleagues. This workshop will help me develop better-quality applications."

- workshop participant 2023

"The instructor gave clear explanations throughout. This workshop has helped me decide how to use Event Sourcing in my own systems."

- workshop participant 2023

"I will apply some elements, starting tomorrow. Great course. "

- workshop participant 2023

Sessions & Booking

Upcoming Sessions

No upcoming sessions yet.

Get in touch and we'll keep you posted.

Book for your team

We can organise this workshop privately for your company, tailored to your domain.

Contact us

Stay in the Loop

Get notified about new workshops, early-bird discounts, and exclusive content on DDD, Architecture, and Software Design.

No spam, unsubscribe anytime. Join 5,000+ developers.