Implementation of an Event Sourcing Application

Detalhes bibliográficos
Autor(a) principal: Mendes, João Miguel Rainho
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Texto Completo: https://hdl.handle.net/10316/102129
Resumo: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
id RCAP_6f7a302325856c577a978e7e7c5aaa57
oai_identifier_str oai:estudogeral.uc.pt:10316/102129
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Implementation of an Event Sourcing ApplicationImplementação de uma aplicação de Event SourcingComplexidadeEvent SourcingAltice LabsComplexityEvent SourcingAltice LabsDissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e TecnologiaWith 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.Outro - Este trabalho foi financiado pelo projeto Power (número POCI-01-0247-FEDER-070365), pelo European Regional Development Fund (FEDER) através do Portugal 2020 (PT2020) e pelo Competitiveness and Internationalization Operational Programme (COMPETE 2020).2022-07-12info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttps://hdl.handle.net/10316/102129https://hdl.handle.net/10316/102129TID:203062370engMendes, João Miguel Rainhoinfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2022-09-27T20:41:07Zoai:estudogeral.uc.pt:10316/102129Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T05:51:47.778813Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Implementation of an Event Sourcing Application
Implementação de uma aplicação de Event Sourcing
title Implementation of an Event Sourcing Application
spellingShingle Implementation of an Event Sourcing Application
Mendes, João Miguel Rainho
Complexidade
Event Sourcing
Altice Labs
Complexity
Event Sourcing
Altice Labs
title_short Implementation of an Event Sourcing Application
title_full Implementation of an Event Sourcing Application
title_fullStr Implementation of an Event Sourcing Application
title_full_unstemmed Implementation of an Event Sourcing Application
title_sort Implementation of an Event Sourcing Application
author Mendes, João Miguel Rainho
author_facet Mendes, João Miguel Rainho
author_role author
dc.contributor.author.fl_str_mv Mendes, João Miguel Rainho
dc.subject.por.fl_str_mv Complexidade
Event Sourcing
Altice Labs
Complexity
Event Sourcing
Altice Labs
topic Complexidade
Event Sourcing
Altice Labs
Complexity
Event Sourcing
Altice Labs
description Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
publishDate 2022
dc.date.none.fl_str_mv 2022-07-12
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/10316/102129
https://hdl.handle.net/10316/102129
TID:203062370
url https://hdl.handle.net/10316/102129
identifier_str_mv TID:203062370
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833602496969310208