Skip to content

[ONLINE EVENT] Tactical Domain-Driven Design patterns for a distributed systems

Photo of Daniel Marbach
Hosted By
Daniel M. and Urs E.
[ONLINE EVENT] Tactical Domain-Driven Design patterns for a distributed systems

Details

Dear Participants of Tactical Domain-Driven Design patterns,

Considering the current development regarding the Covid-19 topic, we have decided to turn this into an online only event in collaboration with the .NET Zurich User Group. Please register for the event here

https://particular.zoom.us/webinar/register/1215834845612/WN_S-Nk6IPiQ96eOuNd2y8S1Q

Registration is necessary even if you already accepted the event.

Many thanks for your understanding.
Hope are looking forward to see you online!
Daniel and Urs

Our reasoning:
Apart from the ban on large events, some cantons like Chur have already banned events with 50 or more participants. In addition, the Zurich Canton recommends avoiding celebrating events with people in close physical contact in closed rooms (ie, sitting together).
https://gd.zh.ch/internet/gesundheitsdirektion/de/aktuell.newsextern.-internet-de-aktuell-news-medienmitteilungen-2020-coronavirus_45_neue_45_empfehlungen_45_fuer_45_die_45_bevoelkerung_45_und_45_weiter_45_faelle.html
The same applies for Luzern https://gesundheit.lu.ch/themen/Humanmedizin/Infektionskrankheiten/Coronavirus.

We, on the .NET User Group Zentralschweiz, want to support the risk mitigation strategies of the canton and the government and it's the decisions taken by it as well not to add any risk of infection to any of our existing members.

Twitter

@szymonpobiega (https://twitter.com/szymonpobiega)

Tactical Domain-Driven Design patterns for a distributed system

The original tactical patterns of Domain-Driven Design were introduced when line-of-business systems were still predominantly monolithic. That is not the case any more. Systems are not only distributed but also forced to use a wide array of data stores, each specialized in storing different types of data.

In this brave new world a bunch of new patterns have emerged. First off, a Sync-Async boundary divides the system in two parts. In the sync part users interact with the system in a synchronous manner, creating end editing a set of data. Once they are ready they submit the whole data set. The data set is turned into a set of messages that asynchronously flow through the system. The user is notified of the result of their operation asynchronously.

A second new pattern is a Message-Driven State Machine that can fulfil the role of an Aggregate or a Process Manager. Such a state machine is backed by a simple cloud-native data store and provides automatic message de-duplication.

The third and last pattern is a Message Sink. The cloud offers a wide array of specialized data stores with unique properties. The downside of these stores is that, while they do offer support for idempotent writes, they cannot guarantee consistency of outgoing messages. They are the sinks of a message-driven system. No messages escape them.

In this talk you'll learn how to combine these three patterns to build reliable and robust distributed domain-driven systems.

Szymon Pobiega

Szymon works an engineer at Particular Software, the makers of NServiceBus. His main areas of expertise are Domain-Driven Design and asynchronous messaging. He is especially interested in the intersection of these two topics -- in the patterns and tools for ensuring all messages are processed exactly once and in the correct order.

Szymon is a co-author of https://exactly-once.github.io/ , a website dedicated to all things related to messaging.

In his free time Szymon plays with Lego, building models of real-life off-road vehicles.

Photo of .NET Usergroup Zentralschweiz group
.NET Usergroup Zentralschweiz
See more events
bbv Software Services AG
Blumenrain 10 · Luzern