Name: | Description: | Size: | Format: | |
---|---|---|---|---|
7.41 MB | Adobe PDF |
Authors
Advisor(s)
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.
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