Applied Domain-Driven Design Blueprints for Jakarta EE

Applied Domain-Driven Design Blueprints for Jakarta EE

Domain-Driven Design (DDD) is an architectural approach that strongly focuses on materializing the business domain in enterprise software through disciplined object-oriented analysis. This session demonstrates first-hand how DDD can be elegantly implemented using Jakarta EE via an open source project named Cargo Tracker.

Cargo Tracker maps DDD concepts like entities, value objects, aggregates and repositories to Jakarta EE code examples in a realistic application. We will also see how DDD concepts like the bounded context are invaluable to designing pragmatic microservices.

Cd94eaef7b2860c41cb0612720137e2b?s=128

Reza Rahman

May 04, 2018
Tweet

Transcript

  1. Applied Domain- Driven Design Blue Prints for Java EE Reza

    Rahman Senior Vice President, Author, Speaker reza_rahman@lycos.com @reza_rahman
  2. The Cargo Tracker Project • J2EE popularized the idea of

    server-side architectures • J2EE Blue Prints (aka “Java Pet Store”) • J2EE Blue Prints had profound impact, but not without it’s problems • Many of the paradigms are alive and well even today • Encumbered by the immaturity of the technology/industry • Domain-Driven Design (DDD) emphasizes a return to the roots of object oriented analysis and design • Java EE’s lightweight programming model fits DDD philosophy well • The Cargo Tracker project completes the circle Blue Prints Reborn
  3. Domain-Driven Design The Building Blocks

  4. Domain-Driven Design The Building Blocks

  5. Domain-Driven Design The Building Blocks

  6. Domain-Driven Design The Building Blocks

  7. Domain-Driven Design The Building Blocks

  8. Domain-Driven Design The Building Blocks

  9. Domain-Driven Design The Building Blocks

  10. Layers Separating the Concerns

  11. Layers Separating the Concerns

  12. Layers Separating the Concerns

  13. Layers Separating the Concerns

  14. Layers Separating the Concerns

  15. Mapping DDD to Java EE

  16. Mapping DDD to Java EE

  17. Mapping DDD to Java EE

  18. Mapping DDD to Java EE

  19. Mapping DDD to Java EE

  20. Mapping DDD to Java EE

  21. Mapping DDD to Java EE

  22. Bounded Context

  23. Java EE/DDD in Action https://m-reza-rahman.github.io/cargo-tracker/

  24. Summary • DDD great architectural blueprint for server-side applications •

    Java EE very natural fit for DDD • Cargo Tracker great place to get started with DDD and Java EE
  25. Resources • Cargo Tracker • https://m-reza-rahman.github.io/cargo-tracker/ • Getting Started with

    Domain-Driven Design • http://refcardz.dzone.com/refcardz/getting-started-domain-driven • Domain-Driven Design Quickly • http://www.infoq.com/minibooks/domain-driven-design-quickly • Java EE Tutorial • https://javaee.github.io/tutorial/ Copyright © 2015 CapTech Ventures, Inc. All rights reserved.
  26. None