istituto tecnico - alfredocentinaro.it https://www.alfredocentinaro.it/tag/istituto-tecnico/ Sito personale di Alfredo Centinaro, ingegnere informatico, insegnante, musicista. Programmazione, appunti, esercizi, sistemi e reti, tpsit, esami di stato, arduino Wed, 07 May 2025 15:49:37 +0000 it-IT hourly 1 https://wordpress.org/?v=7.1 https://www.alfredocentinaro.it/wp-content/uploads/2022/01/logo_alfredocentinaro-150x150.png istituto tecnico - alfredocentinaro.it https://www.alfredocentinaro.it/tag/istituto-tecnico/ 32 32 Soluzione Esame di Stato II Prova Istituti Tecnici Informatica – Sistemi e Reti (2016 – Sessione suppletiva) https://www.alfredocentinaro.it/lezioni/esami-di-stato/soluzione-esame-di-stato-ii-prova-istituti-tecnici-informatica-sistemi-e-reti-2016-sessione-suppletiva/ Tue, 21 Apr 2020 17:23:03 +0000 https://www.alfredocentinaro.it/2020/04/21/soluzione-esame-di-stato-ii-prova-istituti-tecnici-informatica-sistemi-e-reti-2016-sessione-suppletiva/ Una possibile soluzione commentata della prova suppletiva di informatica. Come nostro solito, sviluppiamo e commentiamo una soluzione che non costituisce una soluzione corretta in modo assoluto, ma solo una possibile interpretazione con elementi e spunti, si spera, utili agli alunni che devono fronteggiare il nuovo Esame di Stato. Prima parte Una compagnia di taxi, allo ... Leggi tutto

L'articolo Soluzione Esame di Stato II Prova Istituti Tecnici Informatica – Sistemi e Reti (2016 – Sessione suppletiva) proviene da alfredocentinaro.it.

]]>
Una possibile soluzione commentata della prova suppletiva di informatica. Come nostro solito, sviluppiamo e commentiamo una soluzione che non costituisce una soluzione corretta in modo assoluto, ma solo una possibile interpretazione con elementi e spunti, si spera, utili agli alunni che devono fronteggiare il nuovo Esame di Stato.

Prima parte

Una compagnia di taxi, allo scopo di migliorare il servizio offerto al pubblico, vuole implementare un sistema automatizzato di gestione delle richieste dei clienti, con la relativa assegnazione ai mezzi disponibili.

La compagnia vuole in particolare che:

  • le richieste di trasporto da parte dei clienti possano arrivare attraverso il maggior numero possibile di canali di comunicazione, in modo che il servizio sia raggiungibile con tutti i mezzi oggi disponibili sia fissi che mobili (telefono, Web, App, SMS, …);
  • la centrale operativa possa visualizzare la posizione dei taxi in servizio in ogni momento;
  • vengano registrate, all’interno di un apposito database, sia le richieste dei clienti che i servizi di trasporto effettuati dai mezzi della compagnia (per questi ultimi, i mezzi invieranno direttamente le informazioni necessarie).

Il candidato, formulate le opportune ipotesi aggiuntive, sviluppi i seguenti punti:

  1. analizzi la realtà di riferimento e proponga uno schema generale che descriva la soluzione adottata per rispondere alle richieste della compagnia, ne ponga in evidenza i vari componenti e le loro interconnessioni, motivando le scelte effettuate;
  2. descriva in modo dettagliato le possibili modalità di comunicazione attraverso le quali i clienti richiedono i servizi di trasporto, evidenziando le specificità di ciascuna e la relativa procedura di gestione della richiesta;
  3. definisca le tecnologie di comunicazione tra la centrale e i mezzi in servizio.

Proposta di soluzione

La traccia è molto vaga sulla reale natura progettuale specifica del sistema proposto. Elemento questo che permette di spaziare molto nelle soluzioni da proporre, senza incappare in errori macroscopici ma che, allo stesso tempo, può mettere in difficoltà lo studente con meno capacità espositiva individuale e che necessita di una guida con dei vincoli da cui partire. Per questo lo studente non deve preoccuparsi ma anzi far tesoro di tutte le conoscenze apprese con le esperienze svolte durante il corso dell’anno. Nel caso specifico dei miei alunni, molti elementi sono stati approfonditi in laboratorio con Cisco Packet Tracer (trovate molti esempi qui), ripresi e svisceratati ulteriormente nelle lezioni frontali. La parte difficoltosa potrebbe essere quella di una esposizione ordinata e particolareggiata.  

Proviamo a fare delle considerazioni iniziali in base alle specifiche fornite dal testo dell’esercizio. La maggior parte delle attività vengono svolte su un software la cui logica principale è all’interno dell’azienda. Il software in questione deve essere utilizzabile da tre tipologie di utenti: sia dal personale interno alla centrale operativa che utilizza presumibilmente postazioni fisse assieme ad un centro di elaborazioni dati, sia gli autisti che si muovono per raggiungere i clienti che necessitano quindi di dispositivi portatili, sia dai clienti che possono usufruire di dispositivi personali portatili o fissi per le prenotazioni. A tal proposito si considerino le seguenti rappresentazioni grafiche.

L’infrastruttura hardware

Abbiamo quattro zone/aree evidenziate: quella più a sinistra che schematizza i taxi, quella centrale gli utenti/clienti e quella a destra l’azienda di taxi. Cominciamo col descrivere le varie aree e le esigenze prima dal punto di vista hardware.

I tassisti, per la natura della propria professione, hanno necessità di spostamenti di svariati km dalla centrale, presumibilmente anche svariate decine di km. Devono poter ricevere e controllare le richieste di corse in modo semplice ma portabile. Storicamente le comunicazioni tra taxi e centrale, erano lasciati a sistemi radio su frequenze assegnate. Il sistema funzionerebbe ancora, ma sarebbe scarsamente integrabile in un sistema informativo/informatico con una tale varietà di strumenti, dati e procedure decisamente più automatizzabili, ricchi di applicazioni e possibilità varie. L’idea è quindi quella di dotare i tassisti di un sistema tablet integrato nel veicolo che conducono, dotato di sistema GPS per il tracciamento della posizione del veicolo e di una connessione internet. I tablet in questione potrebbero essere di fascia media di profilo prettamente commerciale visto che non ci sono richieste particolari di robustezza e resistenza ad urti o acqua. Caratteristiche tipo possono essere:

  • Schermi luminosi, con buoni angoli di visione e diagonale di 10 pollici
  • Hardware: CPU con tecnologia ARM, come i Cortex o simili di altre case come Nvidia o Intel e RAM di almeno 3 GigaByte. Valutare la predisposizione all’uso di un pennino touch per operazioni di firma o appunti veloci.
  • Autonomia: batterie abbastanza capienti da assicurare autonomie per i lunghi viaggi o sistemi di risparmio energetico particolarmente efficienti
  • Connettività: la connettività Wi-Fi ormai è su tutti i dispositivi con standard 802.11n e ac non strettamente vincolante in questo caso. In questo caso la vera connettività deve essere realizzata attraverso una sim dati con opportuno abbonamento presso una compagnia telefonica, possibilmente sfruttando le nuove entusiasmanti caratteristiche delle reti 5G.
  • Fotocamera: nessuna specifica particolare
  • Software applicativi: i software possono essere delle tipologie più disparate ma devono mantenere un buon bilanciamento fra semplicità, fluidità e numero di funzioni
  • Memoria interna: consigliata 16GByte o 32GB
  • Sistema Operativo: Android 12
  • App: il servizio è erogato come web-app quindi non occorre nulla di particolare se non un browser mobile. Valutare l’installazione di app tipo block notes per prendere appunti, calendari per appuntamenti, pdf reader.

I tablet potrebbero essere integrati con il sistema dell’autoradio per assorbire l’alimentazione necessaria o attraverso una soluzione più spartana con un caricatore per l’accendisigari del veicolo o le porte usb del veicolo, se presenti. In questo momento storico in cui scriviamo, inoltre, si dovrebbe valutare anche l’acquisto di un marchio di tablet piuttosto che un altro. E’ notizia di questi giorni come gli USA abbiano fatto guerra alla azienda cinese Huawei su presunte questioni mai verificate di spionaggio industriale che hanno però costretto il colosso del Sol Levante  ridimensionare i suoi accordi commerciali con Google e i suoi servizi di store e app.

Una nota a margine ma su cui sarebbe interessante posare l’attenzione. I taxi si allontanano dalla centrale anche di decine di km. Se i mezzi fossero stati vincolati ad un raggio di 20/30 km, al posto delle sim costose da usare sottoscrivendo abbonamenti telefonici, sarebbe stato possibile utilizzare tecnologie wireless a bassa frequenza per lo scambio dati come LoRa, che avrebbe garantito una piccola banda per scambiare pochi dati ma con una copertura estesa senza costi aggiuntivi ai dispositivi hardware.

Sui dispositivi hardware degli utenti non possiamo fare considerazioni particolari: sarà il software a dover integrare tutti i sistemi hardware scelti dagli utenti, dai pc fissi e laptop, ai dispositivi mobili come tablet e smartphone. Si presume che gli utenti abbiano una connessione internet con banda casalinga adeguata ADSL/Fibra o 4/5G. Tutti i dispositivi dei tassisti e degli utenti, sfrutteranno la rete pubblica su cui ovviamente non facciamo considerazioni tecnologiche. Non sarebbe possibile in questo caso sfruttare una rete dedicata per questo servizio.

Per la zona amministrativa della azienda di taxi, non possiamo fare particolari ipotesi poiché non è fornita alcuna informazione sulla necessità di aggiornare o creare una rete o infrastruttura informatica. Ci limitiamo a segnale l’importanza di un cablaggio strutturato per consentire all’azienda una gestione della infrastruttura di rete scalabile per esigenze future e una migliore efficienza con cavi ed apparati di ultimi generazione pensati e posati a regola d’arte.

Si prevede l’uso di normalissimi pc, stampanti di rete e sistemi NAS di rete per la condivisione e backup di documenti. Non sono specificate come necessarie, particolari accortezze se non quelle di utilizzare piccoli ups per ogni pc o almeno prese di corrente filtrate per garantire una basilare continuità del servizio. I pc di fascia medio/alta potrebbero avere caratteristiche tipo e sono fortemente consigliati in sostituzione di hardware obsoleto o a rischio avaria o compatibilità con sistemi operativi e software attuali.

  • Hardware: CPU Intel dalla nona generazione come I5-9500, con 8GByte di RAM DDR4,
  • Memoria: Hard Disk SSD da 500GB per il sistema operativo e il software principale accompagnato da un HD tradizionale meccanico/magnetico per i dati da 1 TeraByte
  • Sistema operativo: Visto l’utilizzo limitato al semplice uso di browser web per accedere all’applicativo, possiamo risparmiare sulla licenza Windows e installare un s.o. Linux, magari di larga diffusione e semplicità di utilizzo come Ubuntu. Questo ci consentirà anche una maggiore sicurezza e protezione da malware convenzionali, o di dover aggiornare e mantenere periodicamente antivirus vari e loro definizioni.
  • Software: probabilmente basta un browser di quelli convenzionali come Firefox o Chrome, accompagnato da software applicativo da ufficio come Libre Office, suite di programmi di videoscrittura come Word o fogli di calcolo come Excel, ma open source e che sta trovando molto spazio nelle amministrazioni pubbliche (anche nel nostro comune di Teramo!)
  • Monitor: 22 pollici

L’unica accortezza che possiamo adottare in una rete aziendale, è quella di usare un router di confine con un firewall magari annesso con capacità sia di packet filtering che di content filtering, magari configurabile con una comoda e semplice interfaccia grafica. L’azienda di taxi la riteniamo sufficientemente piccola per non adottare una soluzione in-house dei servizi che deve erogare, ma  di affidarsi in modo più economico ad un fornitore terzo per quello che riguarda i servizi di hosting, database e mail. Soluzioni come queste possono essere molto vantaggiose per risparmiare in termine di personale che gestisce rete e zona dmz, acquisto o leasing di server ed altre attrezzature hardware, licenze software per server, sistemi di backup e tutto quello che concerne la continuità del servizio e la disaster recovery, dimensionamento delle connessioni internet, abbonamenti telefonici ecc. Lasciamo al lettore la stesura dell’elenco dei vantaggi e svantaggi nell’adottare soluzioni completamente inhouse e in outsourcing. Esistono numerose soluzioni commerciali per ogni esigenza che mettono a disposizione sia Hosting web da 15, 30 euro annui sia soluzioni basate Server Virtuali Condivisi o Privati con svariate caratteristiche e prezzi. Due esempi su tutti (con prezzi riferiti alla data di stesura di questa soluzione):

Aruba.it 2,79 € IVA/mese molto economico per chi ha poche pretese visto che è “hw virtuale”

  • Processore : 1 cpu virtuale con VmWare (non specificata)
  • Memoria : 1 GB ram (non specificata)
  • Storage : 20 Gb (non specificato)
  • Banda passante pubblica utenti: 2 TB al mese

OVH.it  a 75,99 € + IVA/mese già decisamente più performante ma costoso visto che è “hw dedicato”

  • Processore : Intel Xeon-D 1521 – 4c/ 8t – 2.4GHz/ 2.7GHz
  • Memoria : 16GB DDR4 ECC 2133MHz
  • Storage : 4x4TB HDD SATA Soft RAID + 1x500GB SSD NVMe Soft RAID 
  • Banda passante pubblica utenti: traffico illimitato
  • Banda passante privata per gli aggiornamenti: 100Mbps

Nel caso più semplice comunque che sia VPS o un semplice hosting, dovremo essere certi che i server abbiano:

  • Software: in questo caso dovremo chiedere o installare server Apache con almeno PHP7.2 sul server web e MySQL 8 o 5.7 (ritenuto obsoleto) con InnoDB sul server Dati.  Alternativa ad Apache è Nginx che si sta diffondendo molto rapidamente e ha svariate funzionalità interessanti anche per il Python e in alcune applicazioni risulta anche più performante di Apache stesso.
  • Sistema Operativo Linux, come Mint, CentOS, Red Hat o Debian, specifiche distribuzioni per server di produzione.

Inoltre dovremo essere certi che, se il servizio è erogato in Italia, l’azienda erogatrice abbia tutte le carte in regola per il rispetto del GDPR.

Il software usato dai clienti

Nell’era della comunicazione smart, la soluzione per prenotare un taxi del nostro servizio può avvenire in molti modi. Certamente i lprimo sistema di prenotazione potrà essere telefonico o a mezzo sms o sistemi di chat come whatapp o telegram. Accanto ai sistemi telefonici tradizionali, di particolare interesse per il nostro elaborato possono essere un sito web dedicato, magari con tecnologia responsive, per poter essere usufruito sia da pc desktop che mobile, e una app specifica per smartphone.

Il sito web può essere realizzato con due modalità: ci affidiamo ad un sito web scritto da zero, “from scratch”, magari avvalendoci di tecnologie base come PHP, HTML, CSS, Javascript. Per pensare poi a soluzioni più professionali per il frontend con framework come React.JS, Angular o Vue.JS, e framework backend come Laravel o CakePHP in PHP per agevolare una struttura modulare MVC, una migliore integrazione tra frontend e backend, sicurezza di fasi di login, query con sistemi di pre-cache per evitare SQL injection, route più efficaci per la gestione del servizio e protezione da attacchi XSS. I framwork, difficilmente affrontati a scuola per via della curva di apprendimento spesso elevata, garantiscono robustezza allo sviluppo, scalabilità e aggiunta di moduli/codice preconfezionati per numerose funzionalità aggiuntive. Gli stessi framework frontend sono spesso pensati per essere portabili tra desktop e mobile fornendo già strumenti validi per essere responsive o agevolare la customizzazione di determinati elementi.

La seconda modalità di realizzazione di sito web potrebbe essere quella di affidarsi ad un CMS come WordPress o altri analoghi come Joomla o Drupal. Esistono plugin pensati per l’e-commerce come WooCommerce che potrebbero essere adattati e personalizzati per prenotare, pagare in anticipo o gestire disponibilità delle risorse taxi. I CMS consentono una velocità di costruzione del servizio molto più rapida di una soluzione da zero, con un abbattimento dei costi spesso enorme, ma presentano ovviamente dei limiti di personalizzazione e alcuni deficit sulle prestazioni rispetto a soluzioni dedicate scritte da zero. Ad una piccola azienda con pochi mezzi e un flusso di prenotazioni contenuto potrebbe dare un gran vantaggio con un relativo investimento iniziale.

Il software usato tra azienda e taxi

I taxi, o meglio i tablet connessi, sfruttano la telefonia GSM 4G/5G con collegamento dati per poter sfruttare una piattaforma web predisposta dalla sede centrale. La piattaforma gestionale potrebbe essere raggiunta o lato pubblico con accesso username/password +autenticazione a due fattori con One Time Password app sul tablet stesso per assicurare il login del dispositivo corretto. Il sistema server deve assicurare la disponibilità del protocollo https con protocollo TLS/SSL di ultima generazione versione 1.3 per garantire la riservatezza delle informazioni scambiate.

L’alternativa, forse più complessa e meno indicata, è l’uso di una VPN per collegarsi internamente ai server aziendali e sfruttare direttamente una applicazione di desktop remoto con relativo programma in locale.

Seconda parte

1. In relazione al tema proposto nella prima parte, si consideri il caso in cui la compagnia voglia consentire ai clienti di registrarsi al proprio sito per usufruire di campagne promozionali e di servizi aggiuntivi. Il candidato esponga le tecnologie hardware e i servizi software necessari a garantire un adeguato standard di sicurezza a protezione dei dati acquisiti. 

Garantire standard di sicurezza a protezione dei dati è un argomento trasversale tra sicurezza dei dati e conservazione degli stessi. Cerchiamo di analizzare entrambi gli aspetti in modo organico. Per quanto riguardo lo storage fisico, i dati vanno protetti con opportune soluzioni di backup. Alcune strategie potrebbero essere quelle di usare sui server la tecnologia RAID 1, detta di mirror, che permette il salvataggio in corsa di una copia delle informazioni che il server sta elaborando e gestendo, soprattutto se il server in questione ospita un DBMS. Gli hard disk possono essere eventualmente essere dotati di tecnologia hot swap che consente di estrarli al caldo per riporli in luogo sicuro e periodicamente quindi sostituirli raggiunti i limiti di capienza e ricollegarli/ripristinarli in caso di disaster recovery. Valutare in alternativa una soluzione più economica che consenta backup periodici magari con un servizio cloud di storage, almeno per i dati di produzione non bloccanti. Per i backup, evitare dischi immagine o similari troppo poco versatili dato il mutare rapido dei dati. Sistemi di storage ibridi tra cloud e raid ma sempre “in house” potrebbero essere dei sistemi NAS collegati alla rete aziendale dove salvare copie dei dati anche sfruttando le potenzialità dei DBMS o di software commerciali su misura. Per l’aspetto di sicurezza riferito all’accesso abusivo ai dati, misure di protezione standard sono la criptazione dei dati, messa a disposizione dai principali DBMS commerciali con algoritmi a chiave simmetrica come AES. La crittografia garantisce una ragionevole sicurezza a scapito però delle performance. Non sono risolutive ma dissuasive anche funzionalità di compressione dei dati con librerie standard come ZLIB. La funzione più nota è senza dubbio quella dell’hashing di determinati dati tra cui le password che è così possibile non immagazzinare in chiaro con relativi inconvenienti nel caso di furto o data breach. Funzioni di hash viste solitamente nei percorsi di studio sono SHA2 o le obsolete/meno sicure SHA1 e MD5. 

2. In relazione al tema proposto nella prima parte, il candidato progetti lo schema concettuale e logico della porzione della base di dati che, in relazione ai servizi di trasporto offerti ai clienti, consente la registrazione del luogo di partenza e di arrivo e del taxi che ha effettuato il servizio. Progetti poi le pagine del sito della compagnia che consentono l’immissione di una richiesta di trasporto e ne codifichi in un linguaggio a sua scelta una parte significativa.  

3. Negli ultimi anni lo sviluppo tecnologico ha portato ad una maggiore apertura delle infrastrutture informatiche, ormai ampiamente interconnesse. La sicurezza dei dati è diventata di conseguenza un aspetto fondamentale nell’ambito del trattamento delle informazioni. Il candidato descriva i possibili tipi di minacce alla sicurezza di un sistema informatico.

L’argomento è ampiamente trattato nei manuali scolastici. Il candidato può approfondire in modo molto semplice tutta la trattazione dei malware con le diverse tipologie software (virus, spyware, addware, worm, backdoor, trojan, cryptolocker/ransonware, forkbomb ecc) ed hardware (keylogger), gli attacchi informatici più noti (social engineering, man in the middle, ddos, arp poisoning, defacement di pagine web, sql injection, password cracking, attacchi XSS, uso di vulnerabilità zero day e in software non aggiornati ecc) 

4. Le informazioni che viaggiano attraverso la rete Internet riguardano, sempre di più, aspetti rilevanti e delicati della vita degli individui e delle aziende. Tale mole di dati necessita di sistemi che garantiscano l’identità dei soggetti, l’integrità dei dati e la loro confidenzialità. Il candidato descriva le caratteristiche dell’infrastruttura di sicurezza basata sulle chiavi pubbliche (PKI) evidenziando il ruolo delle Autorità di Certificazione. 

La domanda pone l’attenzione su un problema storico e molto dibattuto che frappone il concetto di autenticazione vs identificazione in rete. Nella vita pratica siamo piuttosto abituati al concetto di identificazione: alla posta, in banca, negli uffici, nei controlli delle forze dell’ordine la nostra persone è sempre identificata da documenti quali la carta di identità, codice fiscale, patente. Nel web, l’identificazione in rete è più complessa e siamo abituati semplicemente ad accedere ai servizi mediante una semplice autenticazione con username e password di fantasia. che però non possono in alcun modo identificare in modo certo un utente fisico particolare. Ecco perché occorre, un po’ sulla falsa riga di un ente che, come il comune o la motorizzazione emettono carta di identità e patente, emetta un documento universalmente riconosciuto. Questa funzione è svolta da una Autorità di Certificazione. alla base della tecnologia c’è una coppia asimmetrica chiave privata e chiave pubblica prodotte da un soggetto Alice che vuole comunicare con un utente Bob. Alice sarebbe solita crittografare il messaggio con la sua chiave privata, mentre Bob potrebbe decriptare il messaggio conoscendo la chiave pubblica di Alice, che magari ha pubblicato su un sito web o in firma sulla mail. Qui si pone l’Autorità che su richiesta di Alice, ne verifica una tantum l’identità e avvalora l’autenticità della chiave pubblica di Alice conservandola indirettamente su un server attraverso un certificato di autenticità. Bob, in qualsiasi momento, potrebbe reperire la chiave pubblica di Alice, chiederle il certificato e contro-verificarlo con quello fornito dall’Autorità. Alla base di questi sistemi c’è il funzionamento di un protocollo ormai indispensabile per navigare sicuri su server sconosciuto purché usino appunto un sistema simile con SSL/TLS.

L'articolo Soluzione Esame di Stato II Prova Istituti Tecnici Informatica – Sistemi e Reti (2016 – Sessione suppletiva) proviene da alfredocentinaro.it.

]]>
Soluzione Esame di Stato – Informatica Istituti Tecnici – Sistemi e Reti (4 luglio 2019 – Sessione suppletiva) https://www.alfredocentinaro.it/lezioni/esami-di-stato/soluzione-esame-di-stato-informatica-istituti-tecnici-parte-sistemi-e-reti-4-luglio-2019-sessione-suppletiva/ Fri, 20 Sep 2019 16:09:59 +0000 https://www.alfredocentinaro.it/2019/09/20/soluzione-esame-di-stato-ii-prova-informatica-istituti-tecnici-parte-sistemi-e-reti-4-luglio-2019-sessione-suppletiva/ Una possibile soluzione commentata della prova suppletiva di informatica. Come nostro solito, sviluppiamo e commentiamo una soluzione della sola porzione riguardante Sistemi e Reti. Non costituisce una soluzione corretta in modo assoluto, ma solo una possibile interpretazione con elementi, si spera, utili agli alunni che devono fronteggiare il nuovo Esame di Stato Testo della prima ... Leggi tutto

L'articolo Soluzione Esame di Stato – Informatica Istituti Tecnici – Sistemi e Reti (4 luglio 2019 – Sessione suppletiva) proviene da alfredocentinaro.it.

]]>
Una possibile soluzione commentata della prova suppletiva di informatica. Come nostro solito, sviluppiamo e commentiamo una soluzione della sola porzione riguardante Sistemi e Reti. Non costituisce una soluzione corretta in modo assoluto, ma solo una possibile interpretazione con elementi, si spera, utili agli alunni che devono fronteggiare il nuovo Esame di Stato

Testo della prima parte

La ditta InfoService offre servizi di assistenza hardware-software e consulenza informatica in genere. Essa opera a livello regionale ed al suo interno lavorano una cinquantina di dipendenti che si occupano di settori specifici quali assistenza hardware a dispositivi informatici, configurazione di server e relativi servizi, assistenza software e sviluppo di nuove applicazioni su richiesta dei clienti, personalizzazione di software già esistenti.

Per ottimizzare la gestione degli interventi di assistenza presso i propri clienti, InfoService ha deciso di sviluppare un sistema di ticketing. Il sistema prevede che i clienti, accedendo al portale web attraverso le proprie credenziali, possano richiedere interventi di personale tecnico per la risoluzione di problemi di natura hardware o software relativi ai servizi offerti da InfoService. La richiesta comporta l’apertura di un ticket nel quale, oltre ai dati del richiedente, già presenti in quanto associati al suo account, il cliente descriverà il problema riscontrato per il quale richiede l’intervento. A seconda della problematica, l’intervento verrà effettuato da remoto oppure presso il cliente.

Il personale di InfoService addetto all’helpdesk individuerà il tecnico a cui assegnare il ticket. Il tecnico, effettuato l’intervento, registrerà immediatamente in un report online l’attività svolta e il tempo impiegato: se il problema è stato risolto, provvederà a chiudere il ticket, altrimenti questo resterà aperto in attesa di ulteriori interventi. Il cliente dovrà convalidare il report, avendo anche la possibilità di esprimere un proprio commento.

Il candidato analizzi la realtà descritta e, fatte le opportune ipotesi aggiuntive, individui una soluzione che a suo motivato giudizio sia la più idonea per sviluppare i seguenti punti:

1. il progetto, anche mediante rappresentazioni grafiche, dell’infrastruttura tecnologica ed informatica necessaria a gestire il servizio nel suo complesso, dettagliando:

a) le risorse hardware ed i servizi software necessari per sviluppare il sistema di ticketing;

b) le misure che possono essere adottate per gestire con la massima sicurezza le informazioni trattate dal sistema di ticketing;

c) le modalità con le quali i tecnici provvedono online alla compilazione del report approfondendo:

– le caratteristiche della connessione alla rete Internet sia della sede centrale di InfoService sia dei dispositivi in dotazione al personale tecnico in trasferta;

– gli aspetti di sicurezza relativi alla comunicazione tra i dispositivi client in dotazione al personale tecnico e il sistema centrale di InfoService;

– le modalità attraverso le quali il cliente convalida il report compilato dal tecnico, eventualmente esprimendo il proprio commento;

2. il progetto della base di dati per la gestione del sistema di ticketing: in particolare si richiede il modello concettuale ed il corrispondente modello logico;

3. lo sviluppo in linguaggio SQL delle query che consentono di ottenere le seguenti informazioni:

– elenco dei ticket attualmente aperti riportando il nome del cliente che li ha aperti, la data di apertura, il tecnico che li sta seguendo;

– tempo medio di chiusura dei ticket completati in un certo intervallo temporale fornito in ingresso

Soluzione proposta

La parte di Sistemi & Reti in questa prova ricopre il punto 1. La traccia è molto vaga sulla reale natura progettuale specifica del sistema proposto. Per questo lo studente non deve preoccuparsi ma anzi far tesoro di tutte le conoscenze apprese con le esperienze svolte durante il corso dell’anno. Nel caso specifico dei miei alunni, molti elementi sono stati approfonditi in laboratorio con Cisco Packet Tracer (trovate molti esempi qui), ripresi e svisceratati ulteriormente nelle lezioni frontali. La parte difficoltosa potrebbe essere quella di una esposizione ordinata e particolareggiata.

Proviamo a fare delle considerazioni iniziali in base alle specifiche fornite dal testo dell’esercizio. La maggior parte delle attività vengono svolte su un software la cui logica principale è all’interno all’azienda. Il software in questione deve essere utilizzabile da tre tipologie di utenti: sia dal personale interno che utilizza presumibilmente postazioni fisse, sia i tecnici che si muovono dai clienti quindi con dispositivi portatili, sia dai clienti su dispositivi portatili o fissi per le recensioni. A tal proposito si considerino le seguenti rappresentazioni grafiche.

schema di massima esame di stato 2019
Schema di massima

Il sistema software

Partiamo dall’immaginare per il nostro sistema di ticketing un Web Service, la cui definizione data dal World Wide Web Consortium (W3C), è: ” un sistema software progettato per supportare l’interoperabilità tra diversi elaboratori su una medesima rete oppure in un contesto distribuito”. Di web service e loro architetture ne esistono almeno tre:

  • SOAP (inizialmente acronimo di Simple Object Access Protocol, poi cancellato dal W3C).
  • XML-RPC o JSON-RPC (Remote Procedure Call).
  • REST (REpresentational State Transfer)

Nelle nostre lezioni abbiamo affrontato almeno quest’ultimo REST di cui potete trovare alcuni appunti qui. Senza scomodare troppe definizioni e semplificando, un web service è una applicazione che può permettere di far interagire gli stessi dati e funzionalità su di essi con un sito web convenzionale o con una app per smartphone in modo del tutto trasparente all’utente finale. La base portante è l’uso dello XML che consente lo scambio di informazioni tra linguaggi, piattaforme differenti, sistemi operativi diversi.

L’intelligenza lato server può essere svolta da opportuna applicazione con PHP, molto noto agl istudenti o Python che ha forte usabilità anche per applicazioni web. L’interfaccia web la possiamo affidare al classico HTML integrato magari nei sempre più diffusi framework di interfaccia come React o Angular, che forniscono una spinta in più nella gestione, progettazione e sviluppo di web app e web service interattivi e anche gradevoli con svariate librerie di GUI “alla moda”.

Per i dispositivi dei tecnici, occorrerà realizzare una app  che si integri col sistema progettato. Non si fanno particolari considerazioni se non consigliare di svilupparle con tecnologie all’avanguardia e che permettono una compatibilità con dispositivi e s.o. differenti, vedi il prossimo Android 10 detto Fuchsia. In questo caso quindi si possono realizzare con il framework Flutter e il suo linguaggio Dart o alternativa con linguaggio React Native.

L’infrastruttura hardware

Lo schema mostra a destra la sede centrale della InfoService. Non conoscendo la disposizione fisica degli uffici, se ne propone una logica in cui vengono suddivise l’area amministrativa da quella contenente i server. Le due aree possono essere logicamente divise usando indirizzamenti di rete opportuni (ad es. 192.168.10.0/24 e 192.168.20.0/24) legate da un router. Nell’immagine, l’area amministrativa è esemplificata con due dispositivi fissi.

Non è difficile immaginare che ci possano essere diversi uffici anche dislocati su più piani con diverso personale all’interno e dispositivi di utilità come stampanti di rete o telefoni anche con tecnologia VoIP. Il collegamento di questi uffici richiede l’uso di più switch per i singoli uffici collegati ad uno switch centrale di piano, con un collegamento di backbone tra i piani fino ad arrivare al router di confine. Può seguire le specifiche del classico “cablaggio strutturato” e delle normative annesse, che non trattiamo in questo quesito ma che gli alunni possono approfondire sui libri di testo. I cablaggi e i dispositivi potrebbero essere scelti con capacità di trasferimento a 1 Ggiabit/sec con cavi UTP/STP di categoria 6 o 7.

La zona contenente i server è la classica zona DMZ. Questa va possibilmente isolata dagli uffici amministrativi, anche fisicamente su altro edificio per limitare presenze umane non autorizzate o possibili incidenti/guasti. La zona DMZ è spesso dedicata in una stanza separata opportunamente refrigerata per raffreddare i server, con porte tagliafuoco blindate sia per isolare da persone non autorizzate sia per ridurre l’impatto di un eventuale incendio. Nel suo interno possiamo trovare un UPS, gruppo di continuità, che alimenta i server in caso di mancanza di corrente o sbalzi di tensione, per consentirne uno spegnimento sicuro o una continuità di servizio per piccoli intervalli temporali. La zona DMZ può ulteriormente avere un secondo firewall per proteggere e regolare il traffico da e verso la zona amministrativa.

Per i server, caratteristiche standard di interesse potrebbero essere:

  • CPU: 2x Intel Xeon Platinum con 6 Cores
  • RAM 32 GB DDR4 con bit di parità per prevenire errori
  • 3 Hard Disk da 3Tera Byte l’uno, in tecnologia non necessariamente SSD ma con piatto rotante/meccanico per contenere i costi. Invece 2 SSD per il sistema operativo in RAID5 per maggiori performance. L’array di 3 HD per lo storage backup  è conveniente metterli con il RAID1 detto “mirroring” per avere una copia di scorta dei dati elaborati dai dischi principali. Il backup può essere perfezionato ulteriormente in un sistema cloud con cui ripristinare in locale eventuali anomalie/malfunzionamenti o una sostituzione degli hd danneggiati con un sistema di rimozione a caldo Hot Swap per la sostituzione
  • Due schede di rete 10 GBit (una ridondante di backup)
  • Doppio alimentatore ridondato
  • Software: in questo caso possiamo ricorrere ad un semplice server Apache con PHP7 sul server web e MySQL con InnoDB sul server Dati.  Alternativa ad Apache è Nginx che si sta diffondendo molto rapidamente. Ha svariate funzionalità interessanti anche per il Python e in alcune applicazioni risulta anche più performante di Apache stesso.
  • Sistema Operativo Linux, come Mint, CentOS, Red Hat o Debian, specifiche distribuzioni per server di produzione.

Come visibile dalla figura di massima, server web e dati sono collegati attraverso uno switch Gigabit Ethernet ad un Firewall con capacità di packet filtering e di proxy per bloccare traffico in entrate ed uscita non gradito, escludere visione di siti non consoni, utilizzo di protocolli e software che utilizzano porte anomale diverse da quelle destinate al server web e il database. Il firewall a questo punto può essere collegato ad un router di frontiera, probabilmente collegato ad una rete telefonica tradizionale con una compagnia telefonica che fornisce accesso ADSL in fibra ottica (possibilmente con tecnologia FTTH, Fiber To The Home per avere tutto il cablaggio in fibra e avere prestazioni elevate). In questo caso il servizio non riteniamo sia così complesso ed oneroso da prevedere uso di più server o cluster in load balancing, ne di router ridondati per il balancing del traffico.

La soluzione proposta prevede la gestione in house dei server, ma nulla vieta che il servizio sia installato su in sistema cloud/hosting gestito da terze parti per abbattere alcuni costi hardware e sul personale che li deve gestire. Diamo per scontato che il servizio, essendo gestito dal comune, sia possibile ospitarlo in un opportuno CED che ha già carico di spese di gestione di hardware. Occorre poi stabile una policy per gestire l’affidabilità e continuità del servizio. Ad esempio attraverso l’uso di UPS per la fornitura di corrente e protezione dagli sbalzi di tensione, backup periodici degli hd sostituibili comodamente con cassetti hot-swap e salvataggi in cloud o altri sistemi NAS separati fisicamente dalla zona DMZ, prevenzione dei D-DOS e aggiornamento periodico dei software e S.O.

Per i tecnici, l’azienda può prevedere l’acquisto di tablet di fascia media di profilo prettamente commerciale visto che non ci sono richieste particolari di robustezza e resistenza ad urti o acqua. Caratteristiche tipo possono essere:

  • Schermi luminosi, con buoni angoli di visione e diagonale di 10 pollici
  • Hardware: CPU con tecnologia ARM, come i Cortex o simili di altre case come NvIdia, Intel e RAM di almeno 3 GigaByte. Valutare la predisposizione all’uso di un pennino touch per operazioni di firma o appunti veloci.
  • Autonomia: batterie abbastanza capienti da assicurare autonomie per i lunghi viaggi o sistemi di risparmio energetico particolarmente efficienti
  • Connettività: la connettività Wi-Fi ormai è su tutti i dispositivi e nelle case dove i tecnici operano ma per motivi di privacy potrebbe non essere utilizzabile se non fosse presente una rete Guest su misura. Si consiglia di avere anche un modulo 4G che permetta la connessione alla rete in modo autonomo dei dispositivi sfruttando la convenzionale rete GSM. Non sono richieste particolari prestazioni della piattaforma, quindi sconsigliamo l’acquisto di moduli 5G che al momento in cui scriviamo sono ancora poco diffusi e costosi.
  • Fotocamera: nessuna specifica particolare
  • Software applicativi: i software possono essere delle tipologie più disparate ma devono mantenere un buon bilanciamento fra semplicità, fluidità e numero di funzioni
  • Memoria interna: consigliata 16GByte o 32GB
  • Sistema Operativo: Android 8

Per la zona amministrativa, si prevedono l’uso di normalissimi pc, stampanti di rete e sistemi NAS di rete per la condivisione e backup di documenti. Non sono necessarie particolari accortezze se non quelle di utilizzare piccoli ups per ogni pc o almeno prese di corrente filtrate. I pc di fascia medio/alta potrebbero avere caratteristiche tipo:

  • Hardware: CPU Intel di ottava o nona generazione come I5-8500, con 8GByte di RAM DDR4,
  • Memoria: Hard Disk SSD da 250GB per il sistema operativo e il software principale accompagnato da un HD tradizionale meccanico/magnetico per i dati da 1 TeraByte
  • Sistema operativo: Visto l’utilizzo limitato al semplice uso di browser web per accedere all’applicativo, possiamo risparmiare sulla licenza Windows e installare un s.o. Linux, magari di larga diffusione e semplicità di utilizzo come Ubuntu. Questo ci consentirà anche una maggiore sicurezza e protezione da malware convenzionali, o di dover aggiornare e mantenere periodicamente antivirus vari e loro definizioni.
  • Software: probabilmente basta un browser di quelli convenzionali come Firefox o Chrome, accompagnato da software applicativo da ufficio come Libre Office, suite di programmi di videoscrittura come Word o fogli di calcolo come Excel, ma open source e che sta trovando molto spazio nelle amministrazioni pubbliche (anche nel nostro comune di Teramo!)
  • Monitor: 22 pollici

In entrambi i casi dei tecnici e del personale interno, l’accesso alla piattaforma potrebbe essere effettuato con una classica login con autenticazione a due fattori con password e pin via sms e smartphone o mail o direttamente impronta digitale. Le tecniche qualcosa che so/qualcosa che ho devono poi essere accompagnate da una connessione con protocollo HTTPS. Questo protocollo è la versione sicura del protocollo HTTP basata su tecnologia SSL/TLS che garantisce la riservatezza dello scambio di dati anche sensibili tra i client/server. Per gli utenti è già citato nel testo dell’esercizio l’obbligo di un account e relativa registrazione nel sistema, ovviamente garantendo il salvataggio delle password attraverso impronta SHA2 o SHA3.

Nell’account può comparire una notifica di intervento effettuato dal tecnico con relativa possibilità di accedere ad una pagina per commentare e fornire un feedback dell’intervento. Notifica analoga può essere inviata alla mail registrata dall’utente. Ovviamente in fase di registrazione, gli utenti devono essere informati del trattamento delle informazioni e dati personali con opportuno testo del GDPR, contenente il nominativo di un responsabile del trattamento e come verranno utilizzati i dati, i cookies tecnici e di terze parti.

SECONDA PARTE

Domanda I

In relazione al tema proposto nella prima parte, si consideri che solo i dirigenti di InfoService possano monitorare l’attività del personale tecnico che effettua interventi di assistenza. Il candidato, dopo aver apportato le opportune modifiche al database sviluppato nella prima parte, progetti l’architettura di massima delle pagine necessarie ad implementare la funzione sul portale web del sistema di ticketing. Codifichi poi in un linguaggio a sua scelta le pagine che consentono al solo personale dirigente di visualizzare le statistiche relative agli interventi di assistenza (come ad es. la seconda query del punto 3 della prima parte).

La domanda è a cavallo tra le discipline Informatica (per la porzione del database citato), Sistemi e Reti, Tecnologie e progettazione di Sistemi Informatici (per la progettazione di UI/UX). Cerchiamo di dare una idea di massima delle funzioni del portale web di ticketing con un diagramma UML dei casi d’uso come elemento progettuale. A ragion veduta che la progettazione di interfacce grafiche non viene approfondita in modo esaustivo generalmente nei corsi scolastici, se non con buone pratiche. Ogni caso d’uso può, semplificando, essere esposto come pagina web opportuna. Il grafico è realizzato con https://www.draw.io/

Diagramma UML dei casi d'uso
Diagramma UML dei casi d’uso

Per il nostro codice facciamo riferimento a query sulla tabella Ticket. Evitando la trattazione del modello E/R prevista dalla prima parte della traccia, per brevità, forniamo una possibile struttura della tabella Ticket, con chiavi esterne verso le tabelle Cliente e Tecnico. Il codice SQL per crearla è quindi il seguente:

--
-- Struttura della tabella `Ticket`
--
CREATE TABLE `Ticket` (
  `ID` int(11) NOT NULL,
  `ID_Cliente` int(11) NOT NULL,
  `ID_Tecnico` int(11) NOT NULL,
  `Apertura` datetime NOT NULL,
  `Chiusura` datetime NOT NULL,
  `Stato` varchar(20) NOT NULL,
  `Nome` varchar(30) NOT NULL,
  `Descrizione` varchar(120) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Indici per le tabelle `Ticket`
--
ALTER TABLE `Ticket`
  ADD PRIMARY KEY (`ID`),
  ADD KEY `Cliente` (`ID_Cliente`),
  ADD KEY `Tecnico` (`ID_Tecnico`),
  ADD KEY `Stato` (`Stato`);

--
-- AUTO_INCREMENT per la tabella `Ticket`
--
ALTER TABLE `Ticket`
  MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT;

--
-- Limiti per la tabella `Ticket`
--
ALTER TABLE `Ticket`
  ADD CONSTRAINT `Cliente` FOREIGN KEY (`ID_Cliente`) REFERENCES `Cliente` (`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  ADD CONSTRAINT `Tecnico` FOREIGN KEY (`ID_Tecnico`) REFERENCES `Tecnico` (`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;
  ADD CONSTRAINT `Tecnico` FOREIGN KEY (`ID_Tecnico`) REFERENCES `Tecnico` (`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;
COMMIT;

Possiamo così procedere alla realizzazione della query che ci interessa per l’esempio che è proprio quella suggerita dall’esercizio. Lo studente, in queste circostanze, può anche scegliere una query differente se non viene imposto dal testo dell’esercizio. Anche una banale se si fosse in difficoltà con una semplice select * from tabella, per aggirare l’ostacolo. Nel nostro caso avremmo:

SELECT AVG(Ticket.Chiusura - Ticket.Apertura) 
FROM `Ticket` 
WHERE Ticket.Stato = 'Chiuso' 
   && Ticket.Chiusura <= [chiusura]
   && Ticket.Apertura >= [apertura];

Forti di questa struttura e query, procediamo a realizzare la pagina richiesta. Per brevità, creiamo form e script di elaborazione tutto in un unico file.

<!DOCTYPE html>
<html lang="it">
	<head>
		<title>Statistiche ticket</title>
	</head>
<body>
<h1>Statistiche</h1>
<form method="post" action="statistiche.php">
	<fieldset>
	<legend>Scegli date</legend>
		<label for="DateFrom">Da: </label><input type="date" id="DateFrom" name="DateFrom"> 
		<label for="DateTo"> A: </label><input type="date" id="DateTo" name="DateTo"> <input type="submit" value="Cerca" >

	</fieldset>
</form>
<br>

<?php 
require_once("config.php");
if (isset($_POST['DateFrom']) && isset($_POST['DateTo']))
{
	$connessione = mysqli_connect($mysql_host,$mysql_user,$mysql_pass,$mysql_db);
	if (mysqli_connect_errno())
	  die("Connessione non riuscita: " . mysqli_error($connessione));

	$datefrom = mysqli_real_escape_string($connessione, stripcslashes(trim($_POST['DateFrom'])));
	$dateto   = mysqli_real_escape_string($connessione, stripcslashes(trim($_POST['DateTo'])));

	//"SELECT AVG(TIME_TO_SEC(TIMEDIFF(Ticket.Chiusura,Ticket.Apertura))) as media
	$query = "SELECT AVG(Ticket.Chiusura - Ticket.Apertura) as media
	          FROM Ticket 
			  WHERE Ticket.Stato = 'Chiuso'
				 AND Ticket.Chiusura <= '$dateto' 
				 AND Ticket.Apertura >= '$datefrom'";
 	$res = mysqli_query($connessione,$query) or die("Errore nella login: " . mysqli_error($connessione));
	$row = mysqli_fetch_assoc($res);
	$avg = $row['media'] / 1000000;
	mysqli_close($connessione);

	echo "<b>Media Ticket tra $datefrom - $dateto:</b> $avg giorni";
}

?>
</body>	
</html>

Nel codice è anche commentata un’altra versione di media e differenza date usando le funzioni standard di MySQL. Le riportiamo per dovere ma sono piuttosto farraginose da ricordare e difficilmente sono utilizzate nelle esercitazioni scolastiche. Lo script è piuttosto semplice e privo di fronzoli. C’è una form HTML che richiama lo stesso script, la gestione dei dati in ingresso con le variabili supeglobali $_POST e le varie funzioni per prevenire SQL Injection, la connessione al db, la query e la gestione della risposta col solito array associativo di ritorno. Si noti come spesso sia utile la ridenominazione con AS delle funzioni di aggregazione SQL come AVG o SUM per semplificare la gestione del risultato. Il risultato, forse meno noto agli alunni, è tornato sotto forma di timestamp che va semplificato.

Domanda II

In relazione al tema proposto nella prima parte, il candidato definisca il piano di indirizzamento della rete interna della sede principale di InfoService e le modalità con le quali viene controllato l’accesso di dispositivi wifi alla stessa. Approfondisca quindi i fattori che consentono di garantire la continuità del servizio dettagliando le risorse hardware e i servizi software che ritiene idonei per il caso in questione.

Nella rete interna abbiamo individuato due aree: la DMZ con i server e l’area amministrativa. In virtù del numero di utenti, possiamo suddividere le due aree in modo logico con due reti ad es. 192.168.10.0/24 per la DMZ e 192.168.20.0/24 per la zona Amministrativa. I server avranno IP impostati in modo statico ad es  192.168.10.10/24, 192.168.10.20/24, 192.168.10.30/24 con la bocca del router impostata come Gateway 192.168.10.1/24. Per la rete amministrativa, possiamo ipotizzare l’uso di un servizio DHCP. Questo potrebbe essere erogato dal Router e la bocca della rete in questione che possiamo impostare come gateway a 192.168.20.1/24. Il resto della rete potrebbe cominciare col DHCP configurato da 192.168.20.100 in poi con un numero di dispositivi limitato a 50.

La presenza di una rete wireless potrebbe essere integrata aggiungendo una interfaccia al router. Qesta collegata in cascata ad uno switch che serve uno o più access point. La rete wireless è sempre bene separarla magari con una rete 192.168.30.0/24 sempre configurata con opportuno DHCP. L’access point potrebbe essere dotato di una lista filtro di MAC address per autorizzare solo determinati dispositivi. Sappiamo in realtà che gli indirizzi MAC, anche se fisicamente marchiati sul dispositivo di rete, possono essere dissimulati con relativa facilità. Ecco perché la rete deve essere necessariamente protetta da WPA2 o WPA3 con password condivisa.

Se la wifi è prettamente aziendale, potrebbe essere opportuno utilizzare un server RADIUS per autenticare individualmente gli utenti ed identificare quindi anche traffico anomalo o eventuali responsabilità di manomissioni sulla rete in determinati istanti. Il RADIUS è spesso utilizzato col WPA2 in modalità Enterpreise meglio noto come WPA-802.1X. Sistema perfetto per le reti Guest/Ospite potrebbe essere l’uso di un Captive Portal che integra anche funzioni RADIUS per l’autenticazione semplificata degli utenti. La continuità del servizio, tralasciando le considerazioni fatte sui server, richiede di studiare i punti deboli della nostra infrastruttura. Questo però va fatto in funzione anche delle risorse economiche della azienda.

Punto debole è sicuramente il router di confine. Questo potrebbe essere raddoppiato mantenendo una sola linea oppure raddoppiando anche le linee adsl per avere sempre una linea di riserva o per bilanciare il carico in situazioni normali con un Load Balancing opportuno attraverso server come Linux LVS. Ben più economico è raddoppiare gli switch di piano o che servono uffici. Per quanto riguarda i server, l’alunno può riadattare le medesime cose dette in fase di progetto del punto 1 (raid, ridondanza ecc)

Domanda III

Lo sviluppo della rete Internet e l’incremento esponenziale del numero di dispositivi che si prevede verranno ad essa connessi, anche in conseguenza del forte impulso dato in tal senso dall’internet delle cose (IoT), sta favorendo la diffusione del protocollo IPv6. Si espongano le caratteristiche del suddetto protocollo e le differenze rispetto al protocollo IPv4.

L’argomento è molto interessante soprattutto perché, solitamente per i programmi sviluppati dai libri di testo più diffusi, viene affrontato nel quarto anno di un istituto tecnico tecnologico informatica. IPv6 è uno versione di IP disponibile dal lontano 2004 e, si presume, sostituirà definitivamente la versione 4 entro il 2025. La necessità di questa miglioria deriva essenzialmente per risolvere la critica carenza di indirizzi IP.

Non è difficile contare come gli IPv4 in totale siano 2554, un numero che, anche non volendo considerare gli IP privati e riservati, arriva a circa 4 miliardi. E’ abbastanza intuitivo osservare che ognuno di noi ha svariati dispositivi personali connessi alla rete internet h24. Se a questo aggiungiamo uno spreco generale tra indirizzi assegnati ma non realmente utilizzati per svariati motivi, possiamo immaginare cosa accadrà quando avremo in casa decine di dispositivi connessi quali luci, elettrodomestici, oppure dei semafori intelligenti alla cartellonistica smart per strada che necessiteranno di indirizzi IP in quantità decisamente superiore a quelli disponibili.

L’IP v6 utilizza invece dei 32 bit dell’IP v4, ben 128 bit passando da da un ordine di grandezza di 109 a 1038. Questa abbondanza risolve in modo definitivo il problema del consumo ed anche della frammentazione nell’assegnazione di blocchi di indirizzi ai singoli operatori telefonici. Gli indirizzi IPv6 sono composti di 128 bit e sono rappresentati come 8 gruppi, separati da due punti, di 4 cifre esadecimali come ad esempio 2003:0db7:85a3:0000:2329:8a2e:0361:734.

Il pacchetto IP v6 ha inoltre delle differenze e migliorie rispetto al fratello maggiore v4: l’eliminazione del checksum già presente nei livelli superiori e un campo Traffic Class che permetterà di gestire QoS (Qualità del Servizio) direttamente col pacchetto IP senza dover ricorrere ad altre strategie o VPN Trusted. Il passaggio da IPv4 a 6 è gia in corso sotto i nostri occhi. Molti dispositivi in commercio già supportano la nuova versione. La transizione non è agevole però. Richiederà di aggiornare dispositivi fisici, schede, router e server DNS. IPv4 dovrebbe andare in pensione nel 2025 secondo la road-map dell’ICANN. 

Domanda IV

Nell’interazione con un’applicazione web dinamica, l’utente compie azioni che richiedono l’invio di dati al server. Il candidato esamini i metodi attraverso cui è possibile trasferire al server i dati generati lato client dall’utente durante l’uso dell’applicazione, evidenziandone le specificità e i differenti usi. Fornisca al riguardo esempi di casi di utilizzo per le differenti modalità.

Il tema è ampiamente trattato durante il corso di Sistemi e Reti della classe conclusiva e del quarto anno. In particolare, uno dei modi visti per trasferire dati ad un server è quello della comunicazione Socket. Questa procedura agisce a quarto livello TCP/UDP della pila ISO/OSI. Trovate un esempio già sviluppato in questo articolo del nostro sito qui. Questo modo risulta molto vantaggioso e performante quando si ha la possibilità di creare e compilare, magari da zero, il software client e server in ascolto. Tale procedura ottimizza le comunicazioni e scambio di messaggi. Molti servizi però sono più orientati al web e nascono al livello 6 e 7 della pila ISO/OSI esplicitamente come servizi.

Qui il server ospita un software Apache o NGIX o IIS che va a parsificare ed eseguire uno script di codice PHP, CGI, ASP. A questi script le informazioni possono essere passate attraverso i metodi POST e GET delle classiche form HTML o degli URI della barra del browser. Il server con lo script PHP può reperire i dati con le variabili $_GET[‘qualcosa’] o $_POST[‘qualcosa’] ed utilizzarle per il flusso software di interesse. Pecca dell’invio con POST e GET è la necessità tecnica di caricare una nuova pagina (a anche la stessa in alcuni casi), interropendo il flusso software ed obbligando l’utente ad una attesa del nuovo caricamento. Nei software che usiamo sui nostri pc o smartphone siamo abituati ad un flusso continuo ed una interattività maggiore che vogliamo anche sui nostri applicativi online.

Qui ci viene incontro l’AJAX, acronimo di Asynchronous JavaScript and XML. E’ una tecnica di sviluppo software per la realizzazione di applicazioni web interattive (Rich Internet Application). Lo sviluppo di applicazioni HTML con AJAX si basa su uno scambio di dati in background fra browser e server. Questo flusso consente l’aggiornamento dinamico di una pagina web senza ricaricamento da parte dell’utente o una qualsivoglia interruzione del flusso dell’esperienza utente.

Un esempio di utilizzo di AJAX lo potete trovare anche su questo sito a questo link. Parte fondamentale della tecnologia AJAX sono XML e JSON in particolare. Sono utili per mandare al server dati più complessi di una semplice stringa di testo. Ad esempio nella trasmissione del contenuto di una query articolata in più campi.

L'articolo Soluzione Esame di Stato – Informatica Istituti Tecnici – Sistemi e Reti (4 luglio 2019 – Sessione suppletiva) proviene da alfredocentinaro.it.

]]>
Soluzione Esame di Stato II Prova Istituti Tecnici Informatica – Parte Sistemi e Reti (20 settembre 2019 – Sessione straordinaria) https://www.alfredocentinaro.it/lezioni/esami-di-stato/soluzione-esame-di-stato-ii-prova-istituti-tecnici-informatica-parte-sistemi-e-reti-20-settembre-2019-sessione-straordinaria/ Fri, 20 Sep 2019 16:05:15 +0000 https://www.alfredocentinaro.it/2019/09/20/soluzione-esame-di-stato-ii-prova-istituti-tecnici-informatica-parte-sistemi-e-reti-20-settembre-2019-sessione-straordinaria/ Una possibile soluzione commentata della prova straordinaria di informatica del 20 settembre 2019. Come nostro solito, sviluppiamo e commentiamo una soluzione della sola porzione riguardante Sistemi e Reti. Non costituisce una soluzione corretta in modo assoluto, ma solo una possibile interpretazione con elementi, si spera, utili agli alunni che devono fronteggiare il nuovo Esame di ... Leggi tutto

L'articolo Soluzione Esame di Stato II Prova Istituti Tecnici Informatica – Parte Sistemi e Reti (20 settembre 2019 – Sessione straordinaria) proviene da alfredocentinaro.it.

]]>
Una possibile soluzione commentata della prova straordinaria di informatica del 20 settembre 2019. Come nostro solito, sviluppiamo e commentiamo una soluzione della sola porzione riguardante Sistemi e Reti. Non costituisce una soluzione corretta in modo assoluto, ma solo una possibile interpretazione con elementi, si spera, utili agli alunni che devono fronteggiare il nuovo Esame di Stato.

PRIMA PARTE

Un ospedale ha sei reparti distribuiti su tre piani (ogni reparto si sviluppa su un unico piano) e vuole innovare la sua infrastruttura tecnologica per realizzare servizi interni. Una delle procedure da informatizzare riguarda la gestione delle terapie mediche prescritte giornalmente ai pazienti ricoverati. In particolare, si vuole che ogni medico di reparto, dopo avere visitato un paziente, possa collegarsi in modalità wireless ad un server web interno, dislocato in un locale tecnico, per registrare le seguenti informazioni in una base di dati:

  • identificativi di medico, reparto, paziente
  • data ed ora della visita
  • annotazioni generali relative allo stato di salute del paziente
  • pressione arteriosa minima e massima, temperatura, frequenza cardiaca
  • eventuale prescrizione terapeutica (uno o più farmaci da assumere e relativa posologia)
  • Poiché nei reparti non sono mantenute scorte di farmaci, allo stesso server si collegherà anche la farmacia ospedaliera per predisporre i farmaci da inviare ai reparti per le terapie.
  • Il locale tecnico e la farmacia sono situati nel piano seminterrato dell’ospedale.

Per ragioni di sicurezza si vuole che:

  • le operazioni siano fatte esclusivamente attraverso tablet forniti ai medici dall’azienda ospedaliera;
  • i medici siano identificati al momento dell’accesso alla rete wireless;
  • i tablet non possano collegarsi a siti web non autorizzati.

Il candidato analizzi la realtà di riferimento e, fatte le opportune ipotesi aggiuntive, individui una soluzione che a suo motivato giudizio sia la più idonea per sviluppare i seguenti punti:

1. il progetto, anche mediante rappresentazioni grafiche, dell’infrastruttura tecnologica necessaria a gestire il servizio nel suo complesso, dettagliando:

        −l’architettura di rete in termini di apparati, protocolli adottati, topologia e caratteristiche dei collegamenti;

        −il piano di indirizzamento;

        −i servizi di rete che ritiene opportuni, con le configurazioni di massima.

2. il progetto della porzione della base di dati finalizzata alla gestione delle prescrizioni terapeutiche: si richiede in particolare il modello concettuale e il corrispondente modello logico.

3. il progetto delle pagine web che consentono agli operatori della farmacia ospedaliera di visionare gli elenchi giornalieri dei farmaci previsti nelle prescrizioni terapeutiche provenienti dai singoli reparti, codificandone una porzione significativa in un linguaggio a scelta.

SOLUZIONE

Come abitudine sulle pagine del nostro sito, approfondiamo la componente di Sistemi & Reti e delle applicazione di laboratorio inerenti, presenti sulla traccia d’esame.  In particolare, quindi, ci concentriamo sui punti 1 e 3. Ricordiamo che la soluzione non ha valore di assoluta certezza, poiché non esiste una soluzione univoca, ma fornisce allo studente elementi di riflessione ed approfondimento per svolgere analoga progettazione in fase d’esame, raccogliendo le varie conoscenze e competenze acquisite nel corso degli anni.

La progettazione della rete è un classico esempio svolto a lezione, simulato anche con Cisco Packet Tracer. Si tratta di applicare elementi di cablaggio strutturato, con elementi di reti wireless. Vediamo, innanzi tutto, un possibile schema su cui ragionare la nostra progettazione.

soluzione tecnica cablaggio ospedale

Infrastruttura e servizi

La nostra progettazione prevede la realizzazione di un cablaggio strutturato, ovvero di un cablaggio che contempli diverse tipologie di reti lan, con diverse topologie, sfruttando anche cablaggi pre-esistenti come quello telefonico tradizionale su doppino e connettore RJ11. In figura vediamo uno schema di massima di come possiamo organizzare la nostra rete. Ogni piano è collegato con una dorsale, detta backbone, solitamente un cavo ethernet ad alte prestazioni o fibra ottica che possa trasportare 1 o 10Gbit/s per le CAT6 e 8. Qui si pone una scelta tecnologica: risparmiare oppure ottenere il massimo delle prestazioni e della suddivisione logica. Nel primo caso, sale un solo cavo tra i piani e arriva allo switch del piano terra ponticellato fino al router che necessiterà solo di due interfacce in questo modo ma saremo obbligati a vedere ogni piano come una unica rete logica che potrebbe essere funzionale ma poco gestibile. Nel secondo caso di cavi ne devono salire almeno tre, uno per piano, con un quarto cavo gestiamo il traffico del piano seminterrato così da portare al router quattro cavi di piano più quello della stanza tecnica. Scegliamo la seconda: in questo modo avremo una suddivisione logica di tutti i piani e della stanza tecnica. Questa soluzione ovviamente richiede di posare più cavi e potrebbe essere logisticamente più complessa da posare. Ad ogni piano si inseriscono, solitamente, dentro degli opportuni rack di metallo, dei patch panel, pannello di permutazione in italiano, ovvero un elemento passivo che raccoglie i cavi che entrano od escono dal rack fornendo un opportuna porta che possono poi essere suddivise in modo logico e collegate ai dispositivi attivi più idonei, nel nostro caso sicuramente degli apparati switch. In foto è riportato un esempio commerciale con 24 porte per plug RJ 45, categoria 6.

pannello patch ethernet cat 6
Pannello Patch

Per ogni piano possiamo aggiungere uno o più switch, anche modulari a seconda delle necessità, sia per rispondere alla specifica progettuale che stiamo affrontando, sia per avere maggior scalabilità in futuro. Possiamo qindi pensare ad uno switch a 12 porte o direttamente a 24. Per coerenza, il dispositivo lo scegliamo con capacità Gigabit e abilitato ai cavi Ethernet di CAT6. Per il cablaggio dell’intera rete possiamo quindi scegliere cavi Ethernet CAT 6 con schermatura FTP o STP per migliori prestazioni e resistenza alle interferenze elettromagnetiche esterne. Tutti gli apparati, anche dove non esplicitamente specificato, dovranno quindi avere interfaccia o scheda di rete adeguata, per non creare colli di bottiglia.

Dimensionare una rete wireless richiede poche semplici regole. Ogni cabina dovrebbe essere dotata di uno un access point da posizionare possibilmente al centro sul soffitto del vagone. L’access-point è collegato con un cavo Ethernet allo switch posto sul piano, possibilmente con tecnologia PoE o PoE+, Power Over Ethernet, che oltre a trasportare il segnale, trasporta una alimentazione per il dispositivo collegato che varia tra i 15 watt circa e i 30 watt per la versione plus. In figura, accanto allo switch, è disegnato a titolo esemplificativo un alimentatore POE, ma spesso li troviamo già integrati nel dispositivo o, in quelli di fascia alta, può essere aggiunto in maniera modulare. Occorre un cavo quindi per collegare ogni AP. Alcuni AP, hanno una doppia interfaccia che permetterebbe in caso il collegamento a cascata ingresso/uscita. In questo secondo caso, potrebbe occorrere comunque inserire uno switch o repeater poiché la potenza del segnale PoE non è tale da alimentare in cascata più apparati. Per ogni reparto è quindi necessario avere uno o più AP, non essendoci particolari specifiche, presumiamo un numero congruo di due AP per reparto per un totale di quattro AP per piano, tutti collegati come già detto allo switch PoE di piano. In figura, per semplicità, ne abbiamo disegnati solo due per piano. Occorre poi valutare sul campo, in base alle necessità e le metrature da coprire, decidere se aggiungere altri AP per garantire prestazioni ed evitare zone d’ombra dovute ad oggetti o muri. Solitamente, e potrebbe essere una buona soluzione anche per noi. Gli AP sono disposti in modo intermedio all’inizio e la fine dei corridoi principali dei raparti, in alto non facilmente accessibili dai non addetti ai lavori.Anche per la farmacia, possiamo supporre esigenze analoghe con uno o due AP. Nella stanza tecnica, tutto cablato senza WiFi.

Si esclude invece categoricamente che gli AP siano collegati tra di loro con un ponte radio a mezzo di range-extender o repeater wireless poiché soluzione poco efficiente e di cui non si avverte la necessità. I dispositivi AP devono garantire connettività 802.11n e 802.11ac per le connessioni nella banda dei 2,4 e 5,4 Ghz, con preferenza alla seconda banda che decisamente offre alte prestazioni di banda. Gli switch sono collegati in cascata con il router principale dell’ospedale, che potrebbe essere collocato nella stanza tecnica. Dato l’elevato numero di AP che stiamo andando ad inserire, potrebbe essere vincente la scelta di usare dei Light AP, ovvero dispositivi con poche configurazioni in locale che vengono invece configurati a valle da un Wirelass LAN Controller che propaga e gestisce in modo centralizzato le configurazioni di rete, DHCP, misure di sicurezza ed autenticazione. In figura sottostante è riportato un WLC Cisco AIR-CT3504-K9-2 con supporto 802.11AC del valore commerciale di circa 2000 euro.

firewall hardware di Cisco
Un firewall hardware di Cisco

L’unica configurazione significativa da impostare sui Light AP è il canale. Infatti per ottimizzare l’uso della banda in caso di scelga di impostare un unico SSID come in questo caso, è consigliabile configurare in modo sfalsato l’occupazione dei canali, con una distanza di 5 canali tra stazioni vicine, per rendere nulle le interferenze, ma ovviamente se si deve costruire una rete su più piani dove gli AP che possono generare interferenza sono molto vicini, non è facile distanziare, ma va da se che più riusciamo ad allontanare i canali, migliori saranno le performance. Un esempio dei 4 AP dislocati tra reperti e corsia e una combinazioni di canali che minimizza le interferenze a parità di SSID.

esempio di scelta dei canali wifi 2.4 Ghz per evitare sovrapposizioni
Esempio di scelta dei canali wifi 2.4 Ghz per evitare sovrapposizioni

La topologia della struttura cablata, rispecchia una rete a stella, o per meglio dire a “fiocco di neve”, con una forte spinta gerarchica dato dal backbone. Qualche libro di testo indica la topologia direttamente come “backbone”. Le singole reti wireless rappresentano la più classica delle topologie a bus, dove il canale condiviso altri non è che l’etere.                           

La stanza tecnica che conterrà i nostri server è stata disegnata a parte. Solitamente le stanze server sono dislocate in modo isolato da luoghi affollati o dove ci sono particolari rischi di incidenti, opportunamente blindate e climatizzate per meglio refrigerare i server al suo interno. Nella specifica del testo è già richiesto che i servizi vengano erogati attraverso un sistema web, per tanto avremo bisogno di un server web, un server per il database, un WLC come già accennato, e di un server RADIUS per l’autenticazione dei tablet assegnati ai rispettivi utenti. In questo modo è possibile avere account nominali che  permettono una maggiore sicurezza e utilizzo responsabile dell’utente a cui è assegnato l’account, rispetto ad una classica password condivisa con WPA2-PSK. Alcuni apparati recenti WLC e AP supportano il protocollo WPA3 che garantisce migliori performance e standard di sicurezza maggiori, sempre accompagnati dalla autenticazione robusta RADIUS.

Ovviamente i server sono collegati con uno switch tra loro, alla bocca del router che è opportunamente difesa da traffico anomalo o non consentito dalla rete interna dei tablet con un firewall hardware e opportune ACL configurate. Non abbiamo previsto un collegamento internet mediante modem o altro meccanismo. In questo modo i tablet rimangono isolati dalla rete esterna e dalla visione di siti web non consentiti. In caso fosse necessario successivamente inserire un allaccio xDSL o simili, sarà da valutare la configurazione/blocco con firewall o proxy con filtri sui contenuti per inibire determinati siti di scarso interesse ospedaliero qualora fossero ricercati sui tablet. Prevedere anche una autenticazione via PHP possibilmente doppia con password più un token rilasciato via sms o app, per permettere al software web di distinguere anche gli utenti e le loro funzioni (medici o farmacisti ad esempio).

 Per i server, caratteristiche standard di interesse potrebbero essere:

  • CPU: 2x Intel Xeon Gold con 6 Cores
  • RAM 32 GB DDR4 con bit di parità per prevenire errori
  • 3 Hard Disk da 5 TeraByte l’uno, in tecnologia non necessariamente SSD ma con piatto rotante/meccanico per contenere i costi. Invece 2 SSD per il sistema operativo in RAID5 per maggiori performance. L’array di 3 HD per lo storage backup  è conveniente metterli con il RAID1 detto “mirroring” per avere una copia di scorta dei dati elaborati dai dischi principali. Il backup può essere perfezionato ulteriormente in un sistema cloud con cui ripristinare in locale eventuali anomalie/malfunzionamenti o una sostituzione degli hd danneggiati con un sistema di rimozione a caldo Hot Swap per la sostituzione rapida.
  • Due schede di rete 10 GBit (una ridondante di backup)
  • Doppio alimentatore ridondato
  • Software: in questo caso possiamo ricorrere ad un semplice server Apache con PHP7 sul server web e MySQL con InnoDB sul server Dati.  Alternativa ad Apache è Nginx che si sta diffondendo molto rapidamente e ha svariate funzionalità interessanti anche per il Python e in alcune applicazioni risulta anche più performante di Apache stesso.
  • Sistema Operativo Linux, come Mint, CentOS, Red Hat o Debian, specifiche distribuzioni per server di produzione.

Per i medici, l’azienda ospedaliera può prevedere l’acquisto di tablet di fascia media di profilo prettamente commerciale visto che non ci sono richieste particolari di robustezza e resistenza ad urti o acqua. Caratteristiche tipo possono essere:

  • Schermi luminosi, con buoni angoli di visione e diagonale di 10 pollici
  • Hardware: CPU con tecnologia ARM, come i Cortex o simili di altre case come Nvidia, Intel e RAM di almeno 3 GigaByte. Valutare la predisposizione all’uso di un pennino touch per operazioni di firma o appunti veloci.
  • Autonomia: batterie abbastanza capienti da assicurare autonomie per i lunghi viaggi o sistemi di risparmio energetico particolarmente efficienti
  • Connettività: la connettività Wi-Fi ormai è su tutti i dispositivi con standard 802.11n e ac.
  • Fotocamera: nessuna specifica particolare
  • Software applicativi: i software possono essere delle tipologie più disparate ma devono mantenere un buon bilanciamento fra semplicità, fluidità e numero di funzioni
  • Memoria interna: consigliata 32GB
  • Sistema Operativo: Android 10, consigliato soprattutto perché aggiunge supporto per il WPA3
  • App: il servizio è erogato come web-app quindi non occorre nulla di particolare se non un browser mobile. Valutare l’installazione di app tipo block notes per prendere appunti, calendari per appuntamenti, pdf reader.
  • Per l’autenticazione dei medici attraverso il sistema RADIUS è possibile realizzarlo con un CAPTIVE PORTAL direttamente a mezzo di browser web che blocca il traffico dell’indirizzo MAC fino all’avvenuta autenticazione.

Punto 2: Indirizzamento

Il piano di indirizzamento è molto semplice e dettato dalla scelte anche strutturali fatte. Ogni piano ha la sua rete logica che possiamo scegliere assegnando IP privati di classe C 192.168.0.0/24 per la farmacia, 192.168.10.0/24 per il primo piano, 192.168.20.0/24 per il secondo piano e 192.168.30.0/24 per il terzo. La stanza tecnica può essere indirizzata con 192.168.40.0/24. Le reti scelte contano tutte 256 – 2 host, numero adeguato a gestire il carico di utenze decisamente meno numeroso. Gli indirizzi IP possono essere distribuiti mediante DHCP impostato sul WLC o sul router, tutti in versione IP v4, mentre i server devono necessariamente avere IP fisso (ad es. 192.168.40.10/24, 192.168.40.20/24, 192.168.40.30/24 per i rispettivi tre server ed un IP di manutenzione per il WLC 192.168.50/24). Gli switch sono di liv 2 TCP/IP quindi non necessitano di IP ovviamente; qualora si scegliessero switch Cisco o di fascia alta con interfaccia di configurazione, si dovranno valutare gli opportuni IP.

 Punto 3: Pagine web

Prima di vedere il codice PHP, abbiamo bisogno di una tabella Terapia. Senza scomodare tutti i dettagli del modello E/R, in linea di massima il nostro db potrebbe essere il seguente:

modello concettuale
Modello concettuale

Per la nostra specifica, equivale ad effettuare il join tra le tabelle Terapia e Farmaco, con risultante dalla relazione N-N con le relative chiavi esterne. Nel diagramma abbiamo semplificato le notazioni. Dalla specifica, ai farmacisti non interessa sapere reparto o paziente ma solo i farmaci necessari da preparare prescritti nelle diverse terapie.

CREATE TABLE `FarmaciTerapia` (
  `ID` int(11) NOT NULL,
  `ID_Terapia` int(11) NOT NULL,
  `ID_Farmaco` int(11) NOT NULL,
  `Posologia` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `Farmaco` (
  `ID` int(11) NOT NULL,
  `Nome` varchar(60) NOT NULL,
  `Casa Farmaceutica` varchar(60) NOT NULL,
  `Descrizione` varchar(100) NOT NULL,
  `Costo` decimal(6,2) NOT NULL,
  `Principio Attivo` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `Terapia` (
  `ID` int(11) NOT NULL,
  `ID_Paziente` int(11) NOT NULL,
  `ID_Medico` int(11) NOT NULL,
  `DataSomministrazione` date NOT NULL,
  `DataInizio` date DEFAULT NULL,
  `DataFine` date DEFAULT NULL,
  `Note` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


ALTER TABLE `FarmaciTerapia`
  ADD PRIMARY KEY (`ID`),
  ADD KEY `ID_Farmaco` (`ID_Farmaco`),
  ADD KEY `ID_Terapia` (`ID_Terapia`);

ALTER TABLE `Farmaco`
  ADD PRIMARY KEY (`ID`);

ALTER TABLE `Terapia`
  ADD PRIMARY KEY (`ID`);

ALTER TABLE `FarmaciTerapia`
  MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT;

ALTER TABLE `Farmaco`
  MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT;

ALTER TABLE `Terapia`
  MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

ALTER TABLE `FarmaciTerapia`
  ADD CONSTRAINT `FarmaciTerapia_ibfk_1` FOREIGN KEY (`ID_Farmaco`) REFERENCES `Farmaco` (`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  ADD CONSTRAINT `FarmaciTerapia_ibfk_2` FOREIGN KEY (`ID_Terapia`) REFERENCES `Terapia` (`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;
COMMIT;

A questo punto abbiamo gli elementi per costruire la nostra pagina web per visualizzare la lista dei farmaci con la posologia. Abbiamo inserito degli elementi di grafica con un CSS per rendere più gradevole la pagina. Ovviamente la query può essere potenziata visualizzando altre informazioni, raggruppando magari le richieste per reparto o visualizzando codici utili a reperire tra gli scaffali della farmacia le singole scatole. Altra miglioria è trasformare la posologia con enum o tabelle accessorie con campi come Quantità, Unità di misura, Intervallo di tempo ecc.

esempio di presentazione di una pagina php con query
esempio di presentazione di una pagina php con query

I codice corrispondete è molto semplice e lineare con un solo script che abbiamo chiamato terapie.php. Nel file config.php incluso sono semplicemente riportati i valori per effettuare il login al dbms.

<!DOCTYPE html>
<html lang="it">
	<head>
		<title>Farmaci da preparare</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<link href="css/normal.css" rel="stylesheet" type="text/css">
	</head>
<body>
<header>
	<div id="logo"><img src="img/logo.svg" alt="logo"></div>
	<div id="title">Ospedale 2.0</div> 
</header>
<nav>
	<a href="#">Home</a>
	<a href="#">Pagina 1</a>
	<a href="#">Pagina 2</a>
	<a href="#">Pagina 3</a>
</nav>
<main>
<h2>Farmaci Giornalieri</h2>
<?php
	require_once("config.php");

    $connessione = mysqli_connect($mysql_host,$mysql_user,$mysql_pass,$mysql_db);
    if (mysqli_connect_errno())
        die("Connessione non riuscita: " . mysqli_error($connessione));

    $idreparto = mysqli_real_escape_string($connessione, stripcslashes(trim($_GET['idreparto'])));

    $query = "SELECT T.*, FT.Posologia, F.Nome, F.CasaFarmaceutica 
                FROM Terapia as T, FarmaciTerapia as FT, Farmaco as F
                WHERE FT.ID_Terapia = T.ID
                AND FT.ID_Farmaco = F.ID
                AND T.DataInizio <= CURRENT_DATE()
                AND T.DataFine >= CURRENT_DATE()";
    $res = mysqli_query($connessione,$query) or die("Errore nella login: " . mysqli_error($connessione));
    $i = 0;

    while ($row = mysqli_fetch_assoc($res))
    {
        $farmaco    = $row['Nome'];
        $casa 	    = $row['CasaFarmaceutica'];
        $posologia	= $row['Posologia'];

        if ($i == 0)
        {
            echo "Farmaci da preparare per il ".date("d/m/Y")."<br><br>";
            echo "<table border=1>";
            echo "<tr>
                        <th>N.</th><th>Nome</th><th>Casa Farmaceutica</th><th>Posologia</th>
                    </tr>";				
        }

        $i++;	
        echo "<tr>
                <td>$i</td><td>$farmaco</td><td>$casa</td><td>$posologia</td>
                </tr>";
            
    }
    echo "</table>";
            
    mysqli_close($connessione);

?>

</main>
<footer>Realizzato da Alfredo Centinaro</footer>
</body>	
</html>

SECONDA PARTE

I quesiti che rispondono alla parte di Sistemi e Reti sono i primi tre e di forte attualità.

I. In relazione al tema proposto nella prima parte, il candidato integri il progetto (database e pagine web) prevedendo la funzione che consente al medico di visualizzare via web sul proprio tablet lo storico dei dati relativi a pressione arteriosa massima e minima, temperatura, frequenza cardiaca di un dato paziente.

Il quesito è un classico esempio di implementazione in PHP vista nelle sessioni di esame precedenti, di qualsiasi riforma, ed abbondantemente trattata in classe. L’unico elemento che attira la nostra attenzione è la specifica “via web sul proprio tablet”, che ci fa pensare subito che il sito web con front-end in HTML/CSS e back-end in PHP che vogliamo realizzare deve avere degli elementi di sito “responsive”. Pur concentrandoci sulla parte back-end, adottiamo un CSS per la grafica più piacevole, prevedendo gli accorgimenti sul viewport. Per brevità non contempliamo un sito desktop vs tablet con la gestione dei “media”. Quello che vogliamo ottenere è mostrato in figura sottostante.

Esempio di pagina web

 Richiamando lo script paziente.php con parametro idpaziente=1, vogliamo eseguire una query che reperisca le info del paziente nr 1 e le stampa. Per questo creiamo il nostro db nel seguente modo, senza tener particolarmente conto dello schema E/R iniziale del primo quesito progettuale.

CREATE TABLE `Paziente` (
  `id` int(11) NOT NULL,
  `CF` varchar(16) NOT NULL,
  `Nome` varchar(60) NOT NULL,
  `Cognome` varchar(60) NOT NULL,
  `Sesso` varchar(1) NOT NULL DEFAULT 'M',
  `DataNascita` date NOT NULL,
  `IndirizzoResidenza` varchar(120) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `Paziente` (`id`, `CF`, `Nome`, `Cognome`, `Sesso`, `DataNascita`, `IndirizzoResidenza`) VALUES
(1, 'CNTLRD82A02L103V', 'Alfredo', 'Centinaro', 'M', '1982-01-02', NULL);

CREATE TABLE `ValoriPaziente` (
  `ID` int(11) NOT NULL,
  `ID_Paziente` int(11) NOT NULL,
  `DataVisita` date NOT NULL,
  `PressioneMax` decimal(10,2) DEFAULT NULL,
  `PressioneMin` decimal(10,2) DEFAULT NULL,
  `Temperatura` decimal(10,2) DEFAULT NULL,
  `FrequenzaCardio` decimal(10,2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `ValoriPaziente` (`ID`, `ID_Paziente`, `DataVisita`, `PressioneMax`, `PressioneMin`, `Temperatura`, `FrequenzaCardio`) VALUES
(1, 1, '2020-01-02', '120.00', '80.00', '36.50', '67.00'),
(2, 1, '2020-01-03', '110.00', '78.00', '36.80', '70.00');

ALTER TABLE `Paziente`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `CF` (`CF`);

ALTER TABLE `ValoriPaziente`
  ADD PRIMARY KEY (`ID`),
  ADD UNIQUE KEY `ID_Paziente` (`ID_Paziente`,`DataVisita`);

ALTER TABLE `Paziente`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

ALTER TABLE `ValoriPaziente`
  MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

ALTER TABLE `ValoriPaziente`
  ADD CONSTRAINT `Paziente` FOREIGN KEY (`ID_Paziente`) REFERENCES `Paziente` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
COMMIT;

A questo punto il nostro script PHP:

<!DOCTYPE html>
<html lang="it">
	<head>
		<title>Dati paziente</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<link href="css/normal.css" rel="stylesheet" type="text/css">
		<link href="css/normal.css" rel="stylesheet" type="text/css">
	</head>
<body>
<header>
	<div id="logo"><img src="img/logo.svg" alt="logo"></div>
	<div id="title">Ospedale 2.0</div> 
</header>
<nav>
	<a href="#">Home</a>
	<a href="#">Pagina 1</a>
	<a href="#">Pagina 2</a>
	<a href="#">Pagina 3</a>
</nav>
<main>
<h2>Storico paziente</h2>
<?php
	require_once("config.php");

	if (isset($_GET['idpaziente']))
	{
		$connessione = mysqli_connect($mysql_host,$mysql_user,$mysql_pass,$mysql_db);
		if (mysqli_connect_errno())
		  die("Connessione non riuscita: " . mysqli_error($connessione));
	
		$idpaziente = mysqli_real_escape_string($connessione, stripcslashes(trim($_GET['idpaziente'])));

		$query = "SELECT V.*, P.Nome, P.Cognome 
					FROM ValoriPaziente as V,Paziente as P 
					WHERE V.ID_Paziente = $idpaziente
					  AND V.ID_Paziente = P.ID 
					LIMIT 10";
		$res = mysqli_query($connessione,$query) or die("Errore nella login: " . mysqli_error($connessione));
		$i = 0;

		while ($row = mysqli_fetch_assoc($res))
		{
			$cognome= $row['Cognome'];
			$nome 	= $row['Nome'];
			$max	= $row['PressioneMax'];
			$min	= $row['PressioneMin'];
			$temp	= $row['Temperatura'];
			$freq   = $row['FrequenzaCardio'];
			$data   = $row['DataVisita'];

			if ($i == 0)
			{
				echo "<p>Paziente: $cognome $nome </p><br>";
				echo "<table border=1>";
				echo "<tr>
						  <th>N.</th><th>Data</th><th>Pressione MAX</th><th>Pressione min</th><th>Temperatura °C</th><th>Frequenza Cardiaca</th>
					  </tr>";				
			}

			$i++;	
			echo "<tr>
				  	<td>$i</td><td>$data</td><td>$max</td><td>$min</td><td>$temp</td><td>$freq</td>
				  </tr>";
			  
		}
		echo "</table>";
		 		
		mysqli_close($connessione);
	}
?>

</main>
<footer>Realizzato da Alfredo Centinaro</footer>
</body>	
</html>

e il suo foglio di stile, analogo a quello dell’esercizio 1, punto 3. questo è volutamente semplice e scarno ma spesso un dettaglio non curato dagli alunni.

header
{
    background-color: lightslategray;
    width: 100%;
    display: inline-block;
}

nav
{
    border: 1px solid lightslategrey;
    height: 2em;
    width: fit-content;
    background-color: lavender;
    padding: 0.5em 0 0 0.5em; 
}

footer
{
    clear: both;
    border: 1px solid lightslategrey;
    height: 2em;
    width: fit-content;   
    background-color: lightslategray;
    text-align: center;
    color: whitesmoke;
    padding: 1em 0 0 0;
}

#logo{display: block; float:left;}

#title
{
    display: block; 
    float:left;
    font-weight: bold;
    font-size: xx-large;
    color: mintcream;
    padding: 1em 0 0 1em;
}

main
{
    display: block; 
    float:left;
    height: 300px;
    width: 100%;
    margin: 5px 0 0 5px;
}

h2
{
    text-align: center;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif
}

a:link{color: darkred; margin: 0 10px 0 0; }

II. In relazione al tema proposto nella prima parte, considerando che vengono trattati dati sensibili di tipo sanitario, il candidato descriva le possibili soluzioni ed i protocolli utilizzabili per impedire l’uso di dispositivi diversi dai tablet forniti al personale medico, per garantire l’accesso solo tramite autenticazione delle diverse categorie di utenti, per garantire la continuità ed affidabilità del servizio.

Per impedire l’accesso alle informazioni interne nel primo caso di rete interna e attraverso i soli dispositivi forniti al personale medico, possiamo fare riferimento a tecniche di MAC filtering associate alla rete WiFi della struttura e una rete con SSID segreto o comunque con password WPA2-psk. Quindi ad esempio potremmo filtrare i MAC delle schede di rete dei tablet che si collegano agli Access point sparsi nell’edificio: quelli non riconosciuti perché non inseriti nella white list, vengono inibiti nella navigazione. La tecnica del MAC filtering non è decisamente la più efficace ma sicuramente la più semplice da applicare per dissuadere un attaccante che può sempre fingere di avere altro MAC valido con un attacco “MAC spoofing”. Soluzione più drastica ma efficace, è quella di predisporre sui tablet una connessione VPN con IPSec o SSL/TLS, ad esempio con una app come OpenVPN, per fare in modo di redirezionare il traffico direttamente sul servizio web o un sistema similare di autenticazione Captive Portal. I captive portal spesso hanno sistemi di autenticazioni robusti e sicuri basati sia su MAC Filtering che su sistemi RADIUS e standard 802.1x che permettono di identificare o il singolo tablet o addirittura il singolo utente che usa il dispositivo, aggiungendo una tracciabilità e responsabilità individuale del traffico del singolo dispositivo, anche a fronte di una rete WiFi con SSID visibile e accesso libero non vincolato necessariamente da password e protocollo WPA2. Le tecniche viste non solo impediscono l’accesso ai dati ma anche l’accesso alla rete WiFi ai non autorizzati e/o preventivamente registrati. Nel caso si voglia fornire un accesso WiFi pubblico, è possibile prevedere una rete Guest su misura che viene gestita per un determinato traffico ovviamente diverso da quello della rete interna.

III. La rivoluzione digitale ha profondamente modificato la gestione delle attività economiche portando ad una crescente richieste di servizi di natura informatica. Il candidato, dopo aver analizzato le esigenze delle imprese che devono gestire le proprie attività in modalità digitale, presenti i principali paradigmi di servizi cloud (XaaS) disponibili, delineando le caratteristiche di ciascuno.

Il testo del quesito non è affatto banale e di grande attualità. La crescente richiesta di servizi informatici soprattutto web data la forte diffusione non solo dei classici siti web ma anche di app ha portato molte aziende a concentrare o spostare l’attenzione sulla infrastruttura informatica necessaria ad erogare tali servizi. Accanto a questa esigenza orientata verso i clienti, anche internamente la gestione aziendale è profondamente cambiata assieme ai Sistemi Informativi necessari alle aziende per gestire personale, produzione e contabilità. Mentre una parte di queste attività era delegata a semplici pc dedicati e semplici software generalisti come fogli di calcolo, la complessità di determinate attività ha richiesto sistemi gestionali software complessi come ERP o CRM per gestire la grande mole di dati da gestire. Questo ha richiesto una capacità hardware non indifferente, che diventa più esigente al crescere dei servizi offerti e del numero di utenti che ne usufruisce. Le aziende medio/grandi hanno sicuramente la capacità di investire in una infrastruttura di rete personale, gestita internamente probabilmente nei propri spazi ed uffici, con personale e sistemisti di rete qualificati che sono capaci di garantire continuità del servizio, disaster recovery, diffusione di buone pratiche a vario titolo. Ovviamente, la gestione di una infrastruttura fatta di server, switch, router, assieme alle quotidiane attività ha un costo e non è affatto banale. Molte aziende acquistano dispositivi e pc ad esempio in leasing per ammortizzare i costi, o usano procedure di ammortamento per fare investimenti in ambito sempre digitale come quelli che molti governi recenti stanno sovvenzionando per permettere alle aziende di aggiornarsi e diventare Industrie 4.0 a tutti gli effetti. La concorrenza però è grande e la necessità di “risparmiare” per i più piccoli è elemento di sopravvivenza. Così molte aziende che non possono permettersi una infrastruttura interna, decidono sempre più spesso di “esternalizzare” la proprio infrastruttura letteralmente affittandola da fornitori esterni. “Outsourcing”, così viene detto l’affitto di server, risorse di calcolo, spazio e storage web, assieme a tutta la loro gestione, così che l’azienda è tenuta ad acquistare solo pc per il personale interno che poi si collegherà direttamente alla azienda fornitrici su cui verranno installati i software gestionali ERP e CRM per la gestione interna, o dove saranno resi disponibili servizi di hosting o dedicati per la diffusione di siti web, app ed altri servizi web oriented. Assieme ai pc, l’azienda che ha i servizi in outsourcing, deve solo avere una connessione internet adeguata. Qui è il vero problema di fondo per le aziende italiane che sono bloccate da un digital divide non indifferente rispetto ad paesi europei o statunitensi. Per avere servizi esternalizzati l’infrastruttura a banda larga ed ultra larga in fibra ottica diventa il collo di bottiglia per garantire reattività, velocità, produttività e continuità del servizio. Grandi passi avanti si stanno facendo per garantire FTTH (Fiber to the home) o FTTB (Fiber To The Build) e portare quindi fibra ottica direttamente fino agli edifici, piuttosto che lasciare l’annoso problema che prevede fibra ottica lungo le dorsali di comunicazione e doppino telefonico classico in rame nell’ultimo miglio che penalizza fortemente la banda in download ed upload. 

Tornando a l’esternalizzazione, esistono tre modelli che le aziende possono adottare. Lo IAAS, Infrastructure-as-a-Service, è l’affitto esterno delle solo componenti hardware ad esempio server, storage e connessione di rete. Il classico esempio è cloud storage, ovvero il salvataggio di dati su dischi in cloud. Esistono esempi ben noti al lettore come GDrive, DoprBox. Software-as-a-Service è un modello che racchiude applicativi e sistemi software, accessibili da un qualsiasi tipo di dispositivo come il classico GSuite ch epermette di avere fogli di calcolo, word processor e mail su qualsiasi dispositivo, dal pc di casa fino al telefonino condividendo gli stessi account. Il terzo modello è il Platform-as-a-Service (PaaS) nel quale vengono situati i servizi di piattaforme online, dedicati per lo più  agli sviluppatori, dove si può effettuare il deployment di applicazioni e servizi web che intende fornire esternamente senza gestire direttamente tutto quello che c’è sotto.Piattaforme come Amazon Web Service AWS, o Microsoft Azure sono esempi commerciali sempre più diffusi nell’offerta di questi modelli. La quarta voce XaaS, Everithing-as-a-service, è il modo di riassumere ed integrare pesantemente i precedenti tre modelli in una logica che li supera tutti integrando pesantemente web, telefonia e servizi differenti per garantire una trasversalità dell’offerta verso il cliente interno o esterno, machine learning e big data. Es. mi collego da cliente ad amazon per acquistare una lampadina? Si attiva tutto un processo che mi guida e agliuta a realizzare l’impianto elettrico della casa coinvolgendo, attraverso CRM e ERP, la gestione degli acquisti, della vendita, dell’assistenza su tutto l’intero processo, reso automatizzato e sincronizzato. 

L'articolo Soluzione Esame di Stato II Prova Istituti Tecnici Informatica – Parte Sistemi e Reti (20 settembre 2019 – Sessione straordinaria) proviene da alfredocentinaro.it.

]]>
Soluzione Esame di Stato II Prova Istituti Tecnici Informatica (20 giugno 2019) https://www.alfredocentinaro.it/lezioni/esami-di-stato/soluzione-esame-di-stato-ii-prova-istituti-tecnici-informatica-parte-sistemi-e-reti-20-giugno-2019/ Sun, 23 Jun 2019 08:22:49 +0000 https://www.alfredocentinaro.it/2019/06/23/soluzione-esame-di-stato-ii-prova-istituti-tecnici-informatica-parte-sistemi-e-reti-20-giugno-2019/ Ecco una possibile soluzione alla traccia assegnata per la seconda prova degli istituti tecnici ITIA – INFORMATICA E TELECOMUNICAZIONI ARTICOLAZIONE “INFORMATICA” , datata 20 giugno 2019. La prova è articolata per valutare le competenze degli alunni nelle due materie di indirizzo “Informatica” e “Sistemi e Reti”. Tralasciamo la soluzione della componente informatica per dedicarci alla ... Leggi tutto

L'articolo Soluzione Esame di Stato II Prova Istituti Tecnici Informatica (20 giugno 2019) proviene da alfredocentinaro.it.

]]>
Ecco una possibile soluzione alla traccia assegnata per la seconda prova degli istituti tecnici ITIA – INFORMATICA E TELECOMUNICAZIONI ARTICOLAZIONE “INFORMATICA” , datata 20 giugno 2019. La prova è articolata per valutare le competenze degli alunni nelle due materie di indirizzo “Informatica” e “Sistemi e Reti”. Tralasciamo la soluzione della componente informatica per dedicarci alla seconda di Sistemi e Reti appunto. Come per le altre tracce svolte su questo sito, non c’è presunzione di proporre la soluzione definitiva, ma solo una delle possibili con commenti e argomentazioni utili allo studente a comprendere determinati meccanismi progettuali e di esposizione delle proprie conoscenze.

 

TRACCIA PRIMA PARTE

Per favorire il turismo culturale, l’Assessorato al Turismo di una città d’arte di medie dimensioni intende realizzare un’infrastruttura tecnologica che offra ai visitatori un servizio per la fruizione di contenuti multimediali che descrivono i “punti di interesse” (Point Of Interest = POI) di tipo monumentale (es. chiese, luoghi storici, …) e artistico (es. musei, mostre, …) distribuiti nel centro storico della città. Per il servizio, si è deciso di erogare i contenuti multimediali sotto forma di pagine web, secondo due possibili formati denominati “pagina multimediale di base” e “pagina multimediale avanzata”. Nella pagina multimediale di base sono previsti:

  • un video di presentazione breve del POI della durata tipica di un minuto esclusivamente in italiano con sottotitoli in inglese;
  • un massimo di tre immagini relative al POI (es. dettagli architettonici, quadri, …) con relativa didascalia in italiano ed inglese.

Nella pagina multimediale avanzata sono previsti:

  • un video di presentazione approfondita del POI della durata tipica di cinque minuti in una fra 7 possibili lingue compreso l’italiano;
  • una galleria di una ventina di immagini con relativa descrizione (tipicamente intorno ai 500 caratteri) in una fra 7 possibili lingue compreso l’italiano.

Il visitatore, acquistando il servizio in uno dei chioschi (InfoPoint) dislocati nella città, riceverà un biglietto con cui potrà avere accesso ai due tipi di pagina sulla base di tre possibili tariffe:

  • “tariffa base”: permette la fruizione di una pagina multimediale di base per ciascun POI;
  • “tariffa intermedia”: consente la fruizione di pagine multimediali avanzate per tre POI a scelta dell’utente e pagine di base per gli altri;
  • “tariffa piena”: consente la fruizione di pagine multimediali avanzate per ogni POI della città.

Il biglietto acquistato riporta la password di accesso ai contenuti, univoca per ciascun visitatore, associata al tipo di tariffa pagata e con validità giornaliera.

In relazione alle funzionalità che il servizio dovrà offrire, l’Assessorato richiede che siano soddisfatti i seguenti vincoli progettuali:

  • la consultazione delle pagine multimediali sia abilitata esclusivamente ai dispositivi (minitablet) forniti all’atto dell’acquisto del biglietto, previa consegna di un documento di identità o di un numero di carta di credito valida;
  • per facilitare l’aggiornamento periodico dei contenuti esistenti e l’inserimento di nuovi, gli stessi non siano memorizzati sui dispositivi utilizzati dagli utenti ma su sistemi server;
  • l’accesso alle pagine multimediali sia effettuabile solo dopo l’inserimento, all’inizio della visita, della password presente nel biglietto;
  • l’accesso alle pagine multimediali relative ad un POI debba avvenire solo in prossimità o all’interno del POI stesso;
  • la restituzione dei dispositivi (minitablet) possa avvenire presso l’InfoPoint che ha in custodia il documento di identità oppure presso un qualsiasi InfoPoint se il visitatore ha optato per lasciare il numero di carta di credito valida.

Il candidato analizzi la realtà di riferimento e, fatte le opportune ipotesi aggiuntive, individui una soluzione che a suo motivato giudizio sia la più idonea a sviluppare i seguenti punti:

  1. il progetto, anche mediante rappresentazioni grafiche, dell’infrastruttura tecnologica ed informatica necessaria a gestire il servizio nel suo complesso, dettagliando:
    1. l’architettura della rete e le caratteristiche del o dei sistemi server, motivando anche la scelta dei luoghi in cui installare questi ultimi;
    2. le modalità di comunicazione tra server e dispositivi consegnati ai visitatori, descrivendo protocolli e servizi software da implementare per gestire la rete e fornire le pagine;
    3. gli elementi dell’infrastruttura utili a limitare la fruizione delle pagine multimediali esclusivamente in prossimità o all’interno dei POI a cui si riferiscono;
  2. il progetto della base di dati per la gestione del servizio sopra descritto: in particolare si richiedono il modello concettuale ed il corrispondente modello logico;
  3. la progettazione delle pagine web che consentono all’utente, in possesso di biglietto con tariffa base, la fruizione dei contenuti multimediali relativi al POI presso cui si trova, codificandone una porzione significativa in un linguaggio a scelta;
  4. l’analisi di massima delle possibili modalità di gestione delle tre fasce tariffarie, delle opzioni offerte all’utente perla scelta dei tre POI nel caso della tariffa intermedia, e della scelta della lingua nel caso delle tariffe intermedia e piena.

SOLUZIONE

Modello logico

L’esercizio è piuttosto articolato. Lo studente attento può notare sin dalla prima lettura, come ci siano numerose tabelle descrittive/tipo/di gruppo. In molti casi, lo studente le può semplificare con opportune enumerazioni a mezzo del campo, ma è buona norma utilizzare i vantaggi dei db con tabelle relazionali per rendere scalabile il sistema che si progetta. Se la gestione dei biglietti, tariffe, tablet, infopoint non presenta insidie, la parte delle pagine da associare al POI potrebbe richiedere un filo più di attenzione se si vuole articolare una risposta matura e strutturata. La prima insidia è sul come relazionare le pagine al POI. Infatti ogni POI possiede una ed una sola pagina semplice ed una ed una sola avanzata, quindi strutturiamo due entità con relazione 1 a 1, una che estende/eredita dall’altra. In alternativa si possono prevedere due entità separate o una singola entità con un attributo enumerativo per distinguere la base dall’avanzata. Video ed immagini di per se non sono complessi da associare, ma più difficile è intuire la dinamica della lingua dei video, per i sottotitoli dei video, per le didascalie delle immagini. L’alunno medio semplifica struttura della soluzione aggiungendo campi attributo in quantità adeguata rendendo le tabelle immagini e video cosiddette “piatte”(es. due immagini quindi due campi didascalia, video con 7 sottotitoli, quindi 7 campi per le rispettive lingue/testi). Soluzione valida ma poco versatile.

Modello concettuale

Modello concettuale

Da completare

Architettura di rete

La prova è articolata ma non complessa o, almeno, la componente di sistemi e reti è molto similare a quelle svolte nelle simulazioni dello stesso anno scolastico 2018/19, con particolari analogie a quella del servizio di affitto delle biciclette. Il testo è sufficientemente chiaro e lascia spazi di personalizzazione all’alunno che può sicuramente fare forza della sua esperienza di tecnologie simili già esistenti nella vita quotidiana. Sviluppare in modo accurato la traccia sarebbe molto complesso, poiché esistono svariati elementi progettuali che richiederebbero anche competenze universitarie. Qui l’alunno non deve spaventarsi secondo il mio punto di vista, ma deve dare una soluzione di massima in base al programma svolto durante l’anno scolastico.

Iniziamo con analizzare uno schema di massima dell’infrastruttura descritta nel testo. Si evince che ci sono una serie di POI, degli Info Point dove reperire i minitablet e una infrastruttura centrale che si occupa della manutenzione e della gestione dei server mediante una opportuna zona DMZ sicura.

Gli Info Point sono descritti in modo molto minimale. Possiamo presupporre che si limitino ad interagire con gli utenti semplicemente registrando le loro informazioni anagrafiche e i dati della carta di credito. Necessitano pertanto di comunicare tali dati alla zona dei server. Per tale scopo, le esigenze di calcolo si limitano ad un PC anche con caratteristiche hardware e software modeste. Potrebbe bastare una CPU Intel I3 di Nona generazione con 4 GB di RAM DDR4, Hd SSD da 120 GB con Hd magnetico da 1 TeraByte per i dati, VGA integrata, Scheda di rete Gigabit. Software per uso ufficio, browser web, antivirus, sistema operativo Windows 10 o Linux Ubuntu. Il tutto collegato ad un semplice modem multifunzione con switch incorporato e collegato alla rete telefonica di un operatore attraverso ADSL 100Mega. In questo modo, i pc possono inviare e ricevere le informazioni ai server della amministrazione. Non scegliamo in questo caso una soluzione ad hoc con infrastruttura realizzata su misura. Possiamo facilmente immaginare che gli info point abbiano comunque in dotazione una rete telefonica e abbonamento per la voce e rete dati già in essere. Non è necessario avere una connessione wireless in queste strutture.

I POI sono semplicemente punti di interesse. Non presentano elementi che necessitano di una tradizionale infrastruttura hardware o software particolare. Per semplicità, non sono quindi totem come quelli che siamo abituati a vedere a scuola o in alcuni luoghi di interesse artistico. Qui però dobbiamo effettuare una prima scelta: possiamo catalogare questi punti semplicemente con le loro coordinate geografiche su un database centrale in modo tale che una opportuna applicazione, sviluppata ed installata sui minitablet, riconosca la posizione GPS del tablet e pertanto lo classifichi come vicino abbastanza da attivare la visione delle pagine web dedicate. Altra possibilità potrebbe essere quella di utilizzare un sistema con tecnologia RFID attiva. Gli RFID  attivi permettono una trasmissione a lunga distanza e funzionano ad una frequenza di 455 MHz, 2.45 GHz quella più diffusa, o 5.8 Ghz. La loro portata varia dai 20 ai 100 metri circa. Questa potrebbe essere una soluzione ottimale soprattutto se i POI sono all’interno di edifici o in spazi cittadini con vie strette ed edifici con muri alti che potrebbero rendere complicato per i tablet agganciare un segnale GPS, che è invece più semplice agganciare negli spazi aperti (classico esempio il navigatore dell’automobile).
Ci sono 2 tipi differenti di RFID attivi, quelli attivabili e quelli temporizzati. Il classico esempio di RFID attivabile è quello del telepass dell’autostrada: quando è in prossimità della sbarra, si attiva, comunica il numero di targa e si addormenta. Anche qui, se col tablet ci avviciniamo potrebbero scambiare l’informazione delle vicinanza dell’utente/POI per poi riassopirsi. Lo svantaggio è che gli RFID attivi per poter effettuare operazioni a queste distanze devono avere in dotazione una alimentazione elettrica o, più comunemente, una batteria a litio. Esistono versioni di RFID attivi con batterie che possono durare svariati anni, anche 3/5 anni prima di dover essere ricaricate o sostituite. Gli RFID passivi non necessitano di batterie ma hanno una portata di pochi cm che ne rendono l’uso in questo contesto poco redditizio. Immaginiamo per la nostra infrastruttura di utilizzare questa soluzione visto il contenuto altamente innovativo e visto che ampiamente utilizzato nell’Internet delle Cose e, con sempre maggiore diffusione, nell’Industria 4.0.

I minitablet possono essere portati in giro per la città da parte degli utenti ma devono ovviamente avere una interazione con i Punti di Interesse. Non è specificato nel testo se è possibile fare uso di tale tablet per altri scopi o funzionalità, come ad esempio: usarli come un navigatoreGps per raggiungere il POI, reperire altre informazioni online anche se non nei pressi di un POI, usarli con social o sistemi di messaggistica o telefonia per contattare un supporto o assistenza. Dal testo si evince che devono poter comunicare con la zona server per reperire le pagine multimediali nei pressi di un POI. Con la scelta dello RFID, devono ovviamente essere dotati di un opportuno lettore integrato. Questi tablet sono in genere specificatamente ideati per le applicazioni industriali, dotati di schermi a 7/8 pollici, scocca esterna e vetri particolarmente resistenti agli urti, dotati dei classici sistemi operativi Android di ultima generazione e la possibilità di installare le classiche applicazione via app e app store. Caratteristiche hardware poi sono del tutto simili a quelle dei classici tablet. Sicuramente ci occorre supporto per le reti 4G se vogliamo consentire all’utente di poter navigare col tablet in mezzo alla città o semplicemente un supporto WiFi 802.11 a/c se vogliamo consentire l’accesso dati soltanto in prossimità del POI configurando degli opportuni Hotspot WiFi. Per contenere i costi, visto che solitamente i costi della telefonia 4G sono onerosi e richiedono anche burocraticamente di sottoscrivere abbonamenti con compagnie telefoniche per la dotazione di SIM, possiamo scegliere questa ultima soluzione con access point per semplificare la nostra progettazione. Le restanti caratteristiche hardware potrebbero essere RAM 4 GB, processori ARM Cortex di ultima generazione, memoria interna consigliata di 16 GByte, certificazioni IP67 o IP68 per impermeabilità o resistenza all’acqua. 

I minitablet “industriali”, come accennato, sono dispositivi particolarmente robusti che bene si prestano ad essere affidati ad utenti che potrebbero maneggiarli con scarsa cura ed attenzione. Questi dispositivi hanno un costo iniziale più elevato rispetto ai tablet in commercio che permetterebbe però una ridotta probabilità di sostituzione e manutenzione.  In figura sotto sono riportati alcuni esempi. I prezzi possono raggiungere anche 1000/1500 euro con configurazioni hardware base. Sul tablet possiamo installare o creare una App che rimane inattiva fino al contatto con un RFID attivo per poi generare un evento trigger che apre il browser con un opportuno URI in base al codice RFID scansionato.

Es. arriva il segnale RFID della postazione numero 1A567 -> la App apre un browser con un URI https://www.sitoturismopoi.it/?poi=1A567 o in modo similare per sistemi basati su architettura REST ad esempio  https://www.sitoturismopoi.it/poi/1A567/  In questo modo l’utente visiona in automatico la pagina consentita del POI a cui è giunto. Un codice POI/RFID complesso e lungo potrebbe limitare l’accesso ad altro contenuto multimediale senza conoscere l’esatta sequenza per il parametro dell’URI. In questo modo i tablet e i server centrali possono comunicare sfruttando il semplice protocollo HTTPs, ovvero la variante HTTP con uso di SSL/TLS. Sistema molto semplice, economico da realizzare perché sfrutta tecnologie ampiamente diffuse e non proprietarie della pilo TCP/IP. Alternativa più costosa ma anche elegante potrebbe essere l’utilizzo, previa creazione, di una App che gestisce le operazioni descritte. App che sarebbe possibile realizzare con React Native o altro framework di nuova generazione come Flutter.

Un singolo Access Point/Hotspot potrebbe facilmente servire più POI vicini. Usando la tecnologia 802.11 n/a/c, la distanza che riuscirebbe a servire sarebbe del centinaio di metri all’aperto e 10/20m con ostacoli o al chiuso. Gli access point li possiamo immaginare già predisposti nella città come elementi di una rete multiservizio cittadina, il classico Wi-Fi gratuito fornito da alcuni comuni, turistici soprattutto. In questo modo non ci sono oneri ulteriori di cablaggio o creazione di una infrastruttura ad hoc. Gli access point di reti simili vengono, in genere, installati sui lampioni della luce o altre strutture sopraelevate di pertinenza comunale. Si tratta di una cosiddetta rete mesh, in passato pesantemente finanziate anche dal Ministero dello Sviluppo Economico per progetti denominati di Smart City. Sono reti a maglia di ripetitori wireless con piccoli ed economici router collegati alla rete telefonica cablata e che forniscono un sistema di autenticazione e registrazione via comoda interfaccia web detta Captive Portal. In genere questi router possono essere configurati per consentire una navigazione limitata sia nei contenuti che nel tempo con dei piccoli software firewall/proxy che bloccano determinati contenuti o siti (magari tutti, tranne quelli del servizio turistico in esame), concedono un tempo limitato di navigazione (ad. esempio 30 minuti necessari per la visita), reindirizzamento automatico a pagine di interesse, inserimento automatico di pubblicità e contenuti di interesse nelle pagine visualizzate, permettono di accettare condizioni di privacy, policy varie e anche condizioni del GDPR. Una volta registrato, l’indirizzo MAC dell’utente, può essere usato per bypassare il processo di login. Esistono in commercio svariati software che svolgono funzioni di captive portal come Zeroshell, ChilliSpot, Wifidog, Pfsense, tutti open source.

Sistemi server

Per quanto riguarda il server Web e Dati che consentono di accedere ai contenuti multimediali, questi dovrebbero essere conservati in una opportuna zona DMZ divisa dalla zona amministrativa, anche fisicamente, in una stanza chiusa a chiave ed accessi limitato e opportunamente climatizzata. Per i server, caratteristiche standard di interesse potrebbero essere:

  • CPU: 2x Intel Xeon E5 con 6 Cores
  • RAM 32 GB DDR4 con bit di parità per prevenire errori
  • 3 Hard Disk da 3Tera Byte l’uno, in tecnologia non necessariamente SSD ma con piatto rotante/meccanico per contenere i costi. Invece 2 SSD per il sistema operativo in RAID5 per maggiori performance. L’array di 3 HD per lo storage backup  è conveniente metterli con il RAID1 detto “mirroring” per avere una copia di scorta dei dati elaborati dai dischi principali. Il backup può essere perfezionato ulteriormente in un sistema cloud con cui ripristinare in locale eventuali anomalie/malfunzionamenti o una sostituzione degli hd danneggiati con un sistema di rimozione a caldo Hot Swap per la sostituzione in stazione a treno fermo. 
  • Due schede di rete 10 GBit (una ridondante di backup)
  • Doppio alimentatore ridondato
  • Software: in questo caso possiamo ricorrere ad un semplice server Apache con PHP7 sul server web e MySQL con InnoDB sul server Dati. Poiché si tratta di gestire contenuti multimediali semplici, una soluzione efficace e snella potrebbe essere quella di usare un CMS installato sul nostro host. Esempi performanti e di effetto potrebbe essere Joomla o, meglio ancora, WordPress. I CMS (Content Management System), con una installazione magari non proprio semplicissima, permettono però di modificare i contenuti di una pagina web semplice come quella richiesta con pochi click e utilizzando editor WYSIWYG (Wuat You See Is What You Get). In questo modo, anche un utente non esperto del mondo dello sviluppo web, potrebbe tranquillamente aggiornare testi ed immagini senza ricorrere ad uno sviluppatore del settore. Altro software che potrebbe risultare utile è un PHPmyadmin per la gestione grafia del server dati.
  • Sistema Operativo Linux, come Mint, CentOS, Red Hat o Debian, specifiche distribuzioni per server di produzione.

 

Come visibile dalla figura di massima, server web e dati sono collegati attraverso uno switch Gigabit Ethernet ad un Firewall con capacità di packet filtering e di proxy per bloccare traffico in entrate ed uscita non gradito, escludere visione di siti non consoni, utilizzo di protocolli e software che utilizzano porte anomale diverse da quelle destinate al server web e il database.

Il firewall a questo punto può essere collegato ad un router di frontiera, probabilmente collegato ad una rete telefonica tradizionale con una compagnia telefonica che fornisce accesso ADSL in fibra ottica (possibilmente con tecnologia FTTH, Fiber To The Home per avere tutto il cablaggio in fibra e avere prestazioni elevate). In questo caso il servizio non riteniamo sia così complesso ed oneroso da prevedere uso di più server o cluster in load balancing, ne di router ridondati per il balancing del traffico.

La soluzione proposta prevede la gestione in house dei server, ma nulla vieta che il servizio sia installato su in sistema cloud/hosting gestito da terze parti per abbattere alcuni costi hardware e sul personale che li deve gestire. Diamo per scontato che  il servizio, essendo gestito dal comune, sia possibile ospitarlo in un opportuno CED che ha già carico di spese di gestione di hardware. Occorre poi stabile una policy per gestire l’affidabilità e continuità del servizio: ad esempio attraverso l’uso di UPS per la fornitura di corrente e protezione dagli sbalzi di tensione, backup periodici degli hd sostituibili comodamente con cassetti hot-swap e salvataggi in cloud o altri sistemi NAS separati fisicamente dalla zona DMZ, prevenzione dei D-DOS e aggiornamento periodico dei software e S.O.

Pagina web

La pagina web più semplice da realizzare e solitamente approfondita a lezione è quella del login. Come pagina web qui invece decidiamo di sviluppare in HTML5/CSS3 e PHP e JQuery una pagina multimediale avanzata dove  sono previsti:

  • un video di presentazione approfondita del POI della durata tipica di cinque minuti in una fra 7 possibili lingue compreso l’italiano;
  • una galleria di una ventina di immagini con relativa descrizione (tipicamente intorno ai 500 caratteri) in una fra 7 possibili lingue compreso l’italiano.

Creiamo una pagina con alto contenuto dinamico in cui reperiamo path e descrizioni delle immagini da database,  con le immagine salvate fisicamente sul server. La selezione della lingua è valutata con un piccolo script JQuery che ricalcola e richiede lo URI corretto del POI con la lingua scelta. Il design è scarno ed essenziale per concentrare l’attenzione sul codice PHP. Il codice completo è allegato. Altra soluzione era quella di usare una funzionalità Ajax per l’aggiornamento delle descrizioni in base alla lingua: lasciamo al lettore la modifica del codice con questa versione avanzata. Alternativa più semplice e praticabile era quella di creare pagine sostanzialmente statiche per ogni combinazione POI/lingua.

Lo script poi.php. Prende due parametri GET poi e language che vengono passati in fase di apertura della pagina nei pressi dello RFID o gestiti dalle selezioni nella pagina stessa. Lo script poggia la sua intelligenza su una tabella immagini in cui è contenuto il path e le descrizioni in lingua. Il lettore potrà personalizzare la tabella in base al modello E-R disegnato della restante parte della prova.

<?php
$mysql_host = 'localhost';
$mysql_user = 'test';
$mysql_pass = 'test';
$mysql_db = 'test';
/* Connessione e selezione del database */
$connessione = mysqli_connect($mysql_host,$mysql_user,$mysql_pass);
if(mysqli_connect_errno())
  die("Connessione non riuscita: " . mysqli_error($connessione));
$db_select= mysqli_select_db($connessione,$mysql_db);
if (!$db_select)
  die("Selezione del database non riuscita");

//passa il parametro via link  https://www.sitoturismopoi.it/?poi=1A567
//o in locale http://127.0.0.1/poi.php?poi=CH001
$poi = $_GET["poi"] ? $_GET["poi"] : "CH001" ;

$sql = "select nome from poi where id = '$poi'";
$res = mysqli_query($connessione,$sql) or die("Errore in poi.php : " . mysqli_error($connessione));
$row = mysqli_fetch_array($res, MYSQLI_ASSOC);
$nome = $row['nome'];

?>


<!DOCTYPE html>
<html lang="it">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>PoI <?php print $nome ?> </title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  </head>
  <body>
  <header>
    <div id="logo"><img src="logo.png" title="logo" alt="logo" width=5% height=5%></div>
    <nav>
      <a href="index.html">Home</a> | <a href="informazioni.html">informazioni</a> | <a href="contatti.html">Contatti</a>
    </nav>

  </header>

  <div id="language">
    <label for ="language" >Lingua: </label>
    <select name=language id="lang">
      <option value="en">Inglese</option>
      <option value="it">Italiano</option>
      <option value="sp">Spagnolo</option>
      <option value="ch">Cinese</option>
      <option value="in">Indiano</option>
      <option value="ru">Russo</option>
      <option value="ar">Arabo</option>
    </select>
  </div>
  <h1>Benvenuto  presso  <?php print $nome ?></h1>
  <h2>Punto di Interesse  #<?php print $poi ?></h2>


  <article>
    <script type="text/javascript">
    $(document).ready(function(){
        $("#lang").change(function(){

          var selectedLang = $("#lang option:selected").val();
          let searchParams = new URLSearchParams(window.location.search);
          let poi = searchParams.get('poi') ? searchParams.get('poi') : "CH001";
          window.location = "http://127.0.0.1/esame/poi.php?poi=" + poi +"&language="+selectedLang;
        });
    });


    </script>


    <section id="video" class="center">
      <video controls width="320" height="240" controls>
       <source src="chiesa.mp4" type="video/mp4">
       <track id="envtt" src="entrack.vtt" label="English" kind="captions" srclang="en" default>
       <track id="itvtt" src="ittrack.vtt" label="Italiano" kind="captions" srclang="it">
       <track id="spvtt" src="sptrack.vtt" label="Spanish" kind="captions" srclang="sp">
       <track id="chvtt" src="chtrack.vtt" label="Chinese" kind="captions" srclang="ch">
       <track id="invtt" src="entrack.vtt" label="Indian" kind="captions" srclang="in">
       <track id="ruvtt" src="rutrack.vtt" label="Russian" kind="captions" srclang="ru">
       <track id="arvtt" src="artrack.vtt" label="Arabic" kind="captions" srclang="ar">
      </video>
    </section>
    <section id="immagini">
      <div class="table">
    <?php
      $language = $_GET['language'] ? $_GET['language'] : "en";
      $sql = "select * from immagini where poi_id = '$poi'";
      $res = mysqli_query($connessione,$sql) or die("Errore in poi.php : " . mysqli_error($connessione));

      while ($immagine = mysqli_fetch_array($res, MYSQLI_ASSOC))
      {
        print "<div class=\"tr\">";
          print "<div class=\"td\">";
          print "<img src=\"{$immagine['imgpath']}\" alt=\"{$immagine['alt']}\" title=\"{$immagine['title']}\" >";
          print "</div>";

          print "<div class=\"td\">";
          switch ($language)
          {
            case "en":
              print "<span class=\"descrizione\">".$immagine['endescr']."</span>";
              break;
            case "it":
              print "<span class=\"descrizione\">".$immagine['itdescr']."</span>";
              break;
            case "sp":
              print "<span class=\"descrizione\">".$immagine['spdescr']."</span>";

              break;
            case "ch":
              print "<span class=\"descrizione\">".$immagine['chdescr']."</span>";
              break;
            case "in":
              print "<span class=\"descrizione\">".$immagine['indescr']."</span>";
              break;
            case "ru":
              print "<span class=\"descrizione\">".$immagine['rudescr']."</span>";
              break;
            case "ar":
              print "<span class=\"descrizione\">".$immagine['ardescr']."</span>";
              break;
          }
          print "</div>";
        print "</div>";

      }
      ?>
      </div>

    </section>
  </article>


  <footer>
    <div class="center">Realizzato da: Alfredo Centinaro</div>
  </footer>
  </body>
</html>

 Il file style.css, molto minimale alla portata dell

header
{
  background-color: grey ;
  border: 1px solid green;
  margin: 0 0 0 0;
  padding: 15px 50px 15px 10px;
}

nav
{
  margin: 10px 0 5px 0;
}

footer
{
  clear:both;
  text-align:center;
  background-color: grey ;
  border: 1px solid green;
  margin: 0 0 0 0;
  padding: 15px 50px 15px 10px;
}

.center {text-align: center;}

.table{display: table;}
.td{display: table-cell;}
.tr{display: table-row;}

.descrizione
{
  padding: 0px 0 0 10px;
  font-style: italic;
    vertical-align: 100px;
}

#language
{
  float: right;
  display: block;
}

SECONDA PARTE

Nella seconda i quesiti riguardanti Sistemi & Reti sono rispettivamente il quesito 2 e 4.

II. In relazione al tema proposto nella prima parte, si discuta la possibilità di allargare la fruizione dei contenuti multimediali anche ai dispositivi personali degli utenti. In particolare, si analizzino le seguenti due ipotesi alternative:

  • uso limitato ai soli dispositivi (minitablet) forniti all’atto dell’acquisto del biglietto, come sopra descritto: si individuino possibili soluzioni per impedire l’accesso alle pagine multimediali attraverso dispositivi non forniti dagli InfoPoint;
  • uso consentito ai dispositivi personali degli utenti (es. smartphone): si descriva una possibile integrazione del servizio volta a consentire la fruizione dei contenuti direttamente ad un singolo dispositivo di proprietà del visitatore, pur mantenendo i vincoli di fruibilità in base alla tariffa associata al biglietto.

Per impedire l’accesso alle informazioni multimediali attraverso dispositivi non forniti dall’infopoint, possiamo fare riferimento a tecniche di MAC filtering. Quindi ad esempio potremmo filtrare i MAC delle schede di rete dei tablet che si collegano agli Access point sparsi in città: quelli non riconosciuti, vengono inibiti nella navigazione. La tecnica del MAC filtering non è decisamente la più efficace ma sicuramente la più semplice da applicare per dissuadere un attaccante che può sempre fingere di avere altro MAC valido con un attacco “MAC spoofing”.

Soluzione più drastica ma efficace, è quella di predisporre sui tablet una connessione VPN con IPSec o SSL/TLS, ad esempio con una app come OpenVPN, per fare in modo di redirezionare il traffico direttamente sul servizio web o un sistema similare di autenticazione Captive Portal come già citato nel tema della parte prima. I captive portal spesso hanno sistemi di autenticazioni robusti e sicuri basati su RADIUS e standard 802.1x.

Il secondo caso potrebbe essere gestito in modo molto simile. L’utente che acquista il biglietto potrebbe segnalare il proprio MAC all’info point che si occupa di aggiungerlo alla white list abilitata alla navigazione (procedura molto usata similmente negli alberghi con wi-fi gratuito). Alternativamente, si può continuare ad usare un Capitve Portal abbinato alla rete wi-fi che reindirizza l’utente alla registrazione preventiva o inserimento di user/password presenti ad esempio sul biglietto e ne filtra il traffico eventualmente in base alla tipologia di utenza scelta.

IV. Per le aziende che dispongono di sedi dislocate in varie località sorge spesso la necessità di consentire al personale l’accesso ai sistemi da postazioni remote. Il candidato discuta le tipologie e i protocolli di accesso remoto ai sistemi, indicando in particolare le possibilità offerte dalle connessioni VPN. Sviluppi poi esempi nel caso di una azienda che ha due sedi operative e agenti commerciali che, muovendosi sul territorio, hanno necessità di collegarsi al sistema informativo aziendale.

L’argomento della domanda è un classico argomento da manuale, ampiamente trattato e studiato in classe. Lo studente più pigro, trova sintesi anche sul manuale Cremonini di Informatica & TLC.

Spunti interessanti, se trattati in aula o laboratorio, potrebbero essere i Remote Desktop che consentono di collegarsi in remoto via vpn avendo una finestrella col controllo e la GUI del desktop del pc fisico a cui ci si collega. Tecnologia molto utile per la manutenzione da parte dei sistemisti di rete ad esempio. Discorso alternativo e semplicistico potrebbe invece essere quello di non usare necessariamente VPN o Remote Dektop ma fornire portali web su misura per le operazioni degli agenti come SharePoint di Microsoft o soluzione.

L'articolo Soluzione Esame di Stato II Prova Istituti Tecnici Informatica (20 giugno 2019) proviene da alfredocentinaro.it.

]]>