A Domain-specific Language for Service Decomposition

Kapferer, Stefan (2018) A Domain-specific Language for Service Decomposition. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of HS18-MSE-Stefan-Kapferer.pdf]
HS18-MSE-Stefan-Kapferer.pdf - Supplemental Material

Download (6MB) | Preview


Microservices have gained a huge attention in the industry and in the academic field over the last years. Companies are adopting microservice architectures in order to increase agility, maintainability and scalability of their software. At the same time, decomposing an application into appropriately sized services is challenging. With its strategic patterns and especially the Bounded Contexts,
Domain-driven Design (DDD) provides an approach for decomposing a domain into multiple independently deployable services. However, existing modeling tools supporting DDD mainly focus on the tactical patterns. Not many approaches to a formal definition of the strategic patterns exist and there are different interpretations and opinions regarding their applicability.
This project presents a Domain-specific Language (DSL) based on the strategic DDD patterns. The model behind the language and its semantic rules aim to provide one concise interpretation of the patterns and how they can be combined.
The DSL concept offers a tool to model a system in an expressive way, using the DDD language. With the implemented Service Cutter integration we further provide a proof of concept showing how the DSL can be used as input
for structured service decomposition approaches. The presented results and our evaluation of this approach illustrate the capabilities of DDD-based models
towards service decomposition. To convert the DSL-based models into a graphical representation, the developed tool offers an additional transformation to create PlantUML diagrams.
The DSL is meant to provide a foundation for other service decomposition approaches. Future projects may propose architectural refactorings for the DSL based on model transformations. Other approaches based on algorithms and
heuristics similar to Service Cutter could be applied as well. A code generator to create microservice project templates for the modeled Bounded Contexts
might be another promising feature for the future.

Item Type: Thesis (Student Research Project)
Subjects: Topics > Software
Topics > Software > Software Modeling
Technologies > Frameworks and Libraries > Eclipse
Divisions: Master of Science in Engineering (MRU Software and Systems)
Depositing User: Stud. I
Thesis advisor
Zimmermann, Olaf
Date Deposited: 31 Jan 2019 07:55
Last Modified: 06 Feb 2019 17:57
URI: https://eprints.ost.ch/id/eprint/722

Actions (login required)

View Item
View Item