Repository logo
 
No Thumbnail Available
Publication

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

Use this identifier to reference this record.
Name:Description:Size:Format: 
Tese_5275.pdf7.41 MBAdobe PDF Download

Abstract(s)

In 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.
No 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.

Description

Keywords

Web services Notification system Data aggregation

Citation

Research Projects

Organizational Units

Journal Issue

Publisher

CC License