Uso de AOP na Migração de Aplicações Monolı́ticas para Microservices

(WCGA 2018)

Otávio Medeiros, Américo Sampaio, Augusto Arraes
Resumo
O recente paradigma de Microservices vem transformando a maneira de desenvolver aplicações através de um conjunto de pequenos programas distribuídos que podem ser implantados e escalados de maneira completamente independente e automatizada em ambientes de nuvem. Um desafio que atualmente é bastante comum para várias organizações que estão adotando este paradigma é o de migrar suas aplicações existentes, que podem se encontrar em produção, de uma estrutura monolítica (contendo um único programa grande) para a arquitetura de Microservices. Este artigo propõe uma abordagem baseada na utilização de Programação Orientada a Aspectos (AOP) para migrar os módulos do monolítico usando aspectos de uma maneira gradual e não invasiva. Os aspectos conseguem interceptar as chamada as código do monolítico e redirecionar para chamadas a Microservices sem a necessidade de ter que realizar alterações no código do monolítico e possibilitando a volta de versões anteriores sem necessidade de recompilar o sistema.
Abstract
The recent Microservices paradigm is transforming the way to develop applications as a set of small distributed programs that can be deployed and scaled in a completely independent and automated fashion on cloud environments. One challenge that is actually quite common for various organizations that are adopting this paradigm is to migrate their current applications, that might already be in production, from a monolithic structure (containing one single large program) to a Microservices architecture. This paper proposes an approach based on the utilization of Aspect Oriented Programming (AOP) to migrate the monolithic modules using Aspects in a gradual and non-invasive manner. The aspects intercept the calls to the monolithic modules and redirect them to Microservices without the need to change de monolithic code and enabling the roll back to previous versions without the need to rebuild the system.

2018-05-07

[Baixar PDF] [Bibtex]