ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
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
Microservices without DDD is risky business!
¡°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
Microservices without DDD is risky business!
Source: ¡°From Capabilities to Services¡­¡±, Ulrich Homann & Jon Tobey 2006@trondhjort
Microservices without DDD is risky business!
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
Microservices without DDD is risky business!
@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
Microservices without DDD is risky business!
@trondhjort Source: https://dddeurope.com

More Related Content

Microservices without DDD is risky business!