Domain-Driven Design Representation of Monolith Candidate Decompositions
摘要
Microservice architectures have gained popularity as one of the preferred architectural approaches to develop large-scale systems. Similarly, strategic Domain-Driven Design (DDD) gained traction as the preferred architectural design approach for the development of microservices. However, DDD and its strategic patterns are open-ended by design, leading to a gap between the concepts of DDD and the design of microservices. This gap is especially evident in migration tools that identify microservices from monoliths, where candidate decompositions into microservices provide little in terms of DDD refactoring and visualization. This paper proposes a solution to this problem by extending the operational pipeline of a multi-strategy microservice identification tool, called Mono2Micro, with a DDD modeling tool that provides a language, called Context Mapper DSL (CML), for formalizing the most relevant DDD concepts. The results are validated with a case study by comparing the candidate decompositions resulting from a real-world monolith application with and without CML translation.