JS-Distributor: decomposing monolith applications into microservices

  • Guilherme Salvador Escher UFSCar
  • Maurício Gallera de Almeida UFSCar
  • João Vitor Fidelis Cardozo UFSCar
  • Romeu Leite UFSCar
  • Ivan Capeli Navas UFSCar
  • Vinicius Nordi Esperança UFSCar
  • Daniel Lucrédio UFSCar

Abstract


While the decomposition of monolithic applications into microservices has been widely studied, most existing approaches stop at architectural analysis or service identification, offering little support for the actual generation and deployment of microservices. This creates a gap between design and implementation, often requiring significant manual effort from developers. It also limits researchers, who lack practical tools to test and experiment with new decomposition strategies in real-world scenarios. To address these challenges, we present JS-Distributor, a tool that automates the transformation of monolithic JavaScript applications into microservices. JS-Distributor generates much of the required boilerplate code for Node.js, including server setup and inter-service communication code, supporting both HTTP APIs and asynchronous messaging systems. By bridging the gap between decomposition and deployment, the tool enables rapid experimentation with different microservice architectures. We evaluated JS-Distributor using a benchmark system commonly adopted in microservice research, successfully distributing the original monolith into functional microservices while preserving its original logic. Demo video: https://doi.org/10.5281/zenodo.15477214

Keywords: Code generation, distributed applications, web development, web services, HTTP API, messaging systems

References

Muhammad Abdullah,Waheed Iqbal, and Abdelkarim Erradi. 2019. Unsupervised learning approach for web application auto-decomposition into microservices. Journal of Systems and Software 151 (2019), 243–257. DOI: 10.1016/j.jss.2019.02.031

Yalemisew Abgaz, Andrew McCarren, Peter Elger, David Solan, Neil Lapuz, Marin Bivol, Glenn Jackson, Murat Yilmaz, Jim Buckley, and Paul Clarke. 2023. Decomposition of Monolith Applications Into Microservices Architectures: A Systematic Review. IEEE Transactions on Software Engineering 49, 8 (2023), 4213–4242. DOI: 10.1109/TSE.2023.3287297

Marco Autili, Gianluca Filippone, and Massimo Tivoli. 2023. Migrating from Monoliths to Microservices: Enforcing Correct Coordination. In 2023 38th IEEE/ACM International Conference on Automated Software EngineeringWorkshops (ASEW). 113–118. DOI: 10.1109/ASEW60602.2023.00020

Eric Brewer. 2012. CAP twelve years later: How the "rules" have changed. Computer 45, 2 (2012), 23–29. DOI: 10.1109/MC.2012.37

Leonardo Rebouças de Carvalho and Aletéia Patrícia Favacho de Araújo. 2019. Framework Node2FaaS: Automatic NodeJS Application Converter for Function as a Service. In Proceedings of the 9th International Conference on Cloud Computing and Services Science (Heraklion, Crete, Greece) (CLOSER 2019). SCITEPRESS - Science and Technology Publications, Lda, Setubal, PRT, 271–278. DOI: 10.5220/0007677902710278

Vinicius Nordi Esperança and Daniel Lucrédio. 2017. Late Decomposition of Applications into Services through Model-Driven Engineering. In Proceedings of the XXXI Brazilian Symposium on Software Engineering (Fortaleza, CE, Brazil) (SBES ’17). Association for Computing Machinery, New York, NY, USA, 164–173. DOI: 10.1145/3131151.3131165

Hassan Farsi, Driss Allaki, Abdeslam En-nouaary, and Mohamed Dahchour. 2023. Dealing with Anti-Patterns When Migrating from Monoliths to Microservices: Challenges and Research Directions. In 2023 IEEE 6th International Conference on Cloud Computing and Artificial Intelligence: Technologies and Applications (CloudTech). 1–8. DOI: 10.1109/CloudTech58737.2023.10366131

Anup K. Kalia, Jin Xiao, Chen Lin, Saurabh Sinha, John Rofrano, Maja Vukovic, and Debasish Banerjee. 2020. Mono2Micro: an AI-based toolchain for evolving monolithic enterprise applications to a microservice architecture. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (Virtual Event, USA) (ESEC/FSE 2020). Association for Computing Machinery, New York, NY, USA, 1606–1610. DOI: 10.1145/3368089.3417933

Alex Kaplunovich. 2019. ToLambda: automatic path to serverless architectures. In Proceedings of the 3rd InternationalWorkshop on Refactoring (Montreal, Quebec, Canada) (IWOR ’19). IEEE Press, 1–8. DOI: 10.1109/IWoR.2019.00008

Idris Oumoussa and Rajaa Saidi. 2024. Evolution of Microservices Identification in Monolith Decomposition: A Systematic Review. IEEE Access 12 (2024), 23389–23405. DOI: 10.1109/ACCESS.2024.3365079

Sunil Kumar A R. 2023. REST vs. Messaging for Microservices. Informatics - An eGovernance Publication from national Informatics Centre (2023). [link]

Yamina Romani, Okba Tibermacine, and Chouki Tibermacine. 2022. Towards Migrating Legacy Software Systems to Microservice-based Architectures: a Data-Centric Process for Microservice Identification. In 2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C). 15–19. DOI: 10.1109/ICSA-C54293.2022.00010
Published
2025-09-22
ESCHER, Guilherme Salvador; ALMEIDA, Maurício Gallera de; CARDOZO, João Vitor Fidelis; LEITE, Romeu; NAVAS, Ivan Capeli; ESPERANÇA, Vinicius Nordi; LUCRÉDIO, Daniel. JS-Distributor: decomposing monolith applications into microservices. In: BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES), 39. , 2025, Recife/PE. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 879-885. ISSN 2833-0633. DOI: https://doi.org/10.5753/sbes.2025.11016.