DTB-8240 Applying (D)DDD and CQ(R)S to Cloud Architectures with Java, Spring Boot, Kafka and Docker | Devoxx

Applying (D)DDD and CQ(R)S to Cloud Architectures with Java, Spring Boot, Kafka and Docker


archisec Architecture, Performance and Security beginner/novice


Wednesday 13:30 - 16:30

Many software architectures may benefit from the introduction of (Distributed) Domain-Driven Design and Command Query (Responsibility) Separation. No matter if you are maintaining large legacy software systems whether you start a new microservices platform as greenfield approach one always has to think about the domain language and service design. In this session I want to show you at a given example application how to get started with introducing domain models, bounded contexts and implementing CQRS where it makes most sense while trying to avoid the technical debt trap e.g. misconceptions and fallacies.

The session consists of several parts which outline the theory behind the building blocks in conjunction with according real world implementation examples. The provided code is based on modern technology standards: Java, Kotlin, Spring (Boot, REST, JPA, Messaging), RabbitMQ, Kafka, MySQL, Elasticsearch, Docker, Kubernetes.

At the end you will be able to apply many DDD principles on your own and have learned how to tailor systems according to their domain – effectively and efficiently.

 domain model    application architecture    CQRS    Event-Driven Microservices    Event Sourcing  
Room Maillot
Benjamin Nothdurft Benjamin Nothdurft

Benjamin has a long-term and hands-on experience with introducing, building, running, coaching and speaking about Java, Microservices (including DDD and SCS – self-contained systems), Docker/Containerization and disruptive technologies. At day he works as Tech Lead for Cloud Technologies at codecentric. At night he hacks on innovative trends like FaaS, Service Meshes, Voice UIs and IoT. At evenings/weekends he organizes workshops, talks, hackathons and code retreats at the Software Crafters Community Jena (Softwerkskammer Jena), the Java User Group Thüringen and Devoxx4Kids Thüringen. He serves as a board member at the Java Aktuell Magazine, at microXchg and JavaLand conference – leading the Architecture and Methodology & Culture streams.

Michael Follmann Michael Follmann

Michael is a passionate agile software developer and started as a Java backend developer. Over the years of his practical work experience, he became a versatile JVM programmer and proficient in creating single-page applications. Nowadays he builds large-scale web applications applying reactive microservice architectures in cloud infrastructures.

Dominik Guhr Dominik Guhr

Dominik works in the Software Industry for almost 10 years and has worked in many different environments, from startups to big enterprises. Nowadays, he works as a Senior Developer / Consultant at codecentric AG (with a small c!) in Germany. There he helps his customers to get rid of legacy applications and creating "good" software, mostly using Java, but loving C#, Javascript, or any other language which is the right tool for the job, too. Additionally, he likes to organize and attend meetups, is active in his local software crafting community and loves the ideas of DDD to successfully create great products.