We are pleased to invite you to a three-part event.
Part 1 will focus on an overview of the architectural concepts that underlie Domain Driven Design. Part 2 includes an introduction to the world of Event Modeling and Part 3 is a hands on coding session.
During the meetup, we will share what lessons can be learned from concepts such as DDD, CQRS, and event sourcing to manage complex systems.
Led by our expert Allard Buijze from AxonIQ. These sessions will give you the opportunity to learn about the latest concepts and techniques for building complicated, scalable software systems and test them out yourself.
Designing Microservices with Axon - Modeling and Coding Workshop
With Allard Buijze
This workshop contains three parts:
Part 1: Introduction to architectural concepts
Domain-driven design (DDD) is a software design approach focusing on modeling systems based on input from business domain experts.
In this part, we will discuss what a domain and the model(s) within that domain are. We will cover the concept of bounded context and the importance of ubiquitous language for better communication. We will also look at building blocks within a domain model, including aggregate, events, value objects, and repositories.
We will also talk about Command-Query Responsibility Separation (CQRS) and the advantages of separating the business logic (command side) from the projections (query side) in an application. We will then explain how these two parts become parts of the same conceptual application through a client or UI. And lastly, how the events (notification of something that has happened in the past) can update both the command and query sides. We will discuss how event sourcing is the way to move from events as a side effect to events at the core.
Part 2: Discovery phase through event modeling
Event modeling is a method of describing a system by looking at how the information changes over time. This practice omits the transient changes and looks at what is being stored and what the user sees at any time. We will look at the four patterns and seven steps of event modeling and model a sample application together.
Part 3: Hands-on coding
In this final portion, we will translate our event model into code (using your IDE of choice); the download information for a basic application will be provided. After a simple setup, we will continue using DDD's building blocks to expand our application further by applying the concepts of CQRS and event sourcing. Once completed, we will run the application locally with Axon Server as the event store and messaging platform, and if time permits, we can even look at scaling options.
What should you bring to the workshop?
- A laptop
- An IDE that supports Maven, Java and Kotlin
- Basic knowledge of Java
The event is free of charge.
There will be food and drinks.
Event-Driven Microservices - Beyond the Fairy Tale
Our applications need to be faster, better, bigger, smarter, and more enjoyable to meet our demanding end-users needs. In recent years, the way we build, run, and operate our software has changed significantly. We use scalable platforms to deploy and manage our applications. Instead of big monolithic deployment applications, we now deploy small, functionally consistent components as microservices. Problem. Solved. Right?
Unfortunately, for most of us, microservices, and especially their event-driven variants, do not deliver on the beautiful, fairy-tale-like promises that surround them.
In this session, Allard will share a different take on microservices. We will see that not much has changed in how we build software, which is why so many "microservices projects" fail nowadays. What lessons can we learn from concepts like DDD, CQRS, and Event Sourcing to help manage the complexity of our systems? He will also show how message-driven communication allows us to focus on finding the boundaries of functionally cohesive components, which we can evolve into microservices should the need arise.