Training course

Event Sourcing and CQRS Basics - May 2024

Beginner training course

In this course, you will learn the basic concepts around Event Sourcing, how it relates to CQRS and how to use the pattern.

Course details

Level:
Beginner
Date(s):
13 May - 14 May 2024
Time:
2024-05-13T14:00Z
Length:
2 x 0.5 days
Location:
Virtual classroom
Language:
English
Beginner training course

Event Sourcing and CQRS Basics | ET Timezone | May 2024

Sorry, this course date is now unavailable.

If you are interested in this course, please see future available dates or register your interest.


Itinerary

Day 1

13th May 2024 - 10am - 1.30pm ET

Day 2

14th May 2024 - 10am - 1.30pm ET


Overview

This course equips you with the foundational knowledge to navigate Event Sourcing effectively and sets the stage for your continued learning journey. Event Sourcing is an architectural pattern revolutionizing data persistence in distributed applications, allowing you to preserve the complete history of changes in full fidelity rather than just the latest state.  

You will learn how Event Sourcing can be used with CQRS (Command-Query Responsibility Segregation) and why aggregates and projections are crucial in Event Sourcing architectures.

This training is practical and interactive.  The course is divided into lectures, group activities, and discussions, including hands-on coding for a basic event-sourced application. Active participation is required, as attendees should be willing to work in small groups with other attendees and contribute to remote modeling activities on a virtual whiteboard.


Scope

Session one

Introduction to Domain-Driven Design

  • What is Domain-Driven Design?
  • What is a domain model?
  • What is the ubiquitous language?

Basics of CQRS

  • What is CQRS?
  • What is the difference between CQS and CQRS?
  • What is domain-centric thinking?
  • What are projections?

Session two

Basics of Event Sourcing

  • What is Event Sourcing?
  • What are the benefits of Event Sourcing?
  • What is eventual consistency?
  • What are the traits of an Event Store?

Aggregates

  • What is an aggregate?
  • Investigating different boundaries for an aggregate.
  • Implementing an aggregate in code.
  • Implementing a projection in code.

Learning outcomes

  • The basic concepts of CQRS and Event Sourcing
  • How to design aggregates and projections
  • How to test your models

Prerequisites

  • Comfortable reading C#/Java-like syntax.
  • Web access (for Miro & Zoom)
  • No prior knowledge of CQRS or Event Sourcing is required