Domain Driven Design Flashcards
The Bounded Context
Is the starting point of our solution phase for our DDD implementation of microservices application based on Spring. In the microservices architectural style, each Bounded Context has to be a self-contained independent deployable unit with no direct dependency on any other Bounded Context within our problem space.
The pattern for splitting the application into multiple microservices will be as before, that is, we split the core domain into a set of Business Capabilities/Sub-Domains and solution each of them as a separate Bounded Context.Implementing the Bounded Contexts involves a logical grouping of our DDD artifacts into a single deployable artifact. Each of our Bounded Contexts within the Cargo Tracker application is going to be built out as a Spring Boot Application. The resultant artifact of a Spring Boot Application is a self-contained fat JAR file which contains all the required dependencies (e.g., data access libraries, REST libraries) and configuration. The fat JAR file also contains an embedded web container (in our case Tomcat) as the runtime.
Microservices will need a DataStore to store their state. We choose to adopt the Database per service pattern, that is, each of our microservices will have its own separate DataStore. Just like we have a polyglot choice of technology for our application tier, we have a polyglot choice for the DataStore too.