challenges and together realise the future. We support our customer with innovative procedures and cutting edge technologies. MISSION 26 years of experience 300+ IT-experts 30 Digitalisations- experts 13 partner 27 parallel development projects BONN BERLIN KÖLN BUKAREST 4 Locations +
into subdomains. ◦ Core Domain The core aspects of a corporation. e.G. in a garage the planning or repairs ◦ Supporting Domain Supports the core domain but with less prioritization. e.g. in an eCom domain the evaluation of orders ◦ Generic Domain can be implemented by bought software product. e.g. accounting, project planning
as “problem space” ◦ The Bounded Context as “solving space” never enfolds the complete domain ◦ Per subdomain a Bounded Context is an ideal fit ◦ Has the data ownership of its enclosing sub domain • A team per bounded context is also ideal
bounded context occurs via domain events ot commands. • Events are passive. ◦ “Something occurs on my side. You can handle it.” • Commands are active. ◦ “I want you to do something!” • Do not mix-up it with synchronous and asynchronous communication! Event: “Customer updated” Command: “Update customer”
and technical encapsulated area which describes a sub domain. • One team owns a bounded context and develops it. • The team has access to domain experts to capture the complete sub domain. • Communications between bounded context occurs via domain events and commands. • Never fixed! Even sub domains and bounded contexts can change over time!
ESBs, EA, 3-Tier architecture, etc. May be useful. • But also “service bulges”, with central “brightness” to surrounding systems. ◦ Old monolith ◦ But also new distributed big balls of mud ◦ Affects new systems and binds them to it. LEGACY SYSTEMS
system (SCS) • 1 SCS → 1 Team 1 SCS → 1 - n µServices • each SCS has its own UI, services and persistence. • each SCS has its own domain model and ubiquitous language UI model Service UI model Service asynchron
ment kafka event bus after five years all domain events and commands on the bus. clear data ownership. The producer is the “truth”. Big Data new consumer can be added fully transparent. big data just consumes everything. Customers Products Searches Orders Fullfillments
market communications human resources ERP SCS Organizational driven sub domains Next step. Introduction of apache kafka as event bus is planned. Domain events and commands must still be defined Maybe to big as single bounded context or scs. A split is possible and absolut normal
or planned system landscapes. ◦ Bounded Context ◦ Ubiquitous Language ◦ Strategic Design Pattern • domain events und commands define a domain based interaction model between systems. ◦ Asynchron ◦ Synchron • with self contained systems exists an architecture approach which fits very good to DDD ◦ A self contained systems implements a bounded context ◦ One team per self contained system
Kohlfurter Str. 41/43 10999 Berlin Köln Kennedy-Ufer 11 50679 Köln Christian Schmidt Senior Software Engineer IT Consultant [email protected] @chris__schmidt darktoast christian-schmidt-9644a91b2 Slides at Speaker Deck THANK YOU