Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The revival of Domain-Driven Design in the context of microservices

The revival of Domain-Driven Design in the context of microservices

Slides of the talk I gave at JPMC Tech Symposium, Glasgow. http://pivotal.io/event/jpmc-glasgow-tech-symposium

@springcentral

Oliver Drotbohm

March 11, 2016
Tweet

More Decks by Oliver Drotbohm

Other Decks in Programming

Transcript

  1. © 2014 SpringOne 2GX. All rights reserved. Do not distribute

    without permission. DOMAIN-DRIVEN DESIGN / OLIVERGIERKE ƻ [email protected] THE REVIVAL OF IN THE CONTEXT OF MICROSERVICES
  2. 2

  3. 5

  4. 5

  5. Still, they’re worth it. 9 See „Power Use of Value

    Objects in DDD“ by Dan Bergh Johnsson.
  6. 11 @Value public class Customer { UUID id = UUID.randomUUID();

    String firstname, lastname; EmailAddress email; @Value static class EmailAddress { String value; } }
  7. 21 Shipping Accounting Catalog Orders User
 Registration Accounting Payment information

    Billing Address Shipping Shipping address Customer Product
  8. 25 Shipping Accounting Catalog Orders User
 Registration Accounting Payment information

    Billing Address Shipping Shipping address Customer Product
  9. Simon Brown — Blog post "If you can't build a

    monolith, what makes
 you think microservices
 are the answer?
  10. "I’m firmly convinced that starting with a monolith is usually

    exactly the wrong thing to do. Stefan Tilkov — Blog post
  11. Don’t start with a Monolith. Don’t over-divide, either. If in

    doubt, keep stuff together
 and split up later. 31
  12. RxJava, Hystrix, Zipkin
 et al. to the rescue!
 — aka

    —
 Solving the problem
 at runtime. 34
  13. "If you have to call other services in order to

    be able to serve a response to a request from a public client, this is really an architectural problem. Daniel Westheide — Blog post