A Hierarchical-DBSCAN Method for Extracting Microservices from Monolithic Applications

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Sellami, Khaled, Saied, Mohamed Aymen, Ouni, Ali
Format: Preprint
Publié: 2022
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866916604728573952
author Sellami, Khaled
Saied, Mohamed Aymen
Ouni, Ali
author_facet Sellami, Khaled
Saied, Mohamed Aymen
Ouni, Ali
contents The microservices architectural style offers many advantages such as scalability, reusability and ease of maintainability. As such microservices has become a common architectural choice when developing new applications. Hence, to benefit from these advantages, monolithic applications need to be redesigned in order to migrate to a microservice based architecture. Due to the inherent complexity and high costs related to this process, it is crucial to automate this task. In this paper, we propose a method that can identify potential microservices from a given monolithic application. Our method takes as input the source code of the source application in order to measure the similarities and dependencies between all of the classes in the system using their interactions and the domain terminology employed within the code. These similarity values are then used with a variant of a density-based clustering algorithm to generate a hierarchical structure of the recommended microservices while identifying potential outlier classes. We provide an empirical evaluation of our approach through different experimental settings including a comparison with existing human-designed microservices and a comparison with 5 baselines. The results show that our method succeeds in generating microservices that are overall more cohesive and that have fewer interactions in-between them with up to 0.9 of precision score when compared to human-designed microservices.
format Preprint
id arxiv_https___arxiv_org_abs_2206_07010
institution arXiv
publishDate 2022
record_format arxiv
spellingShingle A Hierarchical-DBSCAN Method for Extracting Microservices from Monolithic Applications
Sellami, Khaled
Saied, Mohamed Aymen
Ouni, Ali
Software Engineering
The microservices architectural style offers many advantages such as scalability, reusability and ease of maintainability. As such microservices has become a common architectural choice when developing new applications. Hence, to benefit from these advantages, monolithic applications need to be redesigned in order to migrate to a microservice based architecture. Due to the inherent complexity and high costs related to this process, it is crucial to automate this task. In this paper, we propose a method that can identify potential microservices from a given monolithic application. Our method takes as input the source code of the source application in order to measure the similarities and dependencies between all of the classes in the system using their interactions and the domain terminology employed within the code. These similarity values are then used with a variant of a density-based clustering algorithm to generate a hierarchical structure of the recommended microservices while identifying potential outlier classes. We provide an empirical evaluation of our approach through different experimental settings including a comparison with existing human-designed microservices and a comparison with 5 baselines. The results show that our method succeeds in generating microservices that are overall more cohesive and that have fewer interactions in-between them with up to 0.9 of precision score when compared to human-designed microservices.
title A Hierarchical-DBSCAN Method for Extracting Microservices from Monolithic Applications
topic Software Engineering
url https://arxiv.org/abs/2206.07010