Making IT your winning asset
Trond Hjorteland
Partner at scienta.no
@trondhjort
Microservices without DDD is
risky business!
@trondhjort
Imposter syndrome
Source: David Whittaker @rundavidrun
What I think others know
What I
know
What I
know
What others know
@trondhjort
@trondhjort
“This _____ discusses modularisation as a
mechanism for improving the flexibility and
comprehensibility of a system while allowing the
shortening of its development time.”
@trondhjort
-David Parnas, 1972
paper
Source: D.L. Parnas, Communications of the ACM, 1972
Source: “From Capabilities to Services…”, Ulrich Homann & Jon Tobey 2006@trondhjort
Customer
Account
Subscription
@trondhjort
Source: http://bill-poole.blogspot.com, 2008@trondhjort
@trondhjort
Service-orientation
Boundaries are explicit
Services are autonomous
Services share schema and contract, not class
Service compatibility is based on policy
s
@trondhjort
@trondhjort
"DDD, for me, is a mindset, a journey, a way of
‘learning’ more about a business domain and its
problem, not a destination or an artefact in
some code base.”
@trondhjort
Collaboration of software and domain experts
Focus on the core domain
Ubiquitous language in a bounded context
The essence of DDD
@trondhjort Source: Domain-Driven Design Reference
Strategic patterns
Source: Domain-Driven Design Reference@trondhjort
Source: Patterns, Principles and Practices of Domain-Driven Design@trondhjort
Source: Ulrich Kalex, The Open Group@trondhjort
Subdomains
Customer
Account
Subscription
Billing Customer Care
Subscription
Management
Billing
Account
Customer
Subscription
Portfolio
Owner Payer
Sales Invoice
Install base
Products
@trondhjort
“All models are wrong
but some are useful”
-George Box
Source: Robustness in Statistics, 1978@trondhjort
Source: Implementing Domain-Driven Design@trondhjort
@trondhjort
Tactical patterns
Source: Domain-Driven Design Reference@trondhjort
Aggregate Subscription
Portfolio
Owner
Portfolio
Subscription
A
customerId
Subscription
B
Subscription
C
Subscription
B
?@trondhjort
Subdomain ⊇ Service (BC) ⊇ Aggregate
Subscription
Portfolio
Owner
Portfolio
management
⊇
Taxonomy
Portfolio
Subscription A Subscription B Subscription C
⊇
@trondhjort
Delivery approaches
Top-down
Bottom-up
Architecture principles
Inverse Conway Manoeuvre
@trondhjort
Source:(http://geek/and/poke.com/(
Source: http://geek-and-poke.com/@trondhjort
@trondhjort
@trondhjort Source: https://dddeurope.com

Microservices without DDD is risky business!