A Modeling Framework for Strategic Domain-driven Design
ContextMapper is an open source project providing a Domain-specific Language and Tools for Strategic Domain-driven Design (DDD), Context Mapping, Bounded Context Modeling, and Service Decomposition.
- What is Context Mapper? Learn more about the project's background.
- New to Context Mapper? Get Started.
- Installation Links: Eclipse Plugin, Visual Studio Code Extension, Online IDE
- Example Models
- Latest News and Release Notes
- Learn more about: Context Mapping DSL (CML), Architectural Refactorings, Generators, Rapid OOAD, Service Decomposition, Reverse Engineering, Microservice Generation with JHipster, Event Storming, CQRS
- Frequently Asked Questions (FAQ)
- You want to help us improving Context Mapper? Get Involved.
Context Mapping DSL (CML)
CML is an easy to understand, Xtext-based, DSL for DDD context mapping. The language supports modeling Bounded Contexts and their relationships with tactic and strategic DDD patterns.
Decompose your systems architecture by applying Architectural Refactorings (ARs) iteratively. Split and merge Bounded Contexts and/or Aggregates to improve coupling and cohesion.
Diagram and Contract Generation
Use your CML Context Maps to generate other representations of the architecture, such as graphical Context Maps, PlantUML component and class diagrams, MDSL (micro-)service contracts, or code.
Context Map Discovery Library
Use our Java discovery library to reverse engineer a DDD Context Map from your existing monolith or microservice application (extensible library based on strategy pattern).
Systematic Service Decomposition
With the Service Cutter integration you can calculate new Context Maps that shall improve coupling and cohesion by using graph clustering algorithms and coupling criteria.
Code (Microservice) Generation
Generate any text or code with our generic generator based on Freemarker templates. We offer a template to generate Microservice applications (Spring Boot) using JHipster.