eDocuments as Microservices

A plataforma eDocuments é uma aplicação web de faturação eletrónica e EDI assente numa arquitetura monolítica. Recentemente, esta aplicação tem apresentado um aumento de clientes e dados a processar e, consequentemente, têm surgido problemas de desempenho, escalabilidade e de manutenibilidade que se...

Full description

Bibliographic Details
Main Author: Cardoso, Hélio José Almeida (author)
Format: masterThesis
Language:por
Published: 2021
Subjects:
Online Access:http://hdl.handle.net/10400.22/16810
Country:Portugal
Oai:oai:recipp.ipp.pt:10400.22/16810
Description
Summary:A plataforma eDocuments é uma aplicação web de faturação eletrónica e EDI assente numa arquitetura monolítica. Recentemente, esta aplicação tem apresentado um aumento de clientes e dados a processar e, consequentemente, têm surgido problemas de desempenho, escalabilidade e de manutenibilidade que se revelam difíceis de resolver com a arquitetura atual. Adicionalmente, o processo de desenvolvimento de software apresentada limitações que dificultam a manutenção e evolução da aplicação. Assim sendo, a principal finalidade do projeto proposto consiste na reestruturação da arquitetura da aplicação existente de forma a colmatar os problemas resultantes da arquitetura existente. Desta forma, pretende-se mostrar que, com a reestruturação do sistema para uma arquitetura baseada em microsserviços, se poderá usufruir de um sistema escalável, com melhor desempenho e com melhores níveis de manutenibilidade. Simultaneamente, também se pretende mostrar a melhoria da qualidade do processo de desenvolvimento de software com o desenvolvimento e implementação de uma estratégia de Continuous Delivery e Continuous Integration. Deste modo, foi desenvolvida uma aplicação com uma arquitetura baseada em microsserviços (para dar resposta aos problemas de escalabilidade, desempenho e manutenibilidade) e implementado um pipeline de Continuous Delivery e Continuous Integration de forma a simplificar e automatizar o processo de entrega de modificações efetuadas ao código fonte face à automação de tarefas que atualmente são manuais.