Event Sourcing: Practical Introduction

Two day workshop
Oskar Dudycz

Event Sourcing: Practical Introduction

No dates are scheduled for this workshop. Let us know if you think we should organize it near you, or if you'd like to book it on premise in your organisation.


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:

  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 on the.
  6. Challenges in Event Sourcing and EDA: delivery guarantees, event processing order, idempotency, etc.
  7. Saga, Choreography, Process Manager, handling distributed processes.
  8. Event Sourcing in the context of application architecture, integration with other approaches.
  9. Good and bad practices in modelling and handling events.
  10. 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 ;) .
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

No dates are scheduled for this workshop. Let us know if you think we should organize it near you, or if you'd like to book it on premise in your organisation.


Also check out