Ecco una possibile soluzione per la seconda traccia esame stato 2019 ITIA :
Analisi iniziale:
Il problema propone di progettare una rete dati metropolitana per collegare alcuni punti di interesse turistico (POI) e permettere ai visitatori (muniti di un tablet) di accedere a contenuti multimediali relativi ai POI. Viene chiesto di progettare l’infrastruttura di rete, il DB con i contenuti e la gestione utenti e gli aspetti di sicurezza.
Progetto dell’infrastruttura di rete LAN/MAN
Per quanto riguarda la rete, ogni POI viene dotato di un access point wifi accessibile tramite password (fornita a chi acquista il biglietto) e di un dispositivo miniPc (es: una scheda SBC Raspberry o simile) che contiene i file multimediali relativi al punto di interesse) .
Il database contenente i dati degli utenti e i vari profili, invece è contenuto in un server centrale presente nella LAN comunale (o su un provider esterno). I POI possono essere collegati al server centrale tramite ADSL , rete 4G o tecnologia HyperLan .
Il server contenente il DB “centrale” può essere dotato di varie protezioni per aumentarne la sicurezza (firewall, connessione cifrata al database , dischi fissi in modalità RAID , gruppo di continuità, accesso ad internet tramite router dual WAN ) . I vari infopoint accedono alla rete tramite ADSL , 4G o HyperLAN ed aggiornano i dati nel DB centrale accedendo tramite interfaccia web o apposito software desktop (ogni infopoint può essere dotato di un PC o di un tablet con apposita APP)
I dispositivi raspberry, contengono inoltre un server web dotato di pagine web dinamiche (in PHP) , tramite queste pagine viene interrogato il DB centrale per recuperare le informazioni relative alla tariffa di ogni utente, in modo da visualizzare su poagine con profili diversi (avanzata,base , tariffa intermedia) i contenuti predisposti per quella fascia tariffaria. Il conteggio dei POI “avanzati” può essere fatto aggiornando un campo della tabella del DB centrale che gestisce l’anagrafica utenti.
Soluzione alternativa per l’infrastruttura di rete: qualcuno rpopone di inserire tutti i contenuti multimediali nel server centrale ,in modo da avere una gestione centralizzata. Anche questa soluzione è possibile, ma mostra dei limiti nel caso di connessione lenta tra il server centrale e le reti dei singoli POI. Realizzando dei piccoli server multimediali basati su Raspberry si riesce invece a risolvere questo problema.
DATABASE:
Occorre separare su tabelle diverse la gestione degli utenti , la gestione dei POI, le informazioni legate ai biglietti e i contenuti multimediali relativi ad ogni POI.
Possiamo usare quindi quattro diverse tabelle e realizzare le varie associazioni con la giusta molteplicità.
Es:
MODELLO CONCETTUALE
UTENTI ( ID, NomeCognome , tipodocumento, nrodocumento)
BIGLIETTO(IDBIGLIETTO,tipotariffa,data_acquisto,data_scadenza,codiceminitablet ,password,poi1,poi2,poi3,poi_corrente)
POI (IDPOI, Nomemonumento, Tipo ,Luogo)
Infopoint(IDInfopoint,Luogo)
Contenuti( ID,didascalia_ita,didascalia_eng, urlfotoovideo ,contenutobase-avanzato )
MODELLO LOGICO
UTENTI ( IDutente, NomeCognome , tipodocumento, nrodocumento)
BIGLIETTO(IDBIGLIETTO,tipotariffa,data_acquisto,data_scadenza,codiceminitablet,password,poi1,poi2,poi3,poi_corrente, idutente,idinfopoint)
POI (IDPOI, Nomemonumento, Tipo ,Luogo)
BIGLIETTO_POI (IDvisita, idpoi,idbiglietto,datavisita)
Infopoint(IDInfopoint,Luogo)
Contenuti(ID,didascalia_ita,didascalia_eng, urlfotoovideo ,contenutobase-avanzato,idpoi)
La presenza delle chiavi esterne (che hanno lo stesso nome della chiave primaria dell’entità con cui sono in relazione ,permette di individuare le relazioni e le loro molteplicità.
Nel momento in cui l’utente fa login, inserendo la password, viene controllato il campo che contiene il tipo di tariffa e vengono mostrati solamente i contenuti che sono previsti per quel tipo di tariffa. Nella tabella biglietto vengono memorizzati i codici dei POI visitati dall’utente ( o comunque , attraverso una query, è possibile visualizzare quanti poi sono già stati visitati dall’utente munito di quel biglietto e quindi permettere o meno la visione di contenuti avanzati )