Event Sourcing: Practical Introduction

An accessible approach to building business-centric applications
Oskar Dudycz

Event Sourcing: Practical Introduction

Event Sourcing: Practical Introduction

Oskar Dudycz
🇬🇧 English
Introductory

Online
Total duration: 14h00

Timezone: Europe, Amsterdam
Monday January 27 09:30 - 13:00
Tuesday January 28 09:30 - 13:00
Wednesday January 29 09:30 - 13:00
Thursday January 30 09:30 - 13:00


Event Sourcing: Practical Introduction

Oskar Dudycz
🇬🇧 English
Introductory

Antwerp, Belgium
Carnot Wing
Total duration: 14h00

Timezone: Europe, Amsterdam
Monday June 2 09:30 - 17:30
Tuesday June 3 09:30 - 17:30


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
Oskar Dudycz

About Oskar Dudycz

Oskar is a developer, technical team leader, and architect. He started a career before StackOverflow existed. For over 14 years, he has been creating systems close to the business process. He believes that Event-Driven Architectures and Event Sourcing are great ways to achieve that.

He is an active open-source developer and one of the Marten library maintainers. He is also sharing his journey and findings on his blog https://event-driven.io and practical samples at https://github.com/oskardudycz.

All workshops by Oskar Dudycz
@oskar_at_net

Event Sourcing: Practical Introduction

Oskar Dudycz
🇬🇧 English
Introductory

Online
Total duration: 14h00

Timezone: Europe, Amsterdam
Monday January 27 09:30 - 13:00
Tuesday January 28 09:30 - 13:00
Wednesday January 29 09:30 - 13:00
Thursday January 30 09:30 - 13:00


Event Sourcing: Practical Introduction

Oskar Dudycz
🇬🇧 English
Introductory

Antwerp, Belgium
Carnot Wing
Total duration: 14h00

Timezone: Europe, Amsterdam
Monday June 2 09:30 - 17:30
Tuesday June 3 09:30 - 17:30


Also check out