Domain-Driven Design for Microservices Architecture Systems Development: A Systematic Mapping Study

Josué Sangabriel-Alarcón, Jorge Octavio Ocharán-Hernández, Karen Cortés-Verdín, Xavier Limón · 2023

Domain-Driven Design (DDD) is an approach that proposes to align business and technical concerns through analysis of the business domain. Microservices practitioners have adopted this approach in software development. However, there is no certainty of the patterns, techniques, and artifacts used. This study analyzes and reports the state of the literature on DDD usage for microservices-based systems development. This study is intended for practitioners and researchers on Microservice Architecture (MSA), DDD, or both. A systematic mapping study followed seven research questions as a guideline, resulting in 27 studies identified to answer the questions through data analysis and synthesis. As a summary of the findings: (i) The microservice identification through domain or legacy system decomposition is the main objective for which DDD was used. (ii) There were 31 MSA systems and 11 design artifacts related to DDD. (iii) Bounded context was the pattern most used for microservices design, followed by Entity and Aggregate. (iv) There were three technologies related to DDD applied in MSA systems design. (v) A total of six techniques used together with DDD were identified. (vi) Six limitations were reported in development descriptions. (vii) Sixteen proposals for MSA systems development with DDD were identified and grouped into five types. As a conclusion of this work, DDD allowed the authors to get a design solution driven by domain knowledge that was detailed using other artifacts, techniques, and proposals.

Read the paper · More papers on PaperTik