Desafios na arquitetura de microfrontends: um estudo de caso com module dederation e uma proposta de validação automatizada de dependências compartilhadas
| dc.contributor.advisor1 | Lucrédio, Daniel | |
| dc.contributor.advisor1Lattes | http://lattes.cnpq.br/9090396559596221 | |
| dc.contributor.author | Escher, Guilherme Salvador | |
| dc.date.accessioned | 2026-09-01T14:06:14Z | |
| dc.date.issued | 2026-07-16 | |
| dc.description.abstract | The microfrontend architecture proposes to bring to the user interface layer the same decomposition logic that microservices brought to the server: splitting a web application into small modules, maintained by separate teams and integrated at runtime. The idea is appealing because it lets each team evolve its part without depending on the schedule of the others. In practice, however, this autonomy hides a class of problems that recent literature has been characterizing, in particular module integration, shared dependency management, inter-module communication and visual consistency. This work investigates these problems empirically. The starting point was a real production incident: TaqShell, maintained by Taqtile, started showing a blank screen after user login, a single symptom caused by four concurrent technical problems, each one matching a challenge already cataloged in the literature on microfrontends. Investigating that incident motivated the construction of a controlled sample system (mfe-example), in which each phenomenon was reproduced in isolation through four experiments focused on CSS conflict, Shadow DOM isolation, shared-dependency incompatibility and MINOR version compatibility breaks. As a central contribution, a script for automated validation of shared dependencies between host and remote microfrontends is proposed, integrated into a GitHub Actions workflow with cross-repository checkout. The solution closes a gap left by Module Federation itself, which is by design a sharing tool, not a validation tool. Applied to TaqShell, the script revealed six version divergences that the existing pipeline had not flagged, and in an open pull request it detected, in real time, the exact failure mode characterized as Problem 3 in this work, blocking the merge until the fix was applied. The results show that theoretically predicted errors, such as major version mismatch, dependencies missing from the shared scope and duplication of libraries with global state, pass silently through the build and only manifest in the end user’s browser, often with error messages that do not point to the root cause. | eng |
| dc.description.resumo | A arquitetura de microfrontends propõe levar para a camada de interface a mesma lógica de decomposição que os microsserviços trouxeram para o servidor: dividir uma aplicação web em módulos pequenos, mantidos por times distintos e integrados em tempo de execução. A proposta é atraente porque permite que cada time evolua sua parte sem depender do calendário dos demais. Na prática, porém, essa autonomia esconde uma classe de problemas que a literatura recente vem caracterizando, em particular a integração entre módulos, a gestão de dependências compartilhadas, a comunicação entre partes e a consistência visual. Este trabalho investiga esses problemas de forma empírica. O ponto de partida foi um incidente real em produção: o sistema TaqShell, mantido pela Taqtile, passou a exibir tela em branco após o login dos usuários, sintoma único, mas causado por quatro problemas técnicos simultâneos, cada um correspondente a um desafio já catalogado pela literatura sobre microfrontends. A investigação desse incidente motivou a construção de um sistema de exemplo controlado (mfe-example), no qual cada fenômeno foi reproduzido isoladamente em quatro experimentos focados em conflito de CSS, isolamento via Shadow DOM, incompatibilidade de dependências compartilhadas e quebra de compatibilidade em versão MINOR. Como contribuição central, propõe-se um script de validação automatizada de dependências compartilhadas entre o host e os microfrontends remotos, integrado a um workflow de GitHub Actions com checkout cruzado entre repositórios. A solução fecha uma lacuna deixada pelo próprio Module Federation, que é, por design, uma ferramenta de compartilhamento, não de validação. Aplicado ao TaqShell, o script revelou seis divergências de versão que haviam passado pelo pipeline existente sem nenhum alerta, e em uma pull request aberta detectou em tempo real o exato modo de falha do Problema 3 caracterizado neste trabalho, bloqueando o merge até a correção. Os resultados mostram que erros previstos teoricamente, como incompatibilidade de versão maior, dependências fora do escopo compartilhado e duplicação de bibliotecas com estado global, atravessam silenciosamente o build e só se manifestam no navegador do usuário final, frequentemente com mensagens que não apontam para a causa. | por |
| dc.description.sponsorship | Não recebi financiamento | |
| dc.identifier.citation | ESCHER, Guilherme Salvador. Desafios na arquitetura de microfrontends: um estudo de caso com module dederation e uma proposta de validação automatizada de dependências compartilhadas. 2026. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) – Universidade Federal de São Carlos, Campus São Carlos, 2026. Disponível em: https://repositorio.ufscar.br/handle/20.500.14289/24616. | * |
| dc.identifier.uri | https://hdl.handle.net/20.500.14289/24616 | |
| dc.language.iso | por | |
| dc.publisher | Universidade Federal de São Carlos | |
| dc.publisher.address | Campus São Carlos | |
| dc.publisher.center | Centro de Ciências Exatas e de Tecnologia - CCET | |
| dc.publisher.course | Engenharia de Computação - EC | |
| dc.publisher.initials | UFSCar | |
| dc.rights.uri | https://creativecommons.org/licenses/by-nc-sa/4.0/ | |
| dc.subject | Microfrontends | eng |
| dc.subject | Module federation | eng |
| dc.subject | Web components | eng |
| dc.subject | Shadow DOM | eng |
| dc.subject | Gestão de dependências | por |
| dc.subject | Isolamento de CSS | por |
| dc.subject | Engenharia de software | por |
| dc.subject | Arquitetura de software | por |
| dc.subject.cnpq | CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE | |
| dc.subject.ods | 9. Indústria, Inovação e Infraestrutura | |
| dc.title | Desafios na arquitetura de microfrontends: um estudo de caso com module dederation e uma proposta de validação automatizada de dependências compartilhadas | por |
| dc.title.alternative | Challenges in microfrontend architecture: a case study with module federation and a proposal for automated validation of shared dependencies | eng |
| dc.type | TCC |
Arquivos
Pacote Original
1 - 1 de 1
Carregando...
- Nome:
- monografia_Guilherme_Salvador_Escher.pdf
- Tamanho:
- 2.91 MB
- Formato:
- Adobe Portable Document Format