Utilize este identificador para referenciar este registo: https://hdl.handle.net/10316/102129
Título: Implementation of an Event Sourcing Application
Outros títulos: Implementação de uma aplicação de Event Sourcing
Autor: Mendes, João Miguel Rainho
Orientador: Araújo, Filipe João Boavida Mendonça Machado de
Palavras-chave: Complexidade; Event Sourcing; Altice Labs; Complexity; Event Sourcing; Altice Labs
Data: 12-Jul-2022
Título da revista, periódico, livro ou evento: Implementation of an Event Sourcing Application
Local de edição ou do evento: DEI - FCTUC
Resumo: With the advancements in technologies the complexity and size of systems have been increasing. Consequently, there is a need for bigger systems (for example banks) to keep a track of the history of requests. This happens because an administrator cannot easily check the requests processed by the system in real time. One way to create the history of requests is by using Event Sourcing. Using this method each request is saved in the log as an atomic event that can also be used for various operations (for example event reprocessment or an auditing). But since this method is fairly new there is a lack of expertise.This internship proposes the implementation of Event Sourcing. To do this a collaboration between the Department of Informatics Engineering (DEI) and Altice Labs was formed. The objective of this internship is to implement Event Sourcing in a system prototype given by Altice Labs, while simultaneously creating a library of Event Sourcing to help future implementations. To implement this concept research was made on the state of the art, requirements were defined, and an architecture of the system was made. Finally, the implementation of Event Sourcing was performed along with the testing of the system.With the conclusion of this internship, Event Sourcing was implemented in the system. With this a high level of understanding of Event Sourcing was obtained. Furthermore, various scripts to create snapshots of events were created. Finally, a library was conceived. This library will allow an easier implementation of Event Sourcing in the future as it has the bases for some of the more complex operations found in Event Sourcing.
Com o avanço da tecnologia, a complexidade e tamanho dos sistemas tem vindo a aumentar. Consequentemente, existe uma necessidade pela parte de maiores sistemas (por exemplo bancos) de manter um histórico de pedidos. Isto acontece pois um administrador não consegue facilmente ver os pedidos processados pelo sistema em tempo real. Uma maneira de criar o histórico de pedidos é usando Event Sourcing. Ao usar este método cade pedido é guardado numa base de dados como um evento atómico que pode também ser usado para várias operações (por exemplo o reprocessamento de eventos ou fazer uma auditoria). No entanto como este método é bastante novo, existe uma falta de experiência.Este estágio propõe a implementação do Event Sourcing. Para fazê-lo, iniciouse uma colaboração entre o Departamento de Engenharia Informática e a Altice Labs. O objetivo deste estágio curricular é implementar o Event Sourcing num protótipo de sistema dado pela Altice Labs, e simultaneamente criar uma libraria de Event Sourcing para ajudar implementações futuras. Para implementar este conceito foi feita uma pesquisa sobre o estado da arte, foram definidos requisitos,e foi feita uma arquitetura do sistema. Finalmente, a implementação do Event Sourcing foi realizada juntamente com o teste do sistema.Com a conclusão deste estágio, Event Sourcing foi implementado no sistema. Através disto um grande nível de conhecimento sobre Event Sourcing foi adquirido. Além disso, várias scripts para criar snapshots de eventos foram criadas. Finalmente, uma libraria foi concebida. Esta libraria vai facilitar a implementação de Event Sourcing no future devido a ter as bases para as operações mais complexas de Event Sourcing.
Descrição: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
URI: https://hdl.handle.net/10316/102129
Direitos: openAccess
Aparece nas coleções:UC - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato
RelatorioFinal.pdf1.8 MBAdobe PDFVer/Abrir
Mostrar registo em formato completo

Visualizações de página

135
Visto em 14/mai/2024

Downloads

180
Visto em 14/mai/2024

Google ScholarTM

Verificar


Este registo está protegido por Licença Creative Commons Creative Commons