Practical Domain-Driven Design in Enterprise Java

Book Description:

See how Domain-Driven Design (DDD) combines with Jakarta EE MicroProfile or Spring Boot to offer a complete suite for building enterprise-grade applications. In this book you will see how these all come together in one of the most efficient ways to develop complex software, with a particular focus on the DDD process.
Practical Domain-Driven Design in Enterprise Java starts by building out the Cargo Tracker reference application as a monolithic application using the Jakarta EE platform. By doing so, you will map concepts of DDD (bounded contexts, language, and aggregates) to the corresponding available tools (CDI, JAX-RS, and JPA) within the Jakarta EE platform.
Once you have completed the monolithic application, you will walk through the complete conversion of the monolith to a microservices-based architecture, again mapping the concepts of DDD and the corresponding available tools within the MicroProfile platform (config, discovery, and fault tolerance). To finish this section, you will examine the same microservices architecture on the Spring Boot platform.
The final set of chapters looks at what the application would be like if you used the CQRS and event sourcing patterns. Here you’ll use the Axon framework as the base framework.

What You Will Learn

  • Discover the DDD architectural principles and use the DDD design patterns
  • Use the new Eclipse Jakarta EE platform
  • Work with the Spring Boot framework
  • Implement microservices design patterns, including context mapping, logic design, entities, integration, testing, and security
  • Carry out event sourcing
  • Apply CQRS

Who This Book Is For

Junior developers intending to start working on enterprise Java; senior developers transitioning from monolithic- to microservices-based architectures; and architects transitioning to a DDD philosophy of building applications.