Meetup with Cegeka and AxonIQ

Deep-Dive into Event Driven Microservices

May 9, 2023
14:00 - 21:00 CET
Leuven
Free

Deep-Dive into Event Driven Microservices 

We are excited to invite you to join us for two upcoming events. The technical  workshop will provide a hands-on exploration of Event-Driven Systems and Microservices. Whilst, during the Meetup, we will share what  lessons can be learned  from concepts like DDD, CQRS, and Event Sourcing to help manage complex systems. 

There is the opportunity to attend one or both sessions by registering below.

Led by our experts Robin Custers from Cegeka  and 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.

Workshop: Designing Microservices with Axon- Modeling and Coding
Date: May 9, 2023
Time: 14:00 - 17:00 
Location: Cegeka Leuven, Interleuvenlaan 16B, 3001 Leuven, Belgium

Meetup: Event-Driven Microservices - Beyond the Fairy Tale and Decomposing my system into modules, how do I stitch them back together to make it work?
Date: May 9, 2023
Time: 18:00 - 21:00 
Location: Cegeka Leuven, Interleuvenlaan 16B, 3001 Leuven, Belgium
 

---

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. 

 

If I decompose my system into modules, how do I stitch them together to make it work? 

With Robin Custers   

Decomposing your application can provide many benefits. Despite building modular applications for decades, connecting them is still one of the most challenging things to do. 

Why can’t we just use bounded contexts, facades, commands, events, queries, eventual consistency, orchestration, choreography, an overall saga and some shared code to make it work?  

 

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 
- Basic knowledge of Java 

Reserve your spot now!

Allard Buijze

Founder and CTO of AxonIQ. Starting at 6, he developed a great passion for programming and guided large and small organizations in building efficient and scalable applications. Now, he is on a mission to help organizations implement large-scale systems with ease. He created the Axon Framework as an experiment initially, but when organizations started using Axon, AxonIQ was born. 

Allard Buijze

Robin Custers

Robin is a software architect working at Cegeka. Robin has 15+ years of varied experience in software development from developer, team coach to software architect. He is skilled in agile software development, extreme programming, software architecture, domain driven design and designing and implementing enterprise class systems. 

robin-custers