Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/102129
Title: Implementation of an Event Sourcing Application
Other Titles: Implementação de uma aplicação de Event Sourcing
Authors: Mendes, João Miguel Rainho
Orientador: Araújo, Filipe João Boavida Mendonça Machado de
Keywords: Complexidade; Event Sourcing; Altice Labs; Complexity; Event Sourcing; Altice Labs
Issue Date: 12-Jul-2022
Serial title, monograph or event: Implementation of an Event Sourcing Application
Place of publication or event: DEI - FCTUC
Abstract: 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.
Description: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
URI: https://hdl.handle.net/10316/102129
Rights: openAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
File Description SizeFormat
RelatorioFinal.pdf1.8 MBAdobe PDFView/Open
Show full item record

Page view(s)

129
checked on Apr 23, 2024

Download(s)

175
checked on Apr 23, 2024

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons