polito.it
Politecnico di Torino (logo)

Progetto e implementazione di un portale web per la raccolta e la visualizzazione di dati massivi = Design and implementation of a web portal for collection and visualization of massive data

Chiara Salerno

Progetto e implementazione di un portale web per la raccolta e la visualizzazione di dati massivi = Design and implementation of a web portal for collection and visualization of massive data.

Rel. Giovanni Malnati. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2019

Abstract:

La mole sempre crescente di informazioni prodotte e raccolte in Internet impone lo sviluppo di applicazioni sempre più sofisticate per la loro gestione e visualizzazione. Il modello architetturale attualmente dominante è costituito da front-end basati sul paradigma Single Page Application (SPA) che interagiscono con uno o più back-end utilizzando API basate su REST o GraphQL. Tale paradigma, che offre innumerevoli vantaggi in termini di potenza espressiva e qualità della User Experience, solleva il problema di gestire in modo scalabile, robusto ed efficace, lo stato dell'applicazione, che risulta essere distribuito tra front-end e back-end e, in quanto tale, è soggetto a disallineamenti e potenziali fallimenti. La tecnologia REST, in particolare, si presenta come state-less e demanda in modo esplicito al front-end l'onere di gestire lo stato dell'applicazione. Sebbene esistano molteplici modelli operativi e pratiche di programmazione volte ad affrontare in modo uniforme e strutturato tale problematica, la rapidità dell'evoluzione degli stack protocollari e l'esigenza di produrre in tempi sempre minori applicativi sempre più complessi, non consente di individuare con facilità un approccio che possa risultare adatto ad ogni situazione. In questo contesto si colloca il presente documento che descrive il lavoro svolto dalla candidata nell'implementazione di un'applicazione web per la visualizzazione di dati massivi utilizzando ReactJS, una delle librerie front-end maggiormente utilizzate e supportate. In particolare tale lavoro di tesi ha permesso di effettuare delle considerazioni e valutazioni critiche circa l'approccio più adatto da utilizzare per gestire lo stato dell'applicazione, operando - nello specifico - in un contesto di sviluppo in cui interagivano diversi sviluppatori. Una delle principali problematiche nella gestione dello stato in applicazioni complesse è rappresentata dal processo di trasmissione dei dati ai componenti di livello inferiore. Tale processo diventa particolarmente problematico all'aumentare della profondità dell'albero dei componenti. Pertanto, nel caso di applicazioni di medie e grandi dimensioni, il ricorso a Redux e al suo store centralizzato costituisce una valida soluzione al problema. Sebbene l'uso di librerie come Redux renda più semplice l'aggiornamento dello stato, di solito introduce un sovraccarico aggiuntivo che può avere un forte impatto sulla scrittura di codice ridondante e sulla complessità. L'introduzione di nuove funzionalità, come Hooks e API di contesto, ha permesso di superare le molte sfide che si erano poste gli sviluppatori e semplificare il codice rendendolo semplice da leggere, mantenere e testare.

Relatori: Giovanni Malnati
Anno accademico: 2019/20
Tipo di pubblicazione: Elettronica
Numero di pagine: 85
Informazioni aggiuntive: Tesi secretata. Fulltext non presente
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: NON SPECIFICATO
URI: http://webthesis.biblio.polito.it/id/eprint/13188
Modifica (riservato agli operatori) Modifica (riservato agli operatori)