Building Event-Driven Systems Using DDD, CQRS & Event Sourcing with Axon Framework

Onsite GOTO Workshop
Allard Buijze
Allard Buijze

Creator of Axon Framework

Date: November 23, 2023
Time: 12.45pm - 4.00pm
Location: CodeNode, Gdanskgade 2, 2150 Copenhagen

The venue is located on the ground floor in the building.

Agenda

12.45pm - Doors open
01.00pm - Building Event-Driven Systems Using DDD, CQRS and Event Sourcing With the Axon Framework
04.00pm - Thank you for today!


Abstract

This hands-on session is comprised of three parts:

1. A brief orientation of Domain-driven design (DDD):
How it enables us to devise software solutions to complex business problems in a systematic manner.

You’ll learn:

  • What a domain model is, why establishing an ubiquitous language to foster a shared understanding of a domain matters, how to discover subdomains and design bounded contexts.

  • The building blocks of a domain model - aggregates, entities, value objects, events and more.

    Event-driven architectures, the CQRS and Event Sourcing concepts and their advantages, and the importance of eventual consistency and location transparency.

2. Domain modeling
An example of DDD in practice, where a collaborative modeling technique known as Event Modeling is used to analyze and model a specific business domain, resulting in a blueprint for implementing a system that supports the gathered domain requirements.

3. Axon Framework
The domain model from part 2 is realized using the Axon Framework, which provides the foundations for applying DDD, CQRS and Event Sourcing in a JVM environment.

Through a number of exercises, you’ll implement an event-sourced application and key components (aggregates, projections) and learn about commands, events and queries; finally, you’ll get an introduction to Axon Server and its function as an event store.

At the end of this workshop, you’ll have learned the essentials of DDD and modeling a business domain, as well as implementing an event-driven system based on a domain model.

Prerequisites
Programming languages used throughout the course (basic familiarity with each is assumed):

  • Java (and the Spring framework)
  • Kotlin

The Axon Framework and Axon Server are utilized for the exercises and demonstrations.


About the speakers

Allard Buijze is founder and CTO of AxonIQ. Starting at the age of 6, he has developed a great passion for programming and has guided both large and small organizations in building performant and scalable applications. Now, he is on a mission to make implementations of large scale systems easier. He created the Axon Framework as an experiment initially, but when both large and small organizations started using Axon, AxonIQ was born.

View all events
here