Repository logo
 
Publication

Decoupling web API from clients and adopting notification mechanisms with aggregated data

datacite.subject.fosEngenharia e Tecnologiapt_PT
dc.contributor.advisorSilva, Nuno Alexandre Pinto da
dc.contributor.authorMoreira, Tiago Filipe Brandão
dc.date.accessioned2024-12-16T15:13:05Z
dc.date.embargo2027-12-16
dc.date.issued2024-07-18
dc.description.abstractIn the world of web development, it is common for frontend pages to query multiple backend services to fetch information that can be displayed to the user as a unified view. For systems where the backend services constantly update information, the frontend services often query these backend services to retrieve the most recent data, ensuring that the information displayed to users is up-to-date. Alternatively, web pages can be updated when the user refreshes the page, which can lead to stale information being shown until the refresh occurs. While functional, these methods can be inefficient and result in outdated data being presented to users. Blip, a Portuguese company providing software engineering solutions for sports betting and gaming companies within the Flutter group, currently employs such strategies. One example where the previously described behavior is employed is the Most Popular Bet Builders section of PaddyPower’s website, where data updates occur only upon page refresh. To have all the data required for displaying information regarding these popular bets, the frontend services must fetch data from various services, highlighting the need for a more efficient solution. This project aims to introduce a more efficient approach by designing and developing a system that allows the backend services responsible for managing the most popular bet builder’s data to notify clients when data is updated. This removes the need for clients to periodically query services for the latest data while ensuring that they always receive the most up-to-date information. For business features that require data from more than one service, the notification must include all the relevant data for being displayed to the user. The solution involves the development of two core services: the Notification Service and the Aggregator Service. The Notification Service is responsible for detecting data changes and notifying clients, while the Aggregator Service compiles data from multiple sources to aggregate all the required data in a single response. By successfully implementing and delivering an effective notification system within the specified constraints this project provides a valuable solution for Blip and PaddyPower, establishing a solid foundation for future enhancements.pt_PT
dc.description.abstractNo contexto do desenvolvimento web, é comum que as páginas frontend consultem periodicamente múltiplos serviços backend para obter informações que podem ser apresentadas ao utilizador numa vista única. Em sistemas onde os serviços backend atualizam constantemente os dados, os serviços frontend frequentemente consultam estes serviços para obter os dados mais recentes, garantindo que a informação apresentada aos utilizadores está atualizada. Em alternativa, as páginas web podem ser atualizadas apenas quando o utilizador atualiza a página, o que muitas vezes leva à apresentação de informações desatualizadas. Estes métodos, embora funcionais, podem ser ineficientes e resultar em dados obsoletos a serem apresentados aos utilizadores. A Blip, uma empresa portuguesa que fornece soluções de engenharia de software para empresas de apostas desportivas e jogos dentro do grupo Flutter, atualmente utiliza as estratégias descritas anteriormente. Por exemplo, na secção do site da Paddy Power que permite ao utilizador consultar as apostas mais populares apenas com seleções do mesmo evento, a informação presente na página apenas é atualizada quando o utilizador a atualiza. Este projeto tem como objetivo introduzir uma abordagem mais eficiente que permita aos serviços backend responsáveis pela gestão dos dados das apostas mais populares notificar os clientes quando os dados são atualizados. Esta melhoria elimina a necessidade de os clientes consultarem periodicamente os serviços para obter os dados mais recentes, garantindo que recebam sempre a informação mais atualizada. Para páginas que requerem dados de diversos serviços de backend, a notificação deve incluir todos os dados relevantes para serem apresentados ao utilizador. A solução envolve o desenvolvimento de dois serviços principais: o Serviço de Notificação e o Serviço de Agregação. O Serviço de Notificação é responsável por detetar alterações nos dados e notificar os clientes, enquanto o Serviço de Agregação compila dados de várias fontes para agregar toda a informação necessária numa única resposta. Ao implementar e entregar com sucesso um sistema de notificações eficaz dentro das restrições especificadas, este projeto proporciona um valor significativo para a Blip e a PaddyPower, estabelecendo uma base sólida para futuras melhorias.pt_PT
dc.identifier.tid203734238pt_PT
dc.identifier.urihttp://hdl.handle.net/10400.22/26859
dc.language.isoengpt_PT
dc.subjectWeb servicespt_PT
dc.subjectNotification systempt_PT
dc.subjectData aggregationpt_PT
dc.titleDecoupling web API from clients and adopting notification mechanisms with aggregated datapt_PT
dc.title.alternativeDesacoplamento de clientes e API web com adoção de mecanismos de notificação de dados agregadospt_PT
dc.typemaster thesis
dspace.entity.typePublication
rcaap.rightsembargoedAccesspt_PT
rcaap.typemasterThesispt_PT
thesis.degree.nameMestrado em Engenharia Informáticapt_PT

Files

Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Tese_5275.pdf
Size:
7.41 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: