Dissertação

From a monolithic to a microservices architecture EVALUATED

As arquiteturas de microserviços estão a ser cada vez mais utilizadas por todo o tipo de empresas de software, sendo que a sua adoção proporciona uma decomposição funcional e capacidades de escalabilidade particulares aos seus diferentes serviços. Esta dissertação vai investigar o âmbito do processo de migração incremental de uma arquitetura monolítica para uma de microserviços, apresentando e juntando todos os princípios necessários, tal como design orientado a domínio, análise estática de código e clustering de grafos. O método por nós proposto requer a extração de informação das relações entre controladores e classes de uma aplicação de software, gerando uma representação em grafos destas relações. De seguida aplicamos clustering hierárquico com uma medida de similaridade personalizada baseada nos acessos dos controladores. Isto permite-nos lançar uma hipótese em relação à separação de contextos do processo de migração entre arquiteturas. Os resultados do nosso método são de seguida integrados com uma interface gráfica com capacidades visualização dos grupos de contextos gerados. A sua visualização e manipulação expõem uma ferramenta que permite suportar este processo de migração arquitetural. Comparando com ferramentas já existentes, a nossa abordagem obteve valores de precisão mais elevados, refletindo-se nos serviços originados. A abordagem proposta assume que os contextos transacionais de uma aplicação de software podem dar origem a informação sobre a sua modularização, mostrando a sua utilidade em informar os programadores num processo de migração arquitetural.
Monolítico, Microserviços, Design orientado a domínio, Análise Estática, Clustering Hierárquico, Reengenharia de modularidade

setembro 27, 2018, 9:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

António Manuel Ferreira Rito da Silva

Departamento de Engenharia Informática (DEI)

Professor Associado