Reengenharia de Arquitetura Monolítica para Arquitetura Micro Frontend - Sousa, Frederico Renato Taipa Coelho de (2021)
Este projeto tem como objetivo a reengenharia, para a BMW AG, de uma aplicação web focada na monitorização de tráfego no âmbito da condução autónoma, adotando uma arquitetura baseada em Micro Frontend. As aplicações web têm vindo a sofrer grandes mudanças a todos os níveis do seu desenvolvimento. Com a evolução da tecnologia e o aumento da complexidade que este tipo de aplicações é capaz de suportar, uma arquitetura capaz de se adaptar a um mercado constantemente em evolução é um ponto crucial para um projeto bem-sucedido. Devido ao aumento significativo da dificuldade de manutenção que a arquitetura monolítica apresenta a longo prazo, muitas das organizações têm optado pela divisão dos seus projetos em partes de tamanho reduzido. Desta segregação do espectro das funcionalidades em projetos mais reduzidos, introduzida inicialmente no backend e mais recentemente ao nível do frontend, surgem novas possibilidades de organização dos projetos que visam uma possível otimização das soluções. O conceito de Micro Frontend assoma desta necessidade de divisão e propõe uma nova arquitetura muito similar aos já pré-existente micro serviços adotados em backend. Promovendo baixo acoplamento, aumento da coesão, redução do espectro de possíveis problemas e tornam mais fácil a manutenção. Arquitetura de Micro Frontends é ainda bastante recente, pelo que a comunidade ainda não está munida de informação suficiente que permita prever o seu impacto em todo o tipo de projetos. Cada projeto deve procurar a solução arquitetural que mais se adapta ao seu negócio e restrições tecnológicas, desta forma obtendo mais benefícios e sofrendo menos prejuízos. Assim, nesta situação em concreto, deve ser encontrada uma solução arquitetural baseada em Micro Frontend que permita dar resposta aos requisitos de negócio, e ao mesmo tempo que seja de fácil manutenção.