Domain Models in Practice: DDD, CQRS and Event Sourcing 2024 (Berlin)

Domain Models in Practice: DDD, CQRS and Event Sourcing 2024 (Berlin)

Learn how to model and implement software from a business perspective

By Avanscoperta

Date and time

Wed, 12 Jun 2024 09:30 - Fri, 14 Jun 2024 17:30 CEST

Location

Meeet | Mitte

Chausseestraße 86 Hofgebäude 10115 Berlin Germany

Refund Policy

Contact the organiser to request a refund.

About this event

  • 2 days 8 hours

Berlin, 12-13-14 June 2024, from 9.30 am to 5.30 pm each day. Trainer: Marco Heimeshoff.

This workshop is designed to be delivered in presence, and it will take place in Berlin at the Meeet | Mitte.

Abstract

Domain-Driven Design (DDD) is an approach to software design that focuses on the application's domain or problem area. It is a technique for aligning the implementation and team topology with the underlying structure of the domain.

This training course will teach you all the fundamentals of DDD. How to collaborate between stakeholders from the business side and software development side to ensure the software meets the needs of the business.

Creating a shared understanding of the domain through various modelling techniques, from Business Model Canvas at the company strategy level via EventStorming and Context Mapping for exploration & design to domain-specific languages in tactical and architectural patterns.

Learn to build a scalable and decoupled system optimized for correct domain behaviour without sacrificing execution performance. The secret to a successful implementation lies in the proper segregation of models and a focus on language.

Join Marco Heimeshoff for this in-person 3-day workshop as he’ll guide you to build semantic models with a high alignment between business and code.

Target Audience

This workshop is for Architects and Senior Developers with a strong interest in Domain-Driven Design and modern message-driven architectures.

You should know about software product delivery. Experience in software architecture and coding paradigms is welcome but not required.

Program

Software is usually written to solve actual business problems, yet the connection between understanding the domain and designing the code is often poorly understood or dismissed.

We will explore all intersections in the software development process. We will take the entire journey from strategic analysis and domain exploration to system design, architectural blueprints and implementation.

In this course, you will learn how to approach any modelling situation at various flight levels, and you will start building your own toolbelt of heuristics to adapt to any future needs.

Learn about the systemic forces between business strategy, team topologies and software architecture and become an expert in designing and implementing a software system aligned with the domain in a simple, cohesive and decoupled way.

Marco will help you to put your energy where the business value is by letting you partition your team by their expertise and outsource the busy work.

Drawing from Domain-Driven Design concepts, we’ll write code with Command Query Responsibility Segregation and learn how Event Sourcing tells a story in domain terms.

We’ll also learn how to keep your software system design in line with your organisation’s needs, improve readability, and strengthen your communication with key stakeholders.

Agenda

The first one and a half days focus strongly on business strategy, exploratory modelling and strategic design, the last one and a half days dive deep into the implementation of domain models with CQRS and EventSourcing.

The agenda will always dynamically adjust to the level and expectations of the attendees.

Day 1

  • Domain-Driven Design overview: Essential ideas and terminology
  • Understanding your business model and the stakeholder needs
  • Explore various methods for collaborative exploration
  • Why, how and when to apply Domain-Driven Design
  • The forces that shape your solution
  • Introduction to various flavours of EventStorming
  • Sychronising mental models in the problem space
  • Exploring options to improve the solution space
  • Heuristics to generate value from an EventStorming model.

Day 2

  • Optimize strategy using Subdomain Mapping
  • Context Mapping – Align your architecture with your organizational structure
  • Discover heuristics to design and decouple bounded contexts
  • Cynefin – Different Levels of complexity in strategic design
  • Hexagonal Architecture – Ports and Adapters in action
  • Tactical DDD Patterns – Exercises in implementing domain models

Day 3

  • Events – Atomic building blocks of your domain
  • Projections – Poly Structured information into various read models
  • CQRS overview: Essential ideas and terminology
  • Dealing with scalability, performance and eventual consistency
  • Implementing policies with Sagas
  • Strategies for long-lived, evolving and distributed systems
  • Benefits, risks and socio-technical implications of CQRS and Event Sourcing
  • Implementation using Behaviour-Driven Development.

Learning objectives

  • Understand Domain-Driven Design (DDD) and when it applies
  • Learn to model the domain and explore multiple solutions to choose from
  • Align your design with your business needs using CQRS and DDD
  • Build semantic, scalable and decoupled applications with Event Sourcing.

Expect to get your hands dirty - How it works

We will meet in a classroom and use presentations, collaborative modeling on paper rolls and Pair- and Mob-programming. Every lesson will begin with a theoretical connection to the topic and lead to a collaborative exercise followed by reflection. Discussions and questions are encouraged all the time.

Why should you buy a ticket

These patterns will help you to put your energy where the business value is, by letting you partition your team by their expertise and outsource the busy work.

Drawing from Domain-driven design concepts, write code with Command Query Responsibility Segregation and learn how Event Sourcing tells a story in domain terms.

Keep your software system design in line with your organization’s needs, improve readability, and strengthen your communication with key stakeholders.

F.A.Q.

Entry-level

Attendees will benefit from coming prepared with the knowledge about DDD, CQRS and Event Sourcing, but this is not a prerequisite.

Laptop and language

You'll need your laptop to join the workshop, and all code examples will be in C#. No prior experience in C# is required to understand the examples, we will work through the concepts from start to finish.

N.B.

The workshop will be confirmed upon reaching a minimum number of participants. All registered participants will be notified by email no later than 20 days prior to the workshop date.

Last chance! The last date to buy a ticket for this workshop is Monday 13 May 2024. If we don’t reach the desired minimum number by then, the workshop will not be confirmed and it will be postponed… don’t wait until the day before to buy the tickets!

The sooner we reach the minimum numbers, the sooner the workshop gets confirmed.

About the workshop

Language: The workshop will be held in English.

Time: from 9.30 am to 5.30 pm each day (12-13-14 June 2024).

Venue: Meeet | Mitte, Chausseestrasse, 86, 10115, Berlin, Germany.

Laptop: Check out the F.A.Q. section.

Dress code: Informal.

Included in the price: coffee breaks and lunch with the trainer and the other attendees are also included in this ticket... because networking matters.

How to get to Berlin?

You can get to Berlin by flying into Berlin Brandenburg.

Check out the Meeet | Mitte Berlin Venue Info Page and get it sorted! With plenty of handy information on accommodation, travel options, where to find the training venue, and much more!

Questions? Drop us a line: info@avanscoperta.it

Link to the website

https://www.avanscoperta.it/en/training/domain-models-in-practice-workshop-ddd-cqrs-event-sourcing/

Trainer

Marco Heimeshoff

IMPORTANT INFORMATION for private/individual buyers

EU CITIZENS

Are you buying a ticket as a private/individual (not through a company) and your fiscal residence is in the EU? Please select the ticket Private Purchase (EU Citizens).

According to European OSS (One Stop Shop), if you register yourself as an individual/private, and your fiscal residence is in Italy or in other EU countries, you must pay German VAT tax (19%) because the workshop will be held in Germany.

Extra EU CITIZENS

Are you buying a ticket as a private/individual (not through a company) and your fiscal residence is in an Extra-EU Country? Please select the ticket Corporate Purchase.

You don’t have to pay the VAT for this purchase.

Under_Cover_Learner Discount - SAVE 20%

If you're paying the ticket out of your own pocket and you don't have a VAT number, you can get a 20% discount on any tickets and on any ticket tiers!

How? Just enter the Under_Cover_Learner promotional code on Eventbrite in the field "Enter promo code", on the screen where you can select the number of tickets (before you hit the "Checkout button").

This code cannot be used in conjunction with any other offers/discount codes, and it applies to any ticket tier.

We accept the following methods of payment:

PayPal, Credit/Debit card (via PayPal, click on the link: "Don't have a PayPal account?"), Bank transfer (upon request - contact us at info@avanscoperta.it).

T&C, Privacy Policy, cancellations and refunds, Venue info

Find out more at this link.

Organised by

Early bird discount
From 1.199 €