Browsing by Author "Sousa, Pedro Miguel Costa"
Now showing 1 - 1 of 1
Results Per Page
Sort Options
- Conceção de arquitetura de Micro-FrontendPublication . Sousa, Pedro Miguel Costa; Silva, Emanuel Fernando da CunhaRecentemente, o mundo de desenvolvimento de software tem vindo a ser alvo de um crescente aumento de complexidade no que toca às aplicações desenvolvidas. O mercado das aplicações web tem vindo a crescer muito rapidamente tal como as exigências dos utilizadores por uma boa experiência de utilização. Neste contexto, as equipas de desenvolvimento de software começaram a sentir dificuldades em manter e escalar o software que desenvolviam dadas as maiores exigências dos utiliza dores finais. Habitualmente, as organizações arquitetavam as aplicações numa estrutura monolítica, pois numa primeira instância facilitava todos os processos de desenvolvimento e permitia entregar novas funcionalidades de forma rápida. Porém, com o passar do tempo o projeto tornava-se cada vez mais complexo e, por fim, a velocidade e produtividade de desenvolvimento acabava por cair de forma consistente. Deste modo, começaram os movimentos de divisão do software das aplicações em vários módulos. Em primeiro lugar, começou-se por dividir a parte de interface de utilizador, pela parte de computação e manipulação de dados e deu-se a separação de Frontend e Backend. Numa segunda instância, o próprio Backend começou a ser dividido, dando a origem às arquiteturas orientadas aos Microsserviços. Por fim, mais recentemente começou-se a aplicar a mesma lógica à camada do Frontend e assim nasceram as arquiteturas de Micro-Frontends. Estas divisões do software em diferentes módulos dá a oportunidade às equipas de separarem a complexidade de grandes aplicações em menores módulos com uma complexidade mais baixa, a até mesmo separar o desenvolvimento de cada módulo por diferentes equipas criando menor entropia dentro do processo de desenvolvimento da aplicação. Ainda assim, devido ao facto do conceito ser recente, a maioria das aplicações que beneficiariam desta arquitetura já foram desenvolvidas durante vários anos numa arquitetura monolítica e a sua migração integral para uma nova arquitetura não é exequível de uma só vez. Para mitigar este problema, é possível a aplicação de um padrão de software chamado Strangler Pattern que permite a migração gradual de um sistema, módulo a módulo, fazendo com que a migração seja mais gradual e suave, facilitando a resolução de possíveis problemas e possibilitando fazer esta migração em aplicações legacy com maior complexidade. Esta dissertação desenvolve a prova de conceito da migração de uma aplicação Frontend monolítica para uma arquitetura orientada a Micro-Frontends. É feito um estudo sobre as vantagens e desvantagens da migração, padrões comuns a serem usados e o planeamento da divisão do processo por etapas. A prova de conceito é desenvolvida usando a framework single-spa. A validação da solução é feita usando testes de desempenho e aceitação.