software Inventory Service Shipment Service Checkout Service Payment Service Services and Teams Domain Events Order placed Payment received Goods fetched Goods shipped
• … lives and survives within boundaries • … which provide context for modeling 2003 Inventory Service Shipment Service Checkout Service Payment Service
something that an organization does that contributes in some way towards the overall function performed by the organization” http://bill-poole.blogspot.dk/2008/07/business-capabilities.html Inventory Service Shipment Service Checkout Service Payment Service 2008
that Fits in Your Head“ Inventory Service Shipment Service Checkout Service Payment Service 2015 ff. https://www.infoq.com/presentations/microservices-replaceability-consistency
with the so called orchestration principle Inventory Service Shipment Service Payment Service Order Service „A few smart god services tell anemic CRUD services what to do!” Sam Newman
has to be touched Whenever the logic of the order fulfillment changes, the payment context might need to be touched Order placed Payment Service Product Subscription confirmed Dash Button installed
Command Something has to happen in the future => 1 recipient Event Something has happend in the past => 0..n recipients Order placed Order Service Retrieve payment Payment Service Customer status changed
weeks before we cancel his order Business requirements „ Distributed systems …the world of distributed systems — where systems fail in the most spectacular and intricate ways… Jonas Boner „