Refactoring Java Monoliths into Executable Microservice-Based Applications

  • Francisco Freitas University of Minho / HASLab/INESC TEC
  • André Ferreira University of Minho / Bosch Car Multimedia Portugal S.A.
  • Jácome Cunha University of Minho / HASLab/INESC TEC

Resumo


In the last few years we have been seeing a drastic change in the way software is developed. Large-scale software projects are being assembled by a flexible composition of many (small) components possibly written in different programming languages and deployed anywhere in the cloud – the so-called microservice-based applications. The dramatic growth in popularity of microservice-based applications has pushed several companies to apply major refactorings to their software systems. However, this is a challenging task that may take several months or even years. We propose a methodology to automatically evolve a Java monolithic application into a microservice-based one. Our methodology receives the Java code and a proposition of microservices and refactors the original classes to make each microservice independent. Our methodology creates an API for each method call to classes that are in other services. The database entities are also refactored to be included in the corresponding service. The initial evaluation shows that our tool can successfully refactor 80% of the applications tested.
Publicado
30/09/2021
Como Citar

Selecione um Formato
FREITAS, Francisco; FERREIRA, André; CUNHA, Jácome. Refactoring Java Monoliths into Executable Microservice-Based Applications. In: SIMPÓSIO BRASILEIRO DE LINGUAGENS DE PROGRAMAÇÃO (SBLP), 25. , 2021, Joinville. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2021 . p. 100–107.