Skip to content

DDD, CQRS & Event Sourcing! Evolutionary Microservices with the Axon Framework.

Photo of Martin Schimak
Hosted By
Martin S. and 2 others
DDD, CQRS & Event Sourcing! Evolutionary Microservices with the Axon Framework.

Details

Hi all!

It’s one of those coincidences! :-) Our last Microservices Meetup focused on First Bird building a „Monolith First“ and then transition to Microservices later. Daniel emphasized: their event driven architecture allowed them to transition more easily. And THIS time, we will look in even more depth into the topics of Event Sourcing, CQRS and Microservices - all of them discussed in the context of Domain-Driven Design. We will explore Axon - a JVM framework which helps to build either a „friendly“, well structured monolith or an event-driven set of microservices right away.

Our guest and speaker is Frans van Buul. He works at AxonIQ, the Netherlands-based company behind the open source Axon Framework. He divides his time between telling the world about Axon Framework and other AxonIQ products and doing coding on the AxonIQ products.

Our program in more detail:

  1. DDD, CQRS, Event Sourcing and Microservices
    ---
    The concepts of DDD, CQRS and Event Sourcing together form the basis of Axon Framework, and we'll have a look at them first conceptually before jumping into the framework itself. There is nothing Axon specific about these things -for example, the Lagom framework is based on the same ideas.

Although these concepts have been around for a while, they have gotten renewed attention in the past couple of years. The background here seems to be that developers have been rediscovering these concepts in the context of microservices architectures. Therefore, we'll be looking specifically at this relationship.

For DDD (domain-driven design), we'll have a look at the core principles behind it, some of the strategic patterns it describes (like bounded context) and core building blocks (aggregate, repository, domain event). We'll contrast the DDD approach with traditional "layered" architecture and see how DDD provides a more natural transition into microservices architectures.

Regarding CQRS (command-query responsibility segregation), we'll define the pattern, and discuss the core motivations behind it (such as performance). When looking at Event Sourcing, we'll discuss the business drivers for doing it, and the relationship with DDD and CQRS.

Finally, we'll see how combining DDD, CQRS and Event Sourcing give rise to system which distinguishes between 3 types of messages with their own specific routing patterns.

---
2) Evolutionary microservices with Axon Framework (with live coding)

We'll start by having a look at the history of Axon Framework, its current global adoption and company backing. Then, we'll have a look at the way that Axon Framework has implemented the core concepts discussed earlier.

An important idea that Axon adds on top of these core concepts is location transparency. All messaging is mediated through a bus, regardless of whether it takes place inside a single JVM or between JVMs. This allows a gradual transition from a monolith towards a microservices systems. This is the evolutionary approach to microservices, also known as "monolith first".

We'll demonstrate this by live coding a small Axon monolith from scratch (using the Spring Boot integration to get started quickly), and then taking it apart into a few microservices.

---
Speaker bio

Frans van Buul is evangelist at AxonIQ, the Netherlands-based company behind the open source Axon Framework. He divides his time between telling the world about Axon Framework and other AxonIQ products and doing coding on the AxonIQ products.

Before joining AxonIQ, Frans has been a presales rep for the Fortify application security portfolio, and a Java software developer and architect.

---
Thank you to our sponsors s-IT and Markhof!

s IT Solutions is hiring!

• DevOps Engineer - Continuous Devlivery (m/w) https://sitsolutions.taleo.net/careersection/ex/jobdetail.ftl?job=SCO000001&tz=GMT+01:00

• Software Tester/Solution Quality Professional (m/w) https://sitsolutions.taleo.net/careersection/ex/jobdetail.ftl?job=SEL000001&tz=GMT+01:00

Photo of Microservices, Reactive and Distributed Systems Vienna group
Microservices, Reactive and Distributed Systems Vienna
See more events