Event Store Cloud is production-ready and supports AWS, Azure, and GCP - click here to create your account
Training course

Advanced Event Sourcing, CQRS, and DDD Modelling

2 days£480 (ex VAT)
Event Sourcing is an implementation of a persistence model where instead of updating the current state of the system we persist its whole history as a stream of events. In this training you will gain the necessary experience on how to model and implement complex systems using Domain-Driven Design, CQRS and Event Sourcing. Download brochure

Advanced Event Sourcing, CQRS, and DDD Modelling

Course description

Modelling of a complex IT system is a task that presents many challenges - starting from business requirements, through working with many development teams and ending on nonfunctional ones related to availability and scalability. Domain-Driven Design is an approach that focuses on managing this complexity by aligning with the business domains to develop highly maintainable systems that deliver on business requirements. Two technical patterns often used when implementing DDD are CQRS and Event Sourcing. The Command-Query Responsibility Segregation architecture is a battle-tested approach used to design extremely high scale systems by decoupling reads and writes.

Event Sourcing is an implementation of a persistence model where instead of updating the current state of the system we persist its whole history as a stream of events. This approach gives us benefits such as a 100% reliable audit log, ability to execute temporal queries, and replays that allow to gain new insights from historical data or correct data inaccurately processed in the past. In this training you will gain the necessary experience on how to model and implement complex systems using Domain-Driven Design, CQRS and Event Sourcing.

Scope

DDD building blocks

  • Events
  • Aggregates
  • Commands
  • Value Objects
  • Entities
  • Services

Aggregate Modelling

  • Design-level Event Storming / Event Modelling
  • Aggregate Design
  • Bounded Contexts
  • Private and Public Events

Aggregate Implementation

  • Event Sourced Aggregates
  • Task-driven User Interfaces
  • Snapshotting
  • Testing using Given-When-Then formula
  • Correcting Events

CQRS & Event Sourcing

  • Event Sourced persistence Model
  • Read and Write stacks of CQRS
  • Benefits of Event Sourcing

Performance & Scalability

  • Eventual consistency
  • Monitoring
  • Scaling
  • Partitioning
  • Event based context integration

Queries & Projections

  • Projection design
  • Side-effect handling
  • Downtime-free Replays
  • Process Managers
  • Testing using Given-When-Then formula

Prerequisites

  • Elementary understanding of Event Sourcing
  • Proficiency in one mainstream programming language
  • Laptop/notebook with a working development environment and ability to connect to internet
  • A sample web application up and running (should be able to accept an HTTP connection)
  • Docker daemon up and running

Download course brochure

Book this course

£480
ex VAT