Progettazione e sviluppo di un sistema distribuito di notifiche basato su database realtime
| |
|
@courseproject{pushnotificationsonrethinkdb-sd2122,
abstract = {L’obiettivo di questo studio prevede la realizzazione di un sistema che permetta di emettere e distribuire notifiche legate ad eventi. Questa funzionalita` sar\`{a} fruita da servizi software al fine di fornire informazioni costantemente aggiornate agli utenti delle applicazioni web e per monitorare lo stato di avanzamento di task/procedure. La parte iniziale del lavoro \`{e} stata dedicata all’analisi del contesto in cui si colloca questo problema: \`{e} stato definito il concetto di Database real-time e di seguito sono stati analizzati i sistemi e le tecnologie disponibili in commercio in grado di offrire il servizio di distribuzione delle notifiche ai servizi client implementando il famoso pattern di messaggistica Publish/Subscribe. Per il design del sistema \`{e} stato, quindi, necessario acquisire una solida conoscenza dei sistemi distribuiti, dei problemi di concorrenza sui dati condivisi e dell’interfacciamento con database real-time. Il progetto ha previsto due attivit\`{a} principali: la progettazione e implementazione di una libreria lato client e l’automazione dell’avvio del server tramite Docker. In seguito all’analisi del software scelto per il server di sistema (RethinkDB) si \`{e} proceduto con un’attenta fase di progettazione della libreria di sistema UtilityRethink che garantir\`{a} ai servizi client l’interfacciamento con il server RethinkDB. Grazie a questa iniziale fase di analisi e progettazione si \`{e} potuto sviluppare un primo prototipo della libreria in .Net funzionante ed efficiente che garantisca il principale requisito del sistema. I servizi client attraverso la libreria e interagendo con il server RethinkDB potranno sia inviare nuove notifiche, sia registrarsi per ricevere quelle per cui sono interessati.},
apice = {PushNotificationsOnRethinkDB},
author = {Foschini, Francesco},
howpublished = {Distributed Systems, A.Y. 2021/2022},
month = apr,
sort = {classic},
supervisor = {Ciatto, Giovanni},
title = {Progettazione e sviluppo di un sistema distribuito di notifiche basato su database realtime},
type = {Standard Project},
url = {https://gitlab.com/pika-lab/courses/ds/projects/ds-project-foschini-ay2122},
year = 2022
}
abstract = {L’obiettivo di questo studio prevede la realizzazione di un sistema che permetta di emettere e distribuire notifiche legate ad eventi. Questa funzionalita` sar\`{a} fruita da servizi software al fine di fornire informazioni costantemente aggiornate agli utenti delle applicazioni web e per monitorare lo stato di avanzamento di task/procedure. La parte iniziale del lavoro \`{e} stata dedicata all’analisi del contesto in cui si colloca questo problema: \`{e} stato definito il concetto di Database real-time e di seguito sono stati analizzati i sistemi e le tecnologie disponibili in commercio in grado di offrire il servizio di distribuzione delle notifiche ai servizi client implementando il famoso pattern di messaggistica Publish/Subscribe. Per il design del sistema \`{e} stato, quindi, necessario acquisire una solida conoscenza dei sistemi distribuiti, dei problemi di concorrenza sui dati condivisi e dell’interfacciamento con database real-time. Il progetto ha previsto due attivit\`{a} principali: la progettazione e implementazione di una libreria lato client e l’automazione dell’avvio del server tramite Docker. In seguito all’analisi del software scelto per il server di sistema (RethinkDB) si \`{e} proceduto con un’attenta fase di progettazione della libreria di sistema UtilityRethink che garantir\`{a} ai servizi client l’interfacciamento con il server RethinkDB. Grazie a questa iniziale fase di analisi e progettazione si \`{e} potuto sviluppare un primo prototipo della libreria in .Net funzionante ed efficiente che garantisca il principale requisito del sistema. I servizi client attraverso la libreria e interagendo con il server RethinkDB potranno sia inviare nuove notifiche, sia registrarsi per ricevere quelle per cui sono interessati.},
apice = {PushNotificationsOnRethinkDB},
author = {Foschini, Francesco},
howpublished = {Distributed Systems, A.Y. 2021/2022},
month = apr,
sort = {classic},
supervisor = {Ciatto, Giovanni},
title = {Progettazione e sviluppo di un sistema distribuito di notifiche basato su database realtime},
type = {Standard Project},
url = {https://gitlab.com/pika-lab/courses/ds/projects/ds-project-foschini-ay2122},
year = 2022
}