Building Event-Driven Systems Using DDD, CQRS & Event Sourcing w/ Axon Framework
Date: February 2, 2023
Time: 12.45pm - 4.30pm
Location: Kongens Nytorv 18, 1050 Copenhagen K
The venue is located on the 1st floor in a building with no elevator.
12.45pm - Doors open
1.00pm - Building Event-Driven Systems Using DDD, CQRS and Event Sourcing With the Axon Framework
4.30pm - Thank you for today!
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.
- 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.
Programming languages used throughout the course (basic familiarity with each is assumed):
- Java (and the Spring framework)
The Axon Framework and Axon Server are utilized for the exercises and demonstrations.
About the speakers
Marc Klefter is Technical Lead at the Swedish consultancy firm Edument, where he helps Edument's clients with building cloud native systems via training, advisory services and hands-on support. With an extensive (20+ years) background as an engineer, entrepreneur, consultant and trainer, Marc specializes in event-driven solutions based on established principles and patterns such as DDD, Event Sourcing and CQRS.
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.