| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 7.02 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
Os avanços tecnológicos têm gerado novas exigências no mundo global de IT. Atualmente, as empresas estão submersas numa concorrência intensa para oferecer o melhor software aos seus clientes, visando proporcionar-lhes a melhor experiência [1]. Considerando este cenário, surgem várias metodologias, desde a própria arquitetura das aplicações, a base das mesmas, até à utilização de padrões de software mais específicos que promovem as boas práticas de desenvolvimento [2]. Todo este processo de seleção é crucial para o ciclo de vida de uma aplicação e, consequentemente, da própria empresa [3]. A presente dissertação visa modernizar e otimizar a aplicação PaperGenerator, uma plataforma essencial para o processamento automático de documentos numa instituição bancária. A necessidade de modernização foi identificada devido a limitações de desempenho, manutenibilidade, complexidade e escalabilidade da versão anterior do sistema, que se baseava numa arquitetura monolítica rígida. Este trabalho propõe uma reestruturação baseada numa arquitetura híbrida, combinando técnicas de comunicação assíncrona via RabbitMQ e explorando abordagens como o Event Storming para o design de módulos e serviços. O trabalho documenta todo o processo de transformação do sistema, desde a análise do sistema legado, passando pelo design das novas alternativas arquiteturais, até à implementação e avaliação das melhorias. Foi escolhida uma arquitetura híbrida entre a
arquitetura modular monolítica e os microserviços, tendo sido testada a sua eficácia na melhoria da manutenibilidade, desempenho e capacidade de adaptação a novos requisitos. A implementação envolveu a criação de vários serviços independentes responsáveis por funcionalidades específicas, como a receção de mensagens, monitorização, geração e envio de documentos, garantindo a flexibilidade do sistema. Os resultados obtidos demonstram uma melhoria significativa no tempo de processamento, com o novo sistema a processar 2000 documentos em 25 minutos, comparado com as 2 horas na versão anterior. Conclui-se que a solução proposta atende aos requisitos de desempenho e manutenibilidade, apresentando uma estrutura escalável e capaz de suportar futuras evoluções, sendo adequada às necessidades atuais e futuras da instituição bancária.
Technological advances have imposed new demands on the global IT landscape. Companies are now immersed in intense competition to deliver the best software solutions to their clients, aiming to provide the optimal user experience [1]. In this context, various methodologies have emerged, from application architecture, which forms the foundation, to the adoption of more specific software patterns that promote development best practices [2]. This selection process is crucial to the lifecycle of an application and, consequently, to the company itself [3]. This thesys aims to modernize and optimize the PaperGenerator application, a critical platform for automated document processing within a banking institution. The need for modernization was identified due to performance, maintainability, and scalability limitations in the previous version of the system, which was based on a rigid monolithic architecture. This work proposes a restructuring based on an hybrid architecture, combining asynchronous communication techniques via RabbitMQ, and employing approaches such as Event Storming for module and service design. This document include the entire system transformation process, from the analysis of the legacy system, through the design of new architectural alternatives, to the implementation and evaluation of the improvements. The hybrid architecture (between modular monolith and microservices) was chosen and its effectiveness was tested in improving maintainability, performance, and adaptability to new requirements. The implementation involved the creation of several independent modules responsible for specific functionalities, such as message reception, monitoring, document generation, and delivery, ensuring system flexibility. The results demonstrate a significant improvement in processing time, with the new system processing 2000 documents in 25 minutes, compared to 2 hours in the previous version. It is concluded that the proposed solution meets the performance and maintainability requirements, presenting a scalable structure capable of supporting future developments and being well-suited to the current and future needs of the banking institution.
Technological advances have imposed new demands on the global IT landscape. Companies are now immersed in intense competition to deliver the best software solutions to their clients, aiming to provide the optimal user experience [1]. In this context, various methodologies have emerged, from application architecture, which forms the foundation, to the adoption of more specific software patterns that promote development best practices [2]. This selection process is crucial to the lifecycle of an application and, consequently, to the company itself [3]. This thesys aims to modernize and optimize the PaperGenerator application, a critical platform for automated document processing within a banking institution. The need for modernization was identified due to performance, maintainability, and scalability limitations in the previous version of the system, which was based on a rigid monolithic architecture. This work proposes a restructuring based on an hybrid architecture, combining asynchronous communication techniques via RabbitMQ, and employing approaches such as Event Storming for module and service design. This document include the entire system transformation process, from the analysis of the legacy system, through the design of new architectural alternatives, to the implementation and evaluation of the improvements. The hybrid architecture (between modular monolith and microservices) was chosen and its effectiveness was tested in improving maintainability, performance, and adaptability to new requirements. The implementation involved the creation of several independent modules responsible for specific functionalities, such as message reception, monitoring, document generation, and delivery, ensuring system flexibility. The results demonstrate a significant improvement in processing time, with the new system processing 2000 documents in 25 minutes, compared to 2 hours in the previous version. It is concluded that the proposed solution meets the performance and maintainability requirements, presenting a scalable structure capable of supporting future developments and being well-suited to the current and future needs of the banking institution.
Description
Keywords
Modernização Processamento automático Manutenibilidade Desempenho Escalabilidade Arquitetura
