# MONO2REST: Identifying and Exposing Microservices: a Reusable RESTification Approach

arXiv: https://arxiv.org/abs/2503.21522 · HTML: https://mlsanity.com/paper/2503.21522/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 7 of its 40 references that are in the map.
- First posted on arXiv 27 Mar 2025.

## Builds on (most cited first, 7 of 7)

- [Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks](https://mlsanity.com/paper/1908.10084/) (2019)
- [pymoo: Multi-objective Optimization in Python](https://mlsanity.com/paper/2002.04504/) (2020)
- [Augmented SBERT: Data Augmentation Method for Improving Bi-Encoders for Pairwise Sentence Scoring Tasks](https://mlsanity.com/paper/2010.08240/) (2020)
- [Failure Diagnosis in Microservice Systems: A Comprehensive Survey and Analysis](https://mlsanity.com/paper/2407.01710/) (2024)
- [CARGO: AI-Guided Dependency Analysis for Migrating Monolithic Applications to Microservices Architecture](https://mlsanity.com/paper/2207.11784/) (2022)
- [Mono2Micro: A Practical and Effective Tool for Decomposing Monolithic Java Applications to Microservices](https://mlsanity.com/paper/2107.09698/) (2021)
- [Microservice Maturity of Organizations: towards an assessment framework](https://mlsanity.com/paper/2105.14935/) (2021)

## Abstract (arXiv)

The microservices architectural style has become the de facto standard for large-scale cloud applications, offering numerous benefits in scalability, maintainability, and deployment flexibility. Many organizations are pursuing the migration of legacy monolithic systems to a microservices architecture. However, this process is challenging, risky, time-intensive, and prone-to-failure while several organizations lack necessary financial resources, time, or expertise to set up this migration process. So, rather than trying to migrate a legacy system where migration is risky or not feasible, we suggest exposing it as a microservice application without without having to migrate it. In this paper, we present a reusable, automated, two-phase approach that combines evolutionary algorithms with machine learning techniques. In the first phase, we identify microservices at the method level using a multi-objective genetic algorithm that considers both structural and semantic dependencies between methods. In the second phase, we generate REST APIs for each identified microservice using a classification algorithm to assign HTTP methods and endpoints. We evaluated our approach with a case study on the Spring PetClinic application, which has both monolithic and microservices implementations that serve as ground truth for comparison. Results demonstrate that our approach successfully aligns identified microservices with those in the reference microservices implementation, highlighting its effectiveness in service identification and API generation.
