Upload
reza-rahman
View
24.227
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Domain-Driven Design (DDD) promises to simplify enterprise application development and is gradually gaining traction as an alternative to traditional four-tier architectures originally popularized by J2EE. As the name implies, DDD is an architectural approach that strongly focuses on materializing the business domain in software. This session demonstrates first-hand how DDD can be implemented using Java EE via a project named Cargo Tracker. Part of the Java EE Blue Prints, Cargo Tracker seamlessly maps concepts like bounded contexts, layered architectures, entities, value objects, aggregates, services, repositories and factories to realistic code examples. The Cargo Tracker project also embraces popular practices adopted by the DDD community such as Object Oriented Analysis, Domain Models, Test Driven Development, Agile Refactoring, Continuous Integration, Object Relational Mapping, Dependency Injection and Cross-Cutting Concerns, incorporating these concepts into a realistic Java EE application.
Citation preview
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public1
Applied Domain-Driven Design Blue Prints for Java EEReza RahmanJava EE/GlassFish [email protected]@reza_rahman
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public2Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public
Agenda The Cargo Tracker Project
Domain-Driven Design (DDD)
DDD and Java EE
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public3
The Cargo Tracker Project
J2EE popularized family of layered 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 (OOAD)
Java EE’s lightweight programming model fits the DDD philosophy extremely well
– The Cargo Tracker project completes the circle
Blue Prints Reborn
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public4
Domain-Driven DesignThe Building Blocks
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public5
Strategic Domain-Driven Design
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public6
LayersSeparating the Concerns
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public7
Mapping DDD to Java EE
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public8
Java EE/DDD in Practice
http://cargotracker.java.net
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public9
Learn More
Cargo Tracker– http://cargotracker.java.net
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
DDD Sample– http://dddsample.sourceforge.net
Java EE 7 Tutorial– http://docs.oracle.com/javaee/7/tutorial/doc/
The Aquarium– http://blogs.oracle.com/theaquarium
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Public10