Domain-Driven Design Representation of Monolith Candidate Decompositions Based on Entity Accesses
Microservice architectures have gained popularity as one of the preferred architectural approaches to develop large-scale systems, replacing the monolith architecture approach. Similarly, strategic Domain-Driven Design (DDD) gained traction as the preferred architectural design approach for the deve...
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Microservice architectures have gained popularity as one of the preferred
architectural approaches to develop large-scale systems, replacing the monolith
architecture approach. 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 extension maps the content of
the candidate decompositions, which include clusters, entities, and
functionalities, to CML constructs that represent DDD concepts such as Bounded
Context, Aggregate, Entity, and Service, among others. 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. |
---|---|
DOI: | 10.48550/arxiv.2407.02512 |