Event-Sourced DDD Domain Models with Axon (in Kotlin)

Workshop

Modern DevOps practices thrive on systems that are reliable, observable, and easy to evolve - qualities that event-sourced architectures naturally provide.

In this hands-on workshop, you’ll learn how to combine Domain-Driven Design (DDD) with CQRS and Event Sourcing using the Axon Framework and Kotlin to model and implement a small but complete domain.

Starting from a short Event Storming exercise, participants will explore the flow of domain events and commands, then step by step build a working event-sourced domain model:

  • Understanding how CQRS cleanly separates write and read responsibilities
  • Designing DDD Aggregates, Entities, and Value Objects
  • Implementing Commands, Domain Events, Invariants, and Projections
  • Exposing domain use cases through REST APIs

Finally, we’ll look at how event-sourced systems can evolve safely over time - introducing the basics of event versioning and upcasting, and discussing what can be replayed, rebuilt, or reset to keep systems healthy in production.

By the end, you’ll have a solid understanding of how to design, implement, and maintain traceable, evolvable, and DevOps-friendly event-sourced domain models with the Axon Framework and Kotlin.

Prerequisites: Basic knowledge of Kotlin or Java and Spring Boot. We’ll introduce the core DDD concepts along the way. Bring your laptop for hands-on coding!

Speakers

oliver-zihler

Oliver Zihler

 
Oliver Zihler is a dedicated Software Crafter specialising in Business-Domain-Driven Software Design, identifying and addressing Code Smells through Refactoring, architecting maintainable software ...alina-liburkina

Alina Liburkina

 
Alina Liburkina is a CEO of Codeartify GmbH. She is a technical trainer, software engineer and architect, and (IT) event organizer passionate about DDD, Refactorings, Hexagonal and Clean Architecture. ...