Journal of Universal Computer Science (Oct 2024)

Microservices Patterns Recommendation based on Information Retrieval

  • Álex dos Santos Moura,
  • Fábio Gomes Rocha,
  • Michel S. Soares

DOI
https://doi.org/10.3897/jucs.108974
Journal volume & issue
Vol. 30, no. 11
pp. 1455 – 1483

Abstract

Read online Read online Read online

Software developers encounter recurring problems during software development, which can be solved using proven solutions known as design patterns. Microservices architecture, a Service-Oriented Architecture (SOA) variant, presents common communication, deployment, and service definition challenges. However, selecting the appropriate design pattern from a vast pool of patterns to solve a problem is difficult for novice and experienced developers. This paper proposes a recommendation tool based on Information Retrieval (IR) to assist developers in choosing the suitable microservices pattern to solve a given problem. The tool leverages textual descriptions given by developers to provide relevant indications of microservices patterns. It has been evaluated using both toy and industrial problems, demonstrating promising results. The results showed that the tool was able to solve 60% of toy design problems, indicating that it can provide valuable and accurate recommendations. Furthermore, tests with industrial problems revealed that over 70% of the recommended patterns helped to address the problems at hand. Interviews with developers who work in the software industry corroborated the recommendation tool’s effectiveness and practicality.

Keywords