Seconde Prove simulate e reali N.1 La Comunità Montana della Valnera deve monitorare i propri impianti di depurazione delle acque, situati in quattro comuni della valle. Il progetto prevede che il centro di supervisione, situato nel comune di Crovio, sia in grado di rilevare in tempo praticamente reale gli allarmi (che comunque capitano raramente) provenienti dalle stazioni di controllo dei depuratori e, ciclicamente, ad intervalli di circa 15-20 minuti, interroghi le stazioni per l’acquisizione dei dati di processo. Gli allarmi (insieme alla data/ora di rilevamento) e i dati rilevati saranno memorizzati su supporto di massa. Il centro di supervisione giornalmente invierà sul sito web www.valnera.it gli allarmi verificatisi e i valori massimi, minimi e medi dei dati (*) delle quattro stazioni di controllo. (*) Ogni stazione fornirà le seguenti informazioni: DATI (ogni dato in formato di 32 bit) Misura di portata Misura PH Misura Cloro Misura Ossigeno ALLARMI (ogni allarme codificato in formato di 8 bit) Mancanza Rete elettrica Allarme Gasomentro Allarme Compressore Ossigeno RICHIESTE SPECIFICHE Fatte le necessarie ipotesi, lo studente: [SISTEMI] A. disegni lo schema a blocchi della rete , specificando i dispositivi usati, le distanze e le velocità in gioco, le normative usate, motivandone le scelte B. Individui un protocollo di comunicazione di livello 2 . Ne disegni la trama specificando i campi usati e relative lunghezze in byte, disegni un diagramma temporale di una Apertura, Mantenimento, e Chiusura di una procedura di interrogazione da parte del centro a una stazione periferica, che risponde con una trama di dati. [INFORMATICA]: C. Formuli ipotesi dettagliate circa il formato F1 delle informazioni trasmesse dal centro supervisione al sito, il formato dei dati nel DB del sito (cioè il formato delle informazioni memorizzate, non necessariamente coincidente con F1) e la funzione che ogni categoria di informazioni ha nel sito-destinazione (informativo, di controllo, visibile al pubblico, riservato ecc.) D. Progetti il DB e il sito web www.valnera.it che ha il compito di immagazzinare le informazioni ricevute per renderle pubbliche e inoltre visualizzare, su richiesta, l’allarme che si è verificato più spesso per ogni mese dell’anno corrente. E. Scriva il codice relativo alle pagine web necessarie a implementare nei linguaggi più opportuni la statistica sugli allarmi e almeno un’altra funzione, (quella che si ritiene più significativa). N.2 Gestione del bagno “Ariel” di Miramare Il bagno “Ariel” di Miramare sulla costa Adriatica vuole proporre, oltre ai classici servizi di ombrellone/sdraio, una serie di servizi per una vacanza all’insegna del rilassamento e del divertimento. Ogni ombrellone è dotato di un PC palmare che ha la possibilità di collegarsi alla rete locale privata del bagno e a Internet. I servizi potrebbero essere (alcuni prevedono la registrazione): Visualizzazione sito informativo del bagno con temp.acqua, attività del giorno,… Gestione prenotazione sdraio,ompbrelloni, pedalo’ … Prenotazione bar,tavola fredda… Iscrizione attività, corsi e giochi nell’acqua e sulla spiaggia Servizio di chat e forum N.3 Gestione remota di sale aperte al pubblico La società di telecontrollo “Canucme” deve controllare dalla postazione centralizzata situata a Milano due sedi separate poste rispettivamente a Brescia e Varese. In ogni sede deve prevedere Sensori per il controllo di umidità,fumo,temperature etc con relativa gestione degli attuatori Sorveglianza per intrusioni/porte di servizio etc Possibilità di controllo remoto e locale Possibilità di espansione in altri ambienti limitrofi N.4 La fondazione MCI La fondazione MCI (Medical Center Italia), all’avanguardia nel campo medico specialistico, ha una sede principale a Milano e tre sedi distaccate a Genova, Bologna e Perugia. La sede centrale è costituita da due edifici (edificio A e edificio B) indipendenti, ma comunicanti tra loro tramite un tunnel sotterraneo. L’edificio A è su tre piani così organizzati: piano terreno reception (con 2 postazioni ) sala conferenze con sistema WiFi area che ospita il sistema informatico: server per la gestione del DataBase Ricoveri, DataBase personale dipendente, controllo degli accessi. primo piano (ospita gli uffici del personale del sistema informatico): 2 uffici, ciascuno con quattro postazioni, interessati all’ area applicativa (gestione personale, gestione ricoveri, gestione contabilità, gestione rapporti con l’esterno e marketing) secondo piano (direzione generale e amministrativa) uno spazio aperto con dieci postazioni una segreteria con 4 postazioni un ufficio per la Dirigenza con 2 postazioni L’edificio B è su un unico piano così organizzato: degenza (20 camere da due letti) con la possibilità di accedere a un sistema Wi-Fi sala medici (3 postazioni per lettura/aggiornamento dati ricoveri, protocolli di cura, dimissioni,….) sala infermieri (2 postazioni lettura/aggiornamento piani di cura,….) Le sedi distaccate sono costituite ciascuna da un edificio strutturato come il palazzo B di Milano con un ufficio in più per il direttore di sede. Le tre sedi devono poter accedere alla Intranet per disporre dei dati nella sede di Milano. Tutte le postazioni delle sedi hanno l’accesso a Intranet e a Internet. Con riferimento al problema proposto, formulate le ipotesi aggiuntive ritenute necessarie, si richiede al candidato: definire il numero di stazioni dislocate in ciascuna area, stabilendo l’utilizzo di PC, stampanti, Server,…. disegnare sinteticamente l’intera rete (locale e geografica) comprendente la sede centrale e quelle periferiche evidenziando gli apparati di interconnessione e dotando il disegno di una “legenda” Per la sola sede centrale di Milano: le velocità dell’ADSL usata per la connessione a Internet disegnare e descrivere cablaggio strutturato, topologia, apparati di rete, distanze, mezzi trasmessivi, eventuale uso di Virtual Lan etc., facendo riferimento ai livelli OSI coinvolti e alle normative, motivando le scelte fatte In particolare: si supponga che il router utilizzato a Milano per l’accesso alla Internet sia dotato di un indirizzo privato 192.168.0.1 e di un indirizzo pubblico 62.11.4.101 e che un utente abilitato, chieda una pagina Web ad un server con indirizzo 128.119.46.186. Spiegare nel dettaglio il funzionamento del Nat Con riferimento al problema della sicurezza esporre nel dettaglio in che modo può operare un firewall esporre nel dettaglio il concetto e le caratteristiche di VPN e i vantaggi N.5 Torre Pennuta Torre Pennuta è un comune dell’Italia meridionale situato in una piccola rada dove attraccano pescherecci che, attingendo a un mare bello e pescoso, riforniscono i ristoranti tipici locali. Prende il nome da una torre cinquecentesca, antica vedetta contro lo sbarco di Turchi, oggi simbolo della città. La comprensibile attenzione rivolta dai predoni a regioni abbastanza ricche di questa zona, determinò in ogni epoca l’esigenza di difesa sia contro i pericoli provenienti dal mare, sia contro le scorrerie interne. Nel piano provinciale è prevista la ristrutturazione della torre, tutelata dal Ministero dei Beni Culturali, come sede della biblioteca, per offrire ai turisti un servizio biblioteca/intrattenimento culturale riguardante anche le attrattive naturalistiche della zona. Al salone situato al piano rialzato della torre, si accede tramite una scalinata esterna. Tale salone sarà diviso in due zone separate da un pannello mobile: la reception e la sala lettura. Nella reception il personale può dare informazioni, registrare le iscrizioni degli utenti, attuare prestiti e resi. (In fase di check in, viene rilasciato a mezzo stampante, uno “scontrino” con user id e password, per l’accesso libero ad Internet). La sala lettura sarà a disposizione degli utenti, che tramite personal computer, potranno consultare gli archivi presenti nel server locale Il piano seminterrato sarà utilizzato come sala multimediale, per la visione di filmati inerenti il patrimonio storico-naturalistico della zona. Tali filmati sono conservati nel server locale e visualizzati su PC. Al piano superiore, che nel periodo estivo si apre sulla terrazza vista mare, sarà messo a disposizione degli utenti un punto di accesso ad Internet, al quale potranno collegarsi gli utenti dotati di computer wi-fi e autorizzati dalla reception Da ogni postazione deve essere possibile accedere a Internet, previa autorizzazione attivata all’atto dell’iscrizione alla biblioteca. Tramite Internet è anche possibile accedere al sito bibliotecario provinciale che offre un servizio FTP anonimo, per il reperimento di documenti, articoli, ecc… richiedere informazioni sulle manifestazioni organizzate dalla provincia, utilizzando un apposito modulo inviare posta elettronica per segnalazioni e richieste particolari Si stima che, in media, giornalmente 30 persone usufruiscono del servizio di consultazione e 5 persone usufruiscono del servizio video. 10 persone sfruttano wi-fi. SISTEMI Con riferimento al problema proposto, formulate le ipotesi aggiuntive ritenute necessarie, si richiede al candidato: definire il numero di stazioni dislocate in ciascuna area, stabilendo l’utilizzo di PC, stampanti, Server. disegnare e descrivere l’architettura di rete, topologia, dispositivi di connessione, le distanze, i mezzi trasmessivi facendo riferimento ai livelli OSI coinvolti motivando le scelte le velocità dell’ADSL usata per la connessione a Internet e il protocollo di livello2 utilizzato spiegato nei dettagli descrivere nel dettaglio un protocollo, a scelta, relativo ai servizi descritti ai punti a) , b), c) INFORMATICA La biblioteca sarà fornita di un database (su server locale) per la gestione dei dati inerenti i libri presenti nella biblioteca stessa e in altre biblioteche dei comuni limitrofi. Si suppone che ogni libro possa essere disponibile in una o più copie, presso una o più biblioteche. Con riferimento al problema proposto, formulate le ipotesi aggiuntive ritenute necessarie, si richiede al candidato: Progettazione di una semplice applicazione ASP che permetta di visualizzare gli iscritti di un determinato comune, alla biblioteca (numero tessera, nome, cognome). 2.a disegno e descrizione sintetica delle pagine Web coinvolte 2.b codice per la definizione delle pagine 2.c nome completo dei file I turisti neglistabilimenti balneari di Cervia (e Milano Marittima, Tagliata e Pinarella) possono navigare on-line mentre sono sdraiati in spiaggia. Tutto grazie ad una cinquantina di hot spot (circa uno per ogni tre bagni) collegati alla rete a fibra ottica posata da Acantho. Per collegare la rete alle dorsali sono stati utilizzati i dotti dell’illuminazione pubblica, grazie alla collaborazione del Comune. È garantita una banda di 100 Mb/s per hot spot. Per l’estate 2011, gli stabilimenti balneari di Milano Marittima saranno collegati alla rete attraverso una trentina di hot spot installati e un ponte radio ad alta capacità. Già quest’autunno però partiranno i lavori per la posa dei cavi in fibra ottica anche nella località che quindi, dal 2012, potrà avere della stessa velocità di connessione di Cervia. Con il sistema Galileo ogni utente sarà assegnato un codice d’accesso. Una volta acceso il dispositivo (pc, tablet o smartphone) basterà selezionare la connessione Galileo, che apparirà automaticamente fra quelle disponibili, per poi iniziare a navigare. Esami di stato Ipotesi di soluzione (remixato da Corriere della Sera , 2008) La traccia integra richieste che possono essere ricondotte a due tipi di prove, informatica sistemi. Viene richiesto il progetto di una rete che colleghi dieci punti vendita alla sede centrale di una catena di supermercati. I singoli punti devono poter accedere ad un data base centralizzato. Allo stesso, ma solo per alcune funzioni,devono poter accedere i clienti, direttamente dal web. Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete. La prima presuppone la disponibilità di linee dedicate veloci tra i vari edifici della catena ed una connessione pubblica solo attraverso la sede centrale. L’ipotesi alternativa è quella che vede tutti i punti vendita e la sede centrale collegati tramite Internet. Cominciamo ad organizzare la rete della sede centrale. Dalla traccia si apprende che è composta da due uffici e due magazzini. Non sono indicate le postazioni utente né le dimensioni delle aree interessate. Ipotizziamo pertanto che gli uffici ed i magazzini siano contigui e compresi in un’unica struttura. Come ulteriore semplificazione, del resto realistica, ipotizziamo che il tutto occupi una superficie non superiore ai 1000 m2 . Supponiamo inoltre che l’edificio disponga di un punto d’accesso ad una linea digitale a banda larga, con borchia d’accesso in apposito locale. Considerato che le distanze delle postazioni non superano i 100m (ulteriore ipotesi), si potranno usare cavi UTP di categoria 5 con connessioni Ethernet a 100 Mbps. Per il collegamento del server si potrà usare una porta dedicata del router Del tipo Gb Ethernet. La scelta del collegamento del server ad una specifica porta torna utile anche per questioni di sicurezza e protezione. I computer degli uffici e quelli del magazzino saranno collegati ad un unico switch, dimensionato per una ridondanza di almeno il 30%. Un patch panel consentirà le connessioni dinamiche dei vari host.. E’ importante che il cablaggio preveda una ridondanza per future espansioni di almeno il 30%. Lo stanzino di permutazione può essere organizzato con armadi o con rack a vista L’ambiente ospite, o l’armadio , deve rispettare le norme di sicurezza, garantendo umidità e temperatura entro i limiti di 50% e 21 oC. Anche il server, conviene venga messo nello stanzino delle apparecchiature. Organizzazione logica delle reti. • Reti interne • SERVER WEB • I vari host saranno • 192.168.1.0 • 192.168.7. 3 • 192.168.3.0 • 192.168.2.0 • 193. 168.1.4 indirizzo visto dall’esterno associato da RP con NAT • 192.168.4.0 • Il server web col database dovrà essere visto dall’esterno con NAT • 192.168.7.0 • 192.168.3.0 • 192.168.4.0 • 192.168.5.0 • 192.168.7.0 • • • 192.168.5.0 • il gatway sia: 193.168.1.1 • Configurazione: • Avranno indirizzi in DHCP e come gateway il router INFORMATICA – PROGETTO ABACUS 2010 Tema di : SISTEMI DI ELABORAZIONE E TRASMISSIONE DELLE INFORMAZIONI Traccia ministeriale I recenti eventi sismici e le conseguenze catastrofiche spingono gli Enti e le Amministrazioni Locali alla ricerca di ulteriori soluzioni in grado di diffondere nel modo più rapido possibile le informazioni raccolte dai vari punti di rilevamento (PR) presenti sul territorio. Ciascun punto di rilevamento acquisisce i segnali provenienti dalle centraline provviste di sismografi, li elabora, li converte in formato digitale e li invia al centro elaborazione dati della Protezione Civile. In particolare La rilevazione è continua, ad intervalli di 1 minuto, per tutti i giorni dell’anno Il segnale digitalizzato (onda sismica in scala Richter) viene integrato con le seguenti informazioni: identificativo della centralina (dal quale sarà possibile risalire al luogo di rilevazione), identificativo del sismografo, data e ora Il sistema informativo centrale acquisisce e memorizza, ogni 5 minuti, i dati relativi da tutte le centraline dislocate sull’intero territorio, quindi invia sulle Protezione Civile i rapporti sulla valutazione di rischio di sisma nelle diverse regioni monitorate ed eventuali messaggi di allerta . Il candidato, fatte le opportune ipotesi aggiuntive, 1. analizzi il problema e proponga uno schema generale del sistema 2. scelga la tipologia di rete che ritiene più idonea, ne indichi le sue caratteristiche e progetti in dettaglio alcune sue parti 3. analizzi e progetti uno schema concettuale e il corrispondente schema logico del data base della sede centrale 4. proponga una soluzione per la gestione via web dell’interfaccia con i punti di rilevazione Commento alla (Corriere della Sera 2010, Antonio Garavaglia, Domenico Capezzuto -Itis Lagrange – Milano) traccia Il tema proposto illustra una situazione piuttosto complessa in cui si deve progettare ed implementare una rete geografica, che fa riferimento ad un unico nodo centrale, nel quale occorre far convergere tutti i dati (Centro di Elaborazione o CED). In particolare, il punto 4 della traccia mette in evidenza che la connessione tra il nodo centrale e i vari punti periferici deve essere garantita via web, cioè sfruttando le caratteristiche della rete Internet. Senza entrare nel merito di questa scelta, che in caso di sisma di forte intensità non è detto che consenta di garantire tempi rapidi di connessione, cerchiamo di analizzare gli aspetti più salienti del problema. Tempo di campionamento Tra le ipotesi indicate nella traccia viene detto che le rilevazioni vengono effettuate ad intervalli di un minuto. Sorge quindi il problema di definire, per quanto riguarda la digitalizzazione dell’onda sismica, il tempo di campionamento, in modo da avere a disposizione elementi sufficienti per definire la posizione del picco sismico anche nei casi di durata molto limitata. Stando a quando viene normalmente fornito dai programmi televisivi e dagli articoli a grande diffusione possiamo pensare che un campionamento dell’onda analogica riportato al secondo sia sufficiente. Di conseguenza, per ogni rilevamento (1 minuto) l’onda potrà essere definita tramite un insieme di 60 dati digitalizzati che ben rappresentano l’ampiezza della scossa. Inoltre, a nostro avviso, non è da trascurare la possibilità di fornire un servizio aggiuntivo che consenta alla Protezione Civile, in caso di emergenza, di collegarsi direttamente con il Centro di Elaborazione, per ottenere in tempo reale i valori relativi ad una particolare zona colpita da un evento sismico con rischio per la popolazione. A questo punto lo sviluppo della soluzione può proseguire su strade diversificate, in base a ciò che si è sviluppato in classe nel corso dell’anno, privilegiando alcuni aspetti tecnici rispetto ad altri. Di conseguenza abbiamo dovuto fare alcune scelte di campo in base alla nostra personale esperienza nelle classi ed è possibile che la soluzione da noi proposta possa sembrare troppo dettagliata in alcune parti e carente in altre. Ferma restando la validità della soluzione dal punto di vista generale, la nostra proposta non toglie validità a soluzioni alternative che colleghi e studenti con esperienze didattiche diverse hanno potuto sviluppare nel dettaglio. Punto 1 - schema generale del sistema Da un punto di vista generale il problema può essere risolto ipotizzando un sistema di connessioni via web che consenta ad ogni punto di rilevazione di trasmettere i dati al Centro di Elaborazione sfruttando le caratteristiche di Internet e un’ applicazione di rete in grado di garantire la connessione e la trasmissione in modo del tutto trasparente rispetto all’utente umano del sistema (vedi punto 2) Per quanto riguarda invece la comunicazione tra la Protezione Civile e il Centro di Elaborazione si può proporre una pagina web interattiva che consenta all’utente della Protezione Civile di connettersi al data base remoto per effettuare interrogazioni. Ovviamente sarà necessario, in questo caso, provvedere ad istituire opportuni controlli sull’accesso, in modo da garantire la sicurezza e la riservatezza dei dati. Per quanto riguarda l’acquisizione dei dati dai rilevatori fisici, invece, possiamo supporre che gli aspetti relativi alla conversione dei dati dal formato analogico a quello digitale siano a carico del sistema di acquisizione, la cui progettazione esula dalla presente trattazione. Un ultimo aspetto che vogliamo sottolineare è quello relativo alla congruenza e alla gestione dei dati. E’ evidente che, se si suppone l’esistenza di un elevato numero di sismografi in funzione, il numero dei dati da memorizzare anche per periodi relativamente brevi risulta piuttosto grande. Di conseguenza, appare indispensabile prevedere la presenza di un software apposito che, a periodi piuttosto brevi, provveda a scaricare i dati presenti nel data base in un archivio storico da tenere a disposizione, liberando lo spazio su disco per la memorizzazione dei dati relativi a nuove registrazioni. Punto 2 - la tipologia di rete Un primo esame della situazione proposta dalla traccia porta ad una schematizzazione della rete complessiva attraverso tre tipologie di realtà, connesse tramite Internet: Punti di rilevamento Centro di Elaborazione dati Sede della Protezione Civile Data l’estensione territoriale della rete non è pensabile l’utilizzo di reti dedicate e di conseguenza gli accessi saranno garantiti via Internet da Provider /Portali. Analizzando poi le singole realtà, possiamo fare considerazioni più specifiche, sia per quanto riguarda il software, che per quanto riguarda l’hardware. Sistema relativo al Punto di Rilevamento. La traccia non indica quanti siano, ma certamente saranno molto numerosi. La loro organizzazione prevede la connessione ad una serie di centraline, di cui la traccia non specifica numero e soprattutto distanze. Ipotizzando che si tratti di zone comprese entro poche centinaia di metri, considerato anche la natura eterogenea dei luoghi monitorati e la velocità relativamente bassa richiesta da questo tipo di trasferimento locale, l’ideale potrebbe essere una rete magliata Wi-fi, realizzata con moduli ZigBee, nella fascia 2.4 GHz, che consente traffici fino a 250Kbps: Il router rappresentato è un semplice router per Internet, cui verrà assegnato dinamicamente l’indirizzo dal provider: non è necessario che abbia un indirizzo pubblico fisso. Sempre sul computer del PR girerà un’applicazione, in ambiente di rete, per creare e gestire la connessione al Server del CED. Una possibile soluzione potrebbe avvalersi delle connessioni mediante Socket, messe a disposizione ormai dalla maggior parte dei sistemi. Per quanto attiene la configurazione del computer, sarà necessario: Indirizzo IP, privato, del tipo 192.168.4.20 Gateway: sarà l’indirizzo della porta del router cui è collegato, quindi appartenente alla stessa rete. Presumibilmente l’indirizzo sarà: 192.168.4.1 DNS. Si hanno due possibilità: o Lo stesso indirizzo del Gateway o L’indirizzo DNS del Provider. Per quanto riguarda il router, la configurazione risulta abbastanza semplice: sarà sufficiente dare alla sua porta “interna” l’indirizzo privato prestabilito, 192.168.4.1, ed indicare come DNS e gateway gli indirizzi forniti dal provider. Rete del Centro di Elaborazione Riteniamo interessante dedicare più attenzione a questa rete, anche in relazione alla richiesta del punto 2 della traccia. Si tratta di una rete complessa, che deve ospitare data base e sito web, con ovvi problemi di controllo d’accesso. La scelta più idonea appare quella di una rete client-server, associata ad un dominio. Possiamo ipotizzare la presenza di diversi tipi di server, come rappresentato nella figura. Trattandosi di una rete client-server, occorre prevedere la presenza di un controllore di dominio, ed un server DNS. Queste due funzioni possono anche essere associate ad una stessa macchina, considerato che le attività del DNS, saranno molto limitate, vista l’entità della rete. Diverso è il discorso per il DB Server ed il WEB Server. In questo caso conviene collegarli, tramite un router, ad una porta specifica, creando una rete dedicata, in modo da poter meglio gestire il controllo d’accesso. In questo modo, nell’ambiente CED, ci saranno due reti (potrebbero essere anche sottoreti) con indirizzi privati distinti, dichiarati al router in fase di configurazione dell’instradamento: ipotizziamo siano, 192.168.5.0 e 192.168.4.0. I due server potrebbero avere indirizzi interni 192.168.5.4 e 192.168.5.5. Sarà particolare cura del progettista programmare il router perché su tali indirizzi effettui il NAT statico, con due indirizzi pubblici, appositamente registrati. Ovviamente, tali indirizzi pubblici dovranno appartenere alla stessa rete da cui viene ottenuto l’indirizzo della porta seriale del router. Se tale indirizzo fosse 193.20.5.4, i server poterebbero, ad esempio, essere mascherati con 193.20.5.5 e 193.20.5.6. Di questi indirizzi bisognerà tener conto anche nello sviluppo del software per l’organizazzione del data base e per la connessione via socket con i PR. In particolare, il server che riceve i dati dalle stazioni remote, dovrà condividere con loro la stessa porta, per realizzare un corretto BINDING. Ricordiamo anche che, nella realizzazione dell’applicazione di rete con i Socket, bisognerà indicare un congruo numero di connessioni da accettare nella configurazione delle modalità di ascolto, dato l’elevato numero di PR con i quali scambiare dati. Abbiamo già accennato al fatto che al router fanno riferimento tre reti distinte (le due interne e quella di cnnessione ad Internet): si dovrà tener conto di ciò assegnando gli indirizzi alle sue porte, che dovranno essere congruenti. Il NAT, come si è detto, sarà statico per i server e con overload per tutte le altre macchine interne che dovessero andare su Internet. Particolare attenzione alla protezione dei server pubblici è richiesta nella definizone delle ACCES LIST. Vista la specificità degli accessi, converrà usare delle ACL ESTESE, con indicazione del protocollo e delle porte coinvolte. Per risolvere i problemi di instradamento si può usare, sempre in fase di configurazione del router, il protocollo RIP, che, per quanto più lento di altri, risulta snello nella gestione. Si tratta di dichiarare le reti collegate ed indicare le rotte statiche per Internet e per i due server mascherati. Sulle singole macchine, l’assegnazione degli indirizzi dovrà essere congruente con le reti di appartenenza. Come Gateway si dovrà indicare la porta del router cui è collegata la rete di appartenenza. Come DNS si hanno più scelte: il server della rete client-server locale, il server DNS del provider, l’indirizzo della porta del router cui è collegata la rete di appartenenza. In definitiva, uno schema complessivo della rete potrebbe essere quello ripotato nella figura. Rete della sede della Protezione Civile Per l’hardware valgono considerazioni analoghe a quelle fatte per la rete del PR, considerato che non sono previsti accessi esterni. Per quanto riguarda il software, invece, considerando anche le indicazioni del punto 4) della traccia, è pensabile che ogni macchina debba potersi collegare via web ai server del CED, per accedere al data base, tramite pagine dinamiche. Di questo si parlerà nel paragrafo specifico. Punto 3 – database della sede centrale Dato che la traccia richiede di registrare i dati in modo da poter risalire in modo sintetico al luogo del sismografo, della centralina e del punto di rilevazione, possiamo definire per il data base il seguente modello concettuale: Esplicitando gli attributi di ogni entità otteniamo il seguente schema logico, in cui gli elementi che formato la chiave primaria risultano sottolineati: Rilevazione Codice sismografo (chiave esterna) Data Ora Dati digatilizzati (array di 60 elementi)- nel caso in cui i dati non siano stati trasmessi al Punto di Rilevazione i 60 campi saranno vuoti Sismografo Codice sismografo Località …… altri dati identificativi del punto di rilevamento Codice centralina (chiave esterna) Centralina Codice centralina Località Codice PR (chiave esterna) Punto di rilevazione Codice PR Località Punto 4 - gestione via web dell’interfaccia con i punti di rilevazione Come abbiamo detto precedentemente è logico ipotizzare che la Protezione Civile, oltre a ricevere dal Centro Elaborazione dati i rapporti sulla valutazione di rischio nelle varie regioni, possa avere accesso diretto ai dati monitorati, al fine di compiere indagini statistiche sulla fenomenologia sismica, per permettere, ad esempio, ai sismologi di sviluppare e verificare sperimentalmente modelli previsionali di simulazione. Per consentire tale accesso, proponiamo di implementare il database con il DBMS MySQL, un software open source semplice, multipiattaforma, adatto ad accessi web, in quanto dotato di un modulo di integrazione con linguaggi di scripting. Tale database deve essere disponibile su un server online gestito da un ambiente quale IIS o Apache, dotato anche di uno strumento specifico per la grafica, come DreamWeaver, e un linguaggio di programmazione, quale, ad esempio, PHP, che consente di arricchire le pagine web con script eseguibili direttamente sul server. In particolare, PHP consente di implementare un motore di scripting server side molto diffuso e multipiattaforma con un buon supporto alla connettivita', attraverso componenti standard. Ovviamente, per potere utilizzare PHP è necessario aver installato sul proprio sistema un Web Server. Lo script PHP (versione 5) che permette alla Protezione Civile di visualizzare via web i dati sismici monitorati potrebbe essere il seguente: <html> <head> <title> Accesso al database terremoti </title> </head> <body> <?php $host = 'localhost'; //ipotizzando di accedere ad un server locale. $database = 'terremoti'; $db = mysql_connect($host) or die (“Impossibile connettersi al server $host”); mysql_select_db($database, $db) or die (“Impossibile connettersi al database $database”); $query = “select ……..”; //inserire il testo SQL della query desiderata $dbResult = mysql_query($query, $db); print “<table border=\”1\”>\n”; while ($line = mysql_fetch_array($dbResult, MYSQL_NUM)) { print “\t<tr>\n”; foreach ($line as $col_value) { print “\t\t<td>$col_value</td>\n”; } print “\t<tr>\n”; } print “</table>\n”; mysql_free_result($dbResult); mysql_close($db); ?> </body> </html> Nello script, abbiamo utilizzato la funzione che riceve come parametro il nome dell'host $db = mysql_connect($host) per effettuare il collegamento con un host su cui gira un'istanza di MySQL: nel nostro caso specifico potrà essere indicato direttamente l’indirizzo IP del server di DB. Questa funzione restituisce un oggetto che rappresenta integralmente il nostro host e con il quale è possibile utilizzare la funzione mysql_select_db($database, $db) per selezionare l'istanza corretta del data base (essenziale in quanto l'istanza del data base server può contenere più di un data base). Dopo aver selezionato il data base, è possibile effettuare qualsiasi query tramite le funzione $dbResult = mysql_query($query, $db); A questo punto l'oggetto $dbResult contiene il risultato della query. Al termine dell'esecuzione è necessario utilizzare la funzione mysql_close($db) per rilasciare la connessione al data base e permettere eventualmente ad un altro client di utilizzarla. Per garantire un accesso riservato ai dati raccolti dal Centro Elaborazione è necessario predisporre a monte una pagina di autenticazione degli utenti registrati (Protezione Civile ed eventuali altri enti preposti alla visione dei dati), attraverso la quale, tramite un form html, l’utente introdurra' il proprio username e la propria password, che saranno validati lato server (ad esempio da uno script di autenticazione PHP). Se la validazione ha successo, verrà chiamata la funzione mysql_connect con i valori di utente e password previsti per l'accesso di utenti registrati $db = mysql_connect($host, $user, $password) or die (“Impossibile connettersi al server $host”); Per garantire un discreto margine di sicurezza, sarebbe opportuno far sì che le informazioni riservate, come ad esempio le password, non compaiano nel sorgente html della pagina, e che inoltre, tramite opportuni meccanismi, viaggino criptate attraverso la rete. Sessione ordinaria 2011 Seconda prova scritta Ministero dell’Istruzione dell’Università e della Ricerca M070 – ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Indirizzo: INFORMATICA Il Ministero dell’Ambiente commissiona lo sviluppo di un nuovo Sistema Informativo per censire la fauna e la flora presenti nei vari parchi naturali di ciascuna regione. Le informazioni della fauna da raccogliere riguardano l’ordine di appartenenza (mammiferi, rettili, uccelli, etc…), la specie (scoiattolo, volpe, orso, vipera, falco, aquila, etc…), il numero di esemplari adulti e cuccioli (con distinzione maschio, femmina), lo stato di salute di ogni esemplare. La flora viene distinta in alberi (quercia, faggio, acacia, etc…), arbusti (lavanda, rosmarino, rododendro, etc…) e piante erbacee (fragola di bosco, margherita, primula, etc…) ed è necessario catalogarle memorizzandone anche la stagione di fioritura e altre caratteristiche peculiari. In ciascun parco, un responsabile (guardia parco) raccoglie le informazioni attraverso un software installato sul notebook in dotazione; il programma, dopo avere acquisito i dati dalle maschere diimmissione, li memorizza in un database. Ciascuna regione, dotata del nuovo Sistema Informativo, deve provvedere alla gestione della raccolta dati dei propri parchi ai fini di produrre ed inviare al Ministero dell’Ambiente dei report periodici. Il candidato, formulate le opportune ipotesi aggiuntive, realizzi: - Una analisi della realtà di riferimento, completa dello schema funzionale dell’architettura proposta, evidenziandone le principali componenti e la tecnologia utilizzata per la trasmissione delle informazioni. - Uno schema concettuale ed uno schema logico del data base. - La definizione delle relazioni e le seguenti interrogazioni espresse in linguaggio SQL: 1) Visualizzare l’elenco di tutti gli esemplari di fauna, suddivisi per specie, presenti nei vari parchi. 2) Visualizzare tutti gli esemplari a rischio di estinzione. 3) Calcolare e visualizzare il numero di nascite di un certo esemplare nell’arco di un anno di monitoraggio. 4) Calcolare e visualizzare il numero totale di diverse specie di arbusti presenti nei vari parchi della regione. 5) Visualizzare quante specie diverse di pino sono presenti in ciascun parco. 6) Calcolare il numero medio dei cuccioli di ciascuna specie presenti in tutti i parchi della regione. 7) Visualizzare l’esemplare più anziano di ogni specie presente in un determinato parco. - La codifica in un linguaggio di programmazione a scelta di un segmento significativo del progetto realizzato. _________________ Durata massima della prova: 8 ore. È consentito soltanto l'uso di manuali tecnici e di calcolatrici non programmabili. Non è consentito lasciare l’Istituto prima che siano trascorse 3 ore dalla dettatura del tema. SOLUZIONE La traccia propone una situazione di connessione client server gestibile via Internet con accorgimenti semplici. Sono identificabili tre ambiti, che chiameremo macro nodi. Un nodo è rappresentato dalla postazione del parco: la realtà più semplice. Un altro nodo, più complesso, è rappresentato dalla sede di raccordo regionale, collettore di dati e instradatore verso il server nazionale. Terzo nodo è il centro nazionale, verso il quale convergono i vari nodi regionali. In definitiva avremo tanti parchi connessi ai vari centri regionali. Questi ultimi, saranno connessi all’unico centro nazionale. Consideriamo la postazione locale (Notebook) Considerando il tipo di apparecchiatura, destinata ad un uso anche itinerante, e tenendo poi conto che è ormai consuetudine dotare questo tipo di computer di connessioni wi-fi, ipotizziamo di avvalerci di tale tipo di connessione. L’accesso alla rete locale dovrebbe quindi avvenire con un access point, lasciando quello ad Internet alle funzionalità di un router di classe entry level, definito “router di Internet”. Nell’organizzazione logica della rete, il ruolo di questa postazione locale è tipicamente client. Sede regionale, Sede nazionale, Singolo parco, Internet Da ciò derivano alcune considerazioni: o L’accesso ad Internet può essere effettuato tramite provider. o Non occorre registrare il Notebook con un indirizzo pubblico. o L’accesso tramite configurazione DHCP è sufficiente. o Il computer remoto, che chiameremo Server, dovrà certamente appartenere ad un dominio, nell’ambito del quale dovrà essere previsto un account per il client. o L’account implica la predisposizione di user name e PW. Passiamo ai centri remoti. Da un punto di vista strutturale, ma anche funzionale, le due realtà sono equivalenti, mentre varia la complessità dei ruoli. Esploriamo le caratteristiche del nodo regionale. Il centro dovrà avere alcune caratteristiche strettamente legate al ruolo. Tralasciando considerazioni sulla struttura della macchina server , preferiamo soffermarci sulla infrastruttura di rete. Certamente si tratterà di una rete più complessa di quella del Notebook. Potremo pensare ad un’unica struttura a stella con sezionamento asimmetrico, per riservare porte veloci dello Switch ai Servers ed al router. Quest’ultimo non dovrebbe essere un entry level. Certamente la complessità di questo componente è vincolante, e va a favore di due aspetti non trascurabili: la gestibilità della rete e la sua sicurezza. Passando all’organizzazione dell’infrastruttura, preferiamo parlare in termini di ruoli, piuttosto che di macchine. Occorrerà un server di account, un server web e un server di DB. . Queste tre funzioni potrebbero sommarsi su una stessa macchina. Prevedere poi un server di backup potrebbe essere una buona ed auspicabile scelta. In termini di organizzazione logica della rete nella sede regionale, dobbiamo pensare ad indirizzi pubblici per la porta del router verso Internet e per i server, per questioni di raggiungibilità e visibilità La velocità della connessione deve essere un multiplo di quella con la quale i clients accedono. Analoghe considerazioni valgono per il centro nazionale. Per entrambe le realtà sono prevedibili anche postazioni di lavoro che trascuriamo. Nodale è, come già si diceva, il ruolo dei routers. Spetta a loro, con regole d’accesso e operazioni di NAT e PAT ( che non approfondiamo considerando la tipologia della prova), proteggere rendendo però visibili, i vari servers. Considerazioni sul sw da predisporre sulle macchine. Sul Server abbiamo due possibili scelte: Window e Linux. Dovendosi condividere un DB, considerando la connessione remota via WEB, si può optare per la seconda alternativa. Affidando alla duttilità di Apache il ruolo di ospite dell’ambiente web. Rinviamo il discorso sul DBMS paragrafi successivi di questa soluzione. Alcune considerazioni sulla sicurezza. Dato che il database non prevede l’utilizzo di dati particolarmente sensibili e non interagisce con strutture più complesse possiamo evitare di prendere in considerazione strategie particolari che vadano oltre l’uso di Userid e Password. Ipotesi aggiuntive Dopo un’attenta lettura dellla traccia appare sensato optare per una soluzione che preveda la presenza di un database locale installato con il software su ciascun notebook in dotazione ai responsabili dei vari parchi, la cui struttura verrà repplicata sul database centrale presente sul server della Regione. Per rendere tra loro compatibili le tabelle dei due database sarà sufficiente prevedere nelle tabelle degli esemplari della fauna e della flora un campo Parco che, in ambiente regionale, servirà per individuare i dati di ciascun parco, e in ambiente locale verrà presentato in automatico dal software nelle varie maschere di acquisizione dati. Le entità fondamentali che emergono dalle richieste della traccia sono ESEMPLARE ANIMALE e ESEMPLARE VEGETALE. Nulla vieterebbe di realizzare il database utilizzando solo queste. Per evitare inutili duplicazioni, però, risulta conveniente prevedere a monte di esse le seguenti entità: SPECIE ANIMALE TIPOLOGIA VEGETALE, ORDINE ANIMALE Lo schema E/R del database risulta quindi essere il seguente: Tutte le relazioni esistenti tra le varie entità sono di tipo 1:n e quindi sono facilmente implementabili con qualsiasi tipo di DBMS. Ordine Specie Esemplare animale Tipologia Esemplare vegetale Da un punto di vista logico le entità individuate danno origine alle seguenti tabelle: Ordine Codice (chiave primaria) Denominazione Specie Cod (chiave primaria) Ordine di appartenenza (chiave esterna) Nome Esemplare animale Parco (parte della chiave primaria) Nome (parte della chiave primaria) Specie di appartenenza (chiave esterna) Numero individui adulti femmine Numero individui adulti maschi Numero cuccioli femmine Numero cuccioli maschi Livello di salute (1-10) Rischio di estinzione (1-10) Anno del primo avvistamento Tipologia Codice tipo (chiave primaria) Nome tipo Esemplare vegetale Parco (parte della chiave primaria) Nome pianta (parte della chiave primaria) Tipo di appartenenza (chiave esterna) Stagione di fioritura Note varie Nella scelta degli attributi da associare ad ogni entità abbiamo fatto le seguenti ipotesi aggiuntive che sembrano essere in accordo con la logica seguita dall’estensore della traccia: o Con il temine esemplare si fa riferimento non al singolo individuo ma a tutti gli individui appartenenti a una sottospecie omogenea (vedi query numero 3) o Con il temine cucciolo si intende l’animale nato nell’ultimo anno di osservazione (qualora si volesse dettagliare maggiormente la situazione, si potrebbe prevedere un’ulteriore entità INDIVIDUO per la quale verrebbe registrata anche la data di nascita. Nel caso di animali allo stato libero sembra poco probabile che l’osservazione venga svolta in modo così capillare) o Il rischio di estinzione e lo stato di salute di un esemplare o sottospecie viene valutato direttamente dal responsabile del parco sulla base di osservazioni oggettive e indicato con un valore da 1 a 10. Possiamo supporre che un esemplare sia considerato a alto rischio di estinzione se questo valore è maggiore o uguale a 8. In base a quanto dello possiamo individuare il seguente modello relazionale espresso in modo formale: Passiamo ora a sviluppare le query richieste dal testo. 1. Select Esemplareanimale.Nome, Esemplareanimale.Parco, Specie.Nome from Esemplareanimale, Specie Where Esemplareanimale.Specieapp=Specie.Cod order by Esemplareanimale.Specieapp; 2. Select Nome, Parco from Esemplareanimale where Estinzione>7; 3. select sum(Cucciolifemmine + Cucciolimaschi) as nascite, Parco from Esemplareanimale where Nome=[inserire il nome dell’esemplare desiderato]; 4. supponendo di aver utilizzato nella tabella Tipologia il codice 1 per gli arbusti otteniamo: select count(Nomepianta) as numerospecie from Esemplarevegetale group by Parco where Tipoapp=1; 5. select count(Nomepianta) from Esemplarevegetale Where Nomepianta like ‘%pino%’ group by Parco; 6. La tecnica più semplice per risolvere il problema è quella di realizzare due query di cui la seconda fa riferimento a una tabella transitoria costruita dalla prima. create view cuccioli as select Specieapp, parco, sum(Cucciolimaschi+Cucciolifemmine) as Cucc from Esemplareanimale group by Specieapp, parco; select specieapp, avg(Cucc) from cuccioli group by specieapp; 7. Anche in questo caso abbiamo optato per una soluzione simile a quella del punto precedente. create view vecchio as select Specieapp, Parco, min(anno) as eta from Esemplareanimale group by Specieapp, Parco; select Esemplareanimale.nome, Esemplareanimale.Specieapp, vecchio.eta from Esemplareanimale, vecchio where Esemplareanimale.specieapp=vecchio.specieapp and Esemplareanimale.anno=vecchio.eta and Esemplareanimale.parco=[inserire il codice del parco]; Passiamo ora all’ultimo quesito della traccia La traccia fa riferimento al trasferimento di informazioni periodiche da nodi remoti a server di accumulo. Gran parte del lavoro di gestione dell’accesso al DB è affidata a MYSQL ed alla potenzialità del PHP, o dei vari ambienti di sviluppo per applicazioni web. Certamente, però, sviluppare il frazionamento delle informazioni, tenendo anche conto delle caratteristiche operative delle reti fisiche, con l’ausilio di moduli ad hoc, garantisce maggior snellezza. Lo scenario è certamente la programmazione di rete, unitamente all’uso dello stack TCP/IP. Molti sono gli ambienti di lavoro, dato che i linguaggi per operare partendo da questi strumenti,(tcp/ip ) sono molteplici. Considerando che certamente tutti gli allievi hanno conoscenza del linguaggio C, ci riferiremo, per le nostre considerazioni, a questo linguaggio. Uno strumento semplice da usare in questo contesto è la programmazione con i socket. Le molteplici funzioni di libreria disponibili consentono di frazionare lo scambio file in un limitato numero di operazioni(funzioni). Senza scendere nel dettaglio del loro specifico utilizzo, ci limitiamo a indicare le funzioni principali. Dall'apertura del canale con la Create, che restituisce l'handle al Socket, si passa alla Bind che collega il canale fisico al socket creato. Considerando che si voglia sviluppare il software lato client, basterà utilizzare la funzione Connect per avviare il link col Server e le funzioni Send e Receive per lo scambio dei files. Da tener presente che, con queste modalità, è trasparene la frammenazione in pacchetti prima ed in frames dopo. Ricordare, infine, di utilizzare la funzione Closesocket per abbattere il Link. Antonio Garavaglia Alessandra Valpiani (ITIS Lagrange – Milano) Sessione ordinaria 2012 Soluzione (remixata dalla soluzione proposta da salvatore salzano del 21.06.12, con mofìdifiche e schemi) Ipotesi aggiuntive Oltre a quanto descritto nella traccia, occorre formulare alcune altre ipotesi per meglio definire la situazione. 1. Trattandosi di una gara su strada si presume che le distanze in gioco rendano praticamente impossibile pensare a collegamenti via cavo tra le stazioni di rilevamento e il sistema di gestione del gruppo, che possono distare diverse decine di km. E' invece preferibile ipotizzare che ogni postazione di rilevamento sia una postazione autonoma in grado di connettersi ad Internet e dialogare con i server opportuni 2. Le 6 prove speciali possono essere intese sia come 6 differenti strade, ciascuna dotata di 5 postazioni di rilevamento, che come una unica strada, con le 5 postazioni di rilevamento, che viene percorsa 6 volte. In entrambi i casi l'architettura non dovrebbe cambiare, in quanto si tratta semplicemente di una variazione nel numero di postazioni. Qui ipotizzeremo 6 differenti percorsi. 3. Da quanto emerge dalla traccia, in particolare l'indicazione di utilizzare un sistema a fotocellule, si intuisce che le prove verranno svolte facendo percorrere il circuito ad un'auto per volta, altrimenti la presenza di più auto contemporaneamente sulla stessa pista potrebbe comportare problematiche, come i sorpassi, che potrebbero essere gestiti solo con altre tecnologie che consentano di individuare la vettura, ad esempio trasponder a bordo delle vetture 4. Le postazioni di rilevamento devono essere totalmente indipendenti dalla presenza diconnessioni e di energia elettrica, pertanto è verosimile pensare a dispositivi portatili abasso consumo, magari con collegamento a pannelli solari per la ricarica, e chiavette HSDPA o simili per la connessione ad Internet 5. La precisione con la quale saranno rilevati i dati dipende dal sistema di riferimento utilizzatoper il tempo. Siccome gli apparati saranno comunque connessi fra loro tramite rete Internet,è verosimile ritenere che i tempi di latenza siano tali da rendere vano ogni tentativo diottenere precisioni paragonabili a quelle che si potrebbero ottenere con l'uso delletecnologie che si utilizzano in circuito, dove la telemetria arriva a prestazioni nell'ordine delmillesimo di secondo. In questo caso ha molto più senso sincronizzare tutte le postazionisu un orologio condiviso, tramite il protocollo NTP, e accontentarsi dell'ordine di misura del secondo Analisi del problema Il problema proposto dalla traccia può essere schematicamente riassunto come segue: – esistono delle stazioni di rilevamento collegate in rete locale ad un “server di gruppo” al quale inviano periodicamente dei dati contenenti un orario, con precisione al secondo. – la rilevazione dei dati deve avvenire tramite un dispositivo ad hoc, ad esempio una scheda a microcontrollore che gestisce i dispositivi di rilevamento e invia i dati al PC (o dispositivo equivalente, come uno smartphone con Android o Iphone) di cui è dotata la propria postazione. Sono possibili anche altre soluzioni, come ad esempio utilizzare una scheda a microcontrollore su cui installare anche lo stack tcp/ip e consentire alla scheda stessa di connettersi ad internet, senza ricorrere all'intermediazione di un PC o equivalente, ma si tratta di soluzioni più complesse e meriterebbero di essere maggiormente approfondite, più di quanto si possa fare nel poco tempo a disposizione. Sarebbe anche possibile mettere le fotocellule, tramite apposita scheda, sulla porta parallela, ma si tratterebbe di una soluzione piuttosto arcaica ed inoltre vincolerebbe all'esistenza della porta parallela sulla stazione di appoggio, cosa tutt'altro che scontata sui moderni PC portatili Per quanto riguarda il problema proposto, noi immaginiamo la stazione di rilevamento come costituita da alcuni sensori connessi ad una scheda gestita da un PIC che comunica con una stazione di appoggio, probabilmente un netbook dotato di scheda Wi-Fi e dispositivo modem hsdpa, relativamente vicina al punto da poter essere connessa tramite Wi-Fi, e questa a sua volta connessa al server di gruppo. – Viene chiesto di rilevare anche la velocità istantanea, e questo richiede che ciascuna scheda PIC disponga non di una ma di due fotocellule, posizionate a pochi metri di distanza l'una dall'altra, in modo da implementare in modo semplice ed economico una specie di autovelox. – la connessione delle stazioni di rilevamento al server di gruppo viene a costituire una piccola LAN, quindi, essendo le postazioni collegate direttamente ad Internet, ricorreremo alla creazione di una piccola VPN. Questo è un altro elemento che ci fa propendere per l'uso di un PC su ogni stazione di rilevamento, in quanto ciò consente di utilizzare software come OpenVPN che facilitano enormemente l'implementazione della soluzione adottata. – La comunicazione delle informazioni al server di gruppo può avvenire in diversi modi, in questo caso risulta molto comodo ipotizzare un server web locale, quindi una sorta di intranet, sul quale sarà disponibile una applicazione C/S, realizzata con tecnologia LAMP, che verrà periodicamente richiamata dalle postazioni di rilevamento. L'invio vero e proprio dei dati consisterà, in estrema sintesi, in una chiamata http all'applicazione in intranet, e nel contemporaneo invio dei dati tramite il metodo GET. In questo modo i dati verranno inseriti in tempo reale, direttamente al passaggio davanti alla stazione di rilevamento. – La presenza dell'incaricato alla partenza e dell'incaricato all'arrivo ha più che altro valore di controllo, per fare in modo che il sistema funzioni correttamente. Ad esempio l'incaricato alla partenza potrebbe aver il compito di identificare la vettura, inserire nel sistema tramite interfaccia web i dati della vettura e l'orario di partenza, ed una cosa simile potrebbe essere fatta dall'incaricato all'arrivo. La presenza di questo elemento umano rappresenterebbe comunque un controllo sulla validità dei dati, in quanto ogni rilevamento delle postazioni salvatore salzano soluzione seconda prova esame di stato 2012 ITIS ABACUS pag. 3 dovrebbe essere compreso fra l'orario di partenza e quello di arrivo. – Circa i dati che vengono gestiti da questo sistema possiamo distinguere: – dati che vengono scambiati tra la scheda di rilevamento e la stazione di appoggio – segnale di avvenuto passaggio – numero intero indicante la velocità istantanea – dati che vengono scambiati tra la stazione di appoggio e il server di gruppo – id della stazione di rilevamento – orario del passaggio, sincronizzato attraverso NTP – dati che vengono scambiati tra il server di gruppo e il server FIA – dati identificativi di concorrenti e autovetture, codice della prova, velocità media, etc etc... (tutti i dati indicati nella traccia d'esame) Architettura del sistema Prima di descrivere l'architettura complessiva veniamo alla descrizione delle singole componenti: 1. stazione di rilevamento. Quantità: 30. Si compone di: 1. coppia di sensori fotocellule del tipo ad interruzione di fascio, da posizionare nel punto di passaggio delle autovetture, collegate via cavo alla scheda PIC 2. scheda di rilevamento composta da un PIC, con le relative componenti per l'alimentazione e da un modulo di comunicazione Wi-fi 3. stazione di appoggio, cioè netbook o altro dispositivo portatile dotato di scheda di rete Wi-Fi in modo da costituire una rete ad-hoc con la scheda PIC, chiavetta HSDPA per connessione ad Internet, opportuna configurazione software che prevede 1. server che sia in ascolto in attesa della comunicazione dei dati dalla scheda (sarà sviluppato meglio nella parte dedicata alla logica software del sistema) 2. software per elaborazione locale dei dati da inviare al server di gruppo, che consenta di gestire anche il caso di interruzione della connessione e di conseguente invio ritardato dei dati 3. software per l'accesso a VPN (ad esempio: OpenVPN) per consentire alle singole stazioni di rilevamento di implementare una VPN che le connetta tutte fra loro e al server di gruppo 4. software per la gestione di inizio e fine prova, che deve consentire agli addetti alla prima e all'ultima stazione di inserire i dati necessari (dati autovettura, ora di inizio prova, ora di arrivo al traguardo, eventuali penalità). 2. Server di gruppo. Quantità: 1. Rappresenta il server della LAN. Deve essere dotato di connessione ad Internet, software VPN, software per archiviazione ed elaborazione dei dati via via ricevuti dalle stazioni di rilevamento. 3. Server FIA. Quantità: 1. Questo elemento va preso come un dato di fatto, in quanto si tratta di un server appartenente ad una organizzazione esterna alla quale dobbiamo comunicare solo la classifica finale della gara. Potremmo ipotizzare che questo server, che offre certamente un servizio web disponibile su Internet, consenta all'addetto di accedere ad un'area riservata e inserire, per mezzo di un classico meccanismo di upload, un file pdf con la classifica. Oppure potremo ipotizzare che consenta di inviare una apposita query che inserisca la classifica sotto forma di t-uple di una apposita tabella facente parte del database FIA e della quale saranno stati preventivamente comunicati struttura e modalità di accesso. Tutte le componenti della VPN saranno indirizzate con una rete privata di classe C. Non si ritiene necessario effettuare un subnetting. Occorreranno: • 30 ip per le stazioni di rilevamento (da 192.168.1.1 a 192.168.1.30 ) • 1 ip per il server di gruppo (192.168.1.254) Un discorso a parte meritano gli indirizzi per la comunicazione fra le schede di rilevazione e le rispettive stazioni di appoggio. Queste si configurano come 30 reti ad hoc, pertanto possono essere tutte configurate assegnando alla scheda PIC un indirizzo privato su una sottorete diversa e alla stazione di appoggio un indirizzo idoneo. Questa coppia di indirizzi può ripetersi uguale per tutte le 30 stazioni di rilevamento: • scheda PIC: 192.168.100.2 • stazione di appoggio: 192.168.100.1 Le subnetmask per entrambe le reti saranno 255.255.255.0. Una rappresentazione grafica dell'insieme potrebbe essere la seguente: Sistemi di archiviazione Distinguiamo tre differenti momenti per l'archiviazione dei dati Dati gestiti dalla stazione di rilevamento. 1) stazione FP, fotocellula alla partenza. dati inseriti manualmente dall'addetto: 1. targa autovettura, che viene automaticamente comunicata alle postazioni FV 2. penalità alla partenza (cause possibili: ritardi, non conformità autovettura, etc. etc.) dati inseriti automaticamente dal sistema al momento in cui l'addetto dà il via alla prova 3. ora di inizio prova 4. id stazione 2) stazioni FV1, FV2, FV3 1. ora di passaggio (timestamp dell'ora di sistema della stazione di appoggio al momento in cui la scheda PIC segnala il passaggio dell'autovettura) 2. id stazione 3. velocità istantanea (calcolata dalla scheda PIC e comunicata come numero intero compreso fra 0 e 255, in modo da poter utilizzare un unsigned char) 3) stazione FA, fotocellula all'arrivo dati inseriti manualmente dall'addetto 1. penalità all'arrivo (eventuali irregolarità commesse durante la prova) 2. targa autovettura (per confermare e validare la serie di dati raccolti durante la prova) 3. flag di ok o anullamento della prova dati inseriti automaticamente dalla stazione 4. ora di arrivo (timestamp dell'ora di sistema della stazione di appoggio al momento in cui la scheda PIC segnala l'arrivo dell'autovettura) 5. id stazione L'inserimento dei dati di arrivo comporta anche l'invio alla prima stazione della tratta di un segnale che autorizza la partenza di un'altra autovettura. Questi dati vengono raccolti nelle stazioni di rilevamento e gestiti mediante un semplice file di testo in formato CSV, ma potrebbe andare benissimo anche una tabella di database oppure un qualsiasi altro formato che consenta di gestire i dati indicati. Per mantenere leggera la stazione di appoggio, che potrebbe anche essere un semplice dispositivo mobile, si preferisce la soluzione di un file di testo con il seguente tracciato: nome campo formato e dimensione note idStazione numero, 8 bit utilizzando un unsigned char si possono avere valori da 0 a 255, più che sufficienti per individuare le 30 stazioni previste dal sistema. In particolare gli 8 bit sono suddivisi in due sottocampi: i primi 4 identificano la prova e gli ultimi 4 la stazione. I valori 0000 sono riservati e non vanno utilizzati. Esempio: la stazione n°3 salvatore salzano soluzione seconda prova esame di stato 2012 ITIS ABACUS pag. 7 della 4a prova avrà id pari a: 0100 0011 orario timestamp, 32 bit è il classico timestamp Unix, cioè il numero di secondi a partire dal 1° gennaio 1970. Per la stazione FP rappresenta l'orario di partenza, per la FA l'orario di arrivo, per le altre l'orario di passaggio targa carattere, 8 byte E' la targa dell'autovettura in formato ASCII. Ci sono ancora in giro auto d'epoca con la targa a 8 cifre, anche se le targhe moderne sono solo a 7 cifre. Per le stazioni intermedie il campo è valorizzato automaticamente dalla stazione di appoggio che interroga la stazione FP della propria tratta. penalità numero, 8 bit varia da 0 a 255 velocità numero, 8 bit varia da 0 a 255 Ogni volta che viene rilevata una lettura, cioè un passaggio di auto nelle stazioni intermedie, una partenza o un arrivo, i dati vengono inviati al server di gruppo. Dopo ogni invio effettuato il file di testo viene azzerato e pronto per ricevere nuovi dati. Nel caso di invio fallito, i nuovi dati verranno semplicemente accodati ai precedenti nel file di testo, che verrà inviato e cancellato appena possibile. Questo garantisce di non perdere rilevazioni in caso di problemi di connessione fra le stazioni di rilevamento e il server di gruppo Dati gestiti dal server di gruppo Il server di gruppo utilizza un database per gestire i dati. Le principali entità coinvolte sono: • autovetture (targa, modello, marca..........) • piloti (id, nome, cognome, .........) • rilevazioni (id, gara, stazione, orario, penalità, velocità) Volendo è possibile anche prevedere entità con finalità descrittive, come ad esempio: • stazioni(id, descrizioni, indirizzo, persona di riferimento, telefono.....) La traduzione nel modello logico secondo lo schema relazionale prevede di sviluppare la associazione N:N fra autovetture e piloti, e di inserire le chiavi esterne per la gestione dell'integrità referenziale L'immagine mostra il modello concettuale e la sua traduzione in modello logico secondo lo schema relazionale. Non sono indicati gli attributi in quanto la trattazione precedente risulta abbastanza chiara. Dati inviati sul server FIA Ipotizziamo che il server della FIA voglia avere solo i dati relativi alla classifica, che vengono calcolati dal server di gruppo a partire dai dati delle singole rilevazioni. Il server della FIA utilizzerà un database formato da due tabelle, in relazione 1:M: GARE ---1---------------N ---CLASSIFICHE Pertanto una opportuna procedura di elaborazione presente sul server di gruppo ed attivata dall'addetto si connetterà al database della FIA ed inserirà i seguenti dati nella tabella CLASSIFICHE: • posizione in classifica • nome pilota • cognome pilota • targa autovettura • marca • modello • tempo prova 1 • tempo prova 2 • tempo prova 3 • tempo prova 4 • tempo prova 5 • tempo prova 6 • velocità max prova 1 • velocità media prova 1 • velocità max prova 2 • velocità media prova 2 • velocità max prova 3 • velocità media prova 3 • velocità max prova 4 • velocità media prova 4 • velocità max prova 5 • velocità media prova 5 • velocità max prova 6 • velocità media prova 6 • penalità totali • fk_gare e nella tabella GARE: • id • data svolgimento • luogo Logica del software Ci sono differenti possibili soluzioni software e diverse funzioni svolte nel sistema. 1. il software presente nel pic per gestire le fotocellule, calcolare la velocità istantanea e comunicare i dati alla stazione di appoggio 2. il software presente sulla stazioni di appoggio per ricevere i dati, completarli delle informazioni mancanti e inviarli al server di appoggio. Questo si divide in tre varianti: 1. software per la stazione FP, che consente anche l'avvio della prova, e viene utilizzato dalle altre stazioni per conoscere le informazioni sull'autovettura che sta svolgendo la gara 2. software per le stazioni FV1 FV2 FV3, che si limita a ricevere i dati dalla scheda di rilevamento e a leggere dalla postazione FP la targa dell'autovettura in gara. 3. software per la stazione FA, che consente di inserire i dati all'arrivo e segnalare alla stazione FP che si può far partire un'altra autovettura 3. Il software presente sul server di gruppo, che elabora i dati presenti nel database, estrapola la classifica e invia al server della FIA i dati Esaminiamo in dettaglio le sole funzioni svolte dai punti 1 e 2 E' un programma scritto in linguaggio C (C18, SDCC....) e memorizzato nel pic. Il programma si interfaccia con le librerie TCP/IP fornite dalla Microchip per la gestione delle connessioni WiFi in quanto dovrà comunicare con la stazione di appoggio. Per svolgere la funzione di autovelox il programma usa due sensori e gli interrupt del timer per effettuare conteggi ad intervallo di 1 millesimo di secondo Il software svolgerà essenzialmente il seguente compito: inizializza porte e periferiche inizializza timer e impostalo a 1millesimo di secondo conteggio = 0; ip-staz-appoggio = “192.168.100.1” //indirizzo della stazione di appoggio distanza_fra_sensori = 10 //distanza espressa in m fra i sensori while (!sensore1); //attesa attiva per il primo sensore //faccio partire il timer che inizia i conteggi while (!sensore2); //attesa attiva per il secondo sensore //dopo che sono scattati i due sensori calcolo la velocita in metri al sec. velocita = (distanza / conteggio)/1000 //converto in km/h: velocita = velocita * 3.6 /* apro connessione con stazione di appoggio e gli invio la velocita. Questa azione comporta anche la segnalazione di avvenuto passaggio:*/ http://ip-staz-appoggio/index.php/?velox=velocita&scelta=3 /* al momento di realizzare effettivamente il codice occorre fare riferimento alle specifiche delle librerie TCP/IP fornite dalla Microchip per poter scrivere il codice in modo corretto. In questa sede si è inteso solamente indicare la modalità di comunicazione */ SWFP Software in funzione sulla stazione di appoggio della postazione di partenza. Il software funziona in modo client/server con tecnologia LAMP. Sulla stazione di appoggio è in funzione un server http che può fungere da interprete php. Il software svolge le seguenti funzioni: 1. consente all'operatore di inserire i dati della macchina che sta per partire in un apposita pagina accessibile con browser. 2. riceve dalla pagina web i dati, li registra su file e presenta all'operatore una schermata di conferma e lo lascia in attesa 3. racchiude diverse azioni, attivate dalla scheda PIC: 1. salva su file di testo i dati da inviare al server di gruppo, 2. comunica con una connessione http alle postazioni FV la targa dell'autovettura che sta gareggiando 3. comunica con una connessione http al server di gruppo i dati leggendoli dal file 4. in caso di successo, azzera il file con i dati da inviare 4. riceve richiesta di sblocco dalla postazione FA Il software è così schematicamente rappresentato: Soluzione di emergenza Il comportamento da adottare in caso di mancanza di connessione fra le postazioni e il server di gruppo è stato discusso precedentemente e viene qui riportato per comodità del lettore. Ogni volta che viene rilevata una lettura, cioè un passaggio di auto nelle stazioni intermedie, una partenza o un arrivo, i dati vengono inviati al server di gruppo. Dopo ogni invio effettuato il file di testo viene azzerato e pronto per ricevere nuovi dati. Nel caso di invio fallito, i nuovi dati verranno semplicemente accodati ai precedenti nel file di testo, che verrà inviato e cancellato appena possibile. Questo garantisce di non perdere rilevazioni in caso di problemi di connessione fra le stazioni di rilevamento e il server di gruppo. Pag. 1/1 Sessione ordinaria 2014 Seconda prova scritta – ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO SPERIMENTALE – Progetto “ABACUS” Indirizzo: INFORMATICA Tema di: SISTEMI DI ELABORAZIONE E TRASMISSIONE DELLE INFORMAZIONI Una casa automobilistica, per assicurare l’assistenza alla propria clientela, ha costituito, su tutto il territorio nazionale, una rete di officine. L’officina centrale ha il compito di gestire tutte le altre: archivia le informazioni di ogni singola officina (codice officina, denominazione, indirizzo) e memorizza in particolare i dati: a. sui pezzi di ricambio (codice pezzo, descrizione, costo unitario, quantità,...); b. sui servizi offerti (codice servizio, descrizione, costo orario,...); c. sugli accessori in vendita (codice articolo, descrizione, costo unitario,...). Inoltre offre la possibilità ai dipendenti e ai clienti di poter consultare online il catalogo dei pezzi di ricambio, dei servizi offerti e degli accessori in vendita. L’officina centrale è composta da tre uffici e da un “info point”. In tutte le officine è presente un locale dove si effettuano le riparazioni e un magazzino, ciascuno dotato di una postazione di lavoro computerizzata. I clienti prenotano l'intervento presso l'officina scelta indicando: 1. i dati dell'autoveicolo (targa, numero telaio, anno di costruzione, ecc); 2. i dati propri (cognome, nome, telefono, ecc); 3. l’intervento richiesto (tagliando, freni, gomme, ecc). Il candidato, dopo aver formulato le necessarie ipotesi aggiuntive, sviluppi i seguenti punti: 1. proponga un progetto di rete locale per l’officina centrale e per le officine secondarie, specificando: a. il cablaggio con riferimento allo standard IEEE 802; b. l’architettura protocollare proposta al di sopra del secondo livello del modello OSI; 2. indichi la tecnica di comunicazione tra le officine secondarie e l’officina centrale; 3. progetti un sistema per l’archiviazione e la consultazione dei dati utilizzando il modello Entità relazioni; 4. presenti il disegno della “home page” del sito web della casa automobilistica, che consenta di: a. visionare le informazioni presenti nell’officina scelta; b. consultare il catalogo dell’oggetto scelto: servizi, pezzi di ricambio, accessori; c. modificare i dati, operazione consentita ai soli dipendenti autorizzati. Infine il candidato codifichi una parte significativa del punto 4 attraverso gli strumenti che ritiene più idonei e giustifichi la scelta operata. ____________________________ Durata massima della prova: 6 ore. È consentito l’uso di manuali tecnici e di calcolatrici non programmabili. È consentito l’uso del dizionario bilingue (italiano-lingua del paese di provenienza) per i candidati di madrelingua non italiana. Non è consentito lasciare l’Istituto prima che siano trascorse 3 ore dalla dettatura del tema. PARTE 2- Seguito cablaggio e Programmazione di rete Considerazioni sulle scelte di cablaggio. Lo standard di riferimento è EIA. Una qualsiasi rete deve essere ripartita in tre zone: core, distribution, work area, come rappresentato in una figura precedente (parte1 della soluzione). La struttura dei collegamenti deve essere per dorsali. Trattandosi di collocazione su singolo piano vale una connessione col centro stella di piano, indicato con CSP nella figura riportata nella parte1 della soluzione. Ogni computer deve, di fatto, essere collegato ad una dorsale. Per l’officina periferica possiamo pensare che un collegamento a 100Mb con cavo di categoria 5 vada bene. Lo switch, abbinato ad un pathc panel, deve essere collocato in un wiring closet o in un armadio. Senza soffermarci troppo sui vincoli che la normativa pone per la qualificazione e l’ubicazione di questi ambienti, ricordiamo che il collegamento del cavo proveniente dal computer singolo deve raggiungere prima il patch panel e poi, con un cavo che può variare da 1,5 a 5m, deve raggiungere lo switch. La distanza massima di collegamento del computer deve essere 100m. Considerato che, come vedremo più avanti, anche nell’area di lavoro ci deve essere un cavo patch, con le stesse caratteristiche di quello per il wiring closet, ne deriva che la dorsale di piano deve essere 90m al massimo. I cavi. Abbiamo detto categoria 5. Considerato che l’ambiente interessato è esposto a disturbi, non conviene usare cavi UTP, ma almeno STP o FTP. In entrambi i casi vanno rispettate le regole di sicurezza sintetizzabili nella sigla LSFR0H, che impone cavi non emettano fumi, ritardino la fiamma e non emettano alogeni. Il passaggio dei cavi deve avvenire o sotto il pavimento o nel controsoffito. Considerando che si tratta di officine, quindi di capannoni, è facile la soluzione del controsoffitto. Una delle figure della parte1 riporta le dorsali che passano appunto sopra le pareti divisorie. Per la work area dobbiamo considerare che ogni postazione abbia almeno due connetttori RJ45 per la rete, due prese unel bipasso da 3 A, due prese schuko. Il collegamento tra la postazione la TO ( terminazione utente, secondo la nomenclatura EIA) deve essere realizzata con un cavo da 1,5-5m. Ultima considerazione per il cablaggio dell’officina principale. Considerata la presenza di server con consistente carico di lavoro, conviene pensare ad un sezionamento asimmetrico, prevendo sullo switch porte da 1 GB, almeno per i server web e di database. Prima di chiudere questa parte, un piccolo cenno alla programmazione dei router utilizzando lo specifico linguaggio CISCO. Ci riferiamo al router dell’officina periferica . Router>enable Router#config t Router(config)#interface fa0/0 Router(config-if)#ip address 192.168.0.1 255.255.255.0 Router(config-if)#no shutdown Router(config)#interface se2/0 Router(config-if)#ip address 194.7.2.2 255.255.255.0 Router(config-if)#clock rate 64000 Router(config)#router rip Router(config-router)#network 194.7.1.0 Router(config-router)#network 192.168.0.0 Passiamo alle altre parti della traccia Sistemi operativi per le reti Software per lo scambio di dati tra sedi periferiche e centrale Software per la generazione della pagina web e gestione degli accesssi alle funzioni prevviste Software per la gestione del DB Non ci soffermiamo, per questioni di tempo e di spazio sul primo punto al quale riserviamo poche considerazioni. Il sistema operativo dovrebbe essere windowserver come controllore di dominio, server dns locale, server dhcp e atcive directory. Per la parte di database e serverweb potremmo optare per apache e linux. Il secondo punto, espresso nella traccia come “architettura protocollare” può essere pensato come un applicativo che si avvalga dei socket per la connessione. Ipotizzando di usare l’opzione TCP prevista dai socket non è necessario pensare ad un sw che faccia anche il controllo di errori. Certamente però è preferibile una connessione che usi una fase preliminare di handshake, mutuabile da quella a tre vie del TCP. Dovremmo quindi avere tre fasi: Connessione con handshake Scambio dati Chiusura del canale Per lo scabio dei dati, considerato che i socket lavorano su messaggi, possiamo pensare di strutturare i dati in struct e poi integrarle nel messaggio effettivamente spedito. Riportiamo di seguito il software per lo scambio di messaggi tra un Client ed un Server utilizzabile come modello di riferimento generale. SERVER #include <windows.h> #include <winsock.h> #include <stdio.h> #include <conio.h> #define MAX_STRING 256 int main(){ SOCKET serversock,client; struct sockaddr_in serversock_addr,client_addr; WSADATA data; WORD p; int len(char *); int lun, err=0; char mex[]="CONNESSIONE AVVENUTA CON SUCCESSO!\n"; p=MAKEWORD(2,0); err=WSAStartup(p,&data); serversock=socket(PF_INET,SOCK_STREAM,0); serversock_addr.sin_family=PF_INET; serversock_addr.sin_port=htons(1550); serversock_addr.sin_addr.s_addr=INADDR_ANY; err=bind(serversock,(struct sockaddr*)&serversock_addr,sizeof(struct sockaddr_in)); err=listen(serversock,1); lun=sizeof (struct sockaddr); client=accept(serversock,(struct sockaddr*)&client_addr,&lun); if (err!=0) printf ("Errore connessione"); send(client,mex,40,0); printf ("connessione avvenuta"); closesocket (client); closesocket(serversock); WSACleanup(); return 0; } CLIENT #include <windows.h> #include <winsock.h> //includo le varie librerie tra cui quella winsock #include <stdio.h> #include <conio.h> int main() { int n=0, i=0; char mex[100]; SOCKET sock; struct sockaddr_in sock_addr; WSADATA data; WORD p; p=MAKEWORD(2,0); WSAStartup(p,&data); sock=socket(AF_INET,SOCK_STREAM,0); sock_addr.sin_family=AF_INET; sock_addr.sin_port=htons(1550); sock_addr.sin_addr.s_addr =inet_addr( "174.1.4.7" ); connect(sock,(struct sockaddr*)&sock_addr,sizeof(struct sockaddr)); while(n==0) n=recv(sock,mex,100,0); //prevedo una stampa di controllo, da eliminare dopo il debug printf("%d'\n'",n); while(mex[i]!='\0') {printf("%c \n",mex[i]); i++; } closesocket(sock); WSACleanup(); return 0; } Parte Web e DB Si tratta di un problema classico di progettazione e implementazione di un database che richiede un’analisi puntuale delle funzionalità di sistema nel suo complesso, in modo da ottimizzare tempi di accesso e impegno di memoria. Risulta fondamentale lo schema concettuale e logico del database che evita la duplicazione dei dati e, insieme ad un sistema di backup automatico, consente, in caso di crash, il recupero dei dati. Riportiamo di seguito il modello ER: Il modello logico si articola intorno alle seguenti relazioni fondamentali: officina(codice, denominazione, indirizzo) servizio_offerto(codice, descrizione, costo) accessorio_in_vendita(codice, descrizione, costo_unitario, quantità) pezzo_ricambio(codice, pezzo, descrizione, costo_unitario, quantità) cliente(codice, nome, cognome, telefono, indirizzo) autoveicolo(codice, cliente, numero_telaio, anno_costruzione) intervento_prenotato(codice, servizio_offerto, autoveicolo, officina, data_prenotazione) dipendente(codice, nome, cognome, telefono, indirizzo, login, password) Il database in questione può essere implementato con il DBMS MySQL, un software open source piuttosto semplice, multipiattaforma, adatto ad accessi da web in quanto dotato di un modulo di integrazione con linguaggi di scripting. Il database deve essere disponibile su un server on line gestito da un ambiente tipo IIS o Apache. Strumenti specifici per la grafica, tipo DreamWeaver ed un lingiaggio di programmazione tipo PHP, che consente di arricchire le pagine web con script eseguibili direttamente sul server, sono una risorsa potente per lo sviluppo dell'applicazione richiesta. In particolare, PHP consente di implementare un motore di scripting server side molto diffuso e multipiattaforma con un buon supporto alla connettività, attraverso componenti standard a database in generale e a MySQL in particolare. Ovviamente, per potere utilizzare Php è necessario aver installato sul proprio sistema un Web Server. Una possibile home page del sito della casa automobilistica è la seguente; in essa ogni icona o descrizione è cliccabile e permette di scaricare il relativo documento pdf. Intestazione: logo e nome dell'officina centrale Comunicazione e comportamento professionale del tecnico Un tecnico informatico non deve solo essere competente in materia di reti e computer, ma anche interagire con le persone. Spesso i problemi si risolvono solo con un atteggiamento positivo verso le persone che permette di capire meglio le problematiche e arrivare, in minor tempo, a raggiungere la soluzione. In effetti, la maggior parte delle persone che hanno un problema con un computer si sentono a disagio e provano una sensazione di stress. Un buon rapporto consente al cliente di rilassarsi e di fornire maggiori informazioni e più pertinenti. Il colloquio con l’utente è il primo passo per determinare il problema che sta affrontando. Ecco perchè occorre innanzitutto ricordarsi la regola delle tre ‘C’: • Conoscenza : il cliente è una persona con nome e cognome • Competenza: individuare il livello di competenza informatica in possesso del cliente per sapere come comunicare efficacemente con lui • Comunicazione: usare una comunicazione breve, semplice e diretta per stabilire una relazione immediata e professionale Per far questo, è, però, necessaria una buona capacità di ascolto. Ascoltare attentamente il cliente quando racconta la sua storia cercando di individuare i punti essenziali e, almeno in una prima fase, interrompendolo il meno possibile. È utile anche usare parole o brevi frasi come "Sì", "Capisco", o "Va bene". Dopo aver ascoltato la spiegazione chiarire e sintetizzare cio’ che è stato detto dimostrando di aver compreso la situazione. Quando si comunica col cliente è necessario essere positivi, professionali, solleciti e gentili, informare bene cosa è possibile fare e i modi per arrivarci. Ci sono delle regole generali che si applicano a tutte le interazioni online con i clienti e i collaboratori: Ricordare che si tratta di persone. Rispettare le stesse norme di comportamento che si seguono nella vita reale. Sapere che ci si trova nel cyberspazio. Aver rispetto per il tempo e la larghezza di banda degli altri. Condividere le conoscenze degli esperti. Non ingaggiare "flame war" online. Rispettare la privacy degli altri. Essere indulgente con gli errori degli altri. Quando si tratta con i clienti, è importante attenersi agli SLA (Service Level Agreement) sottoscritti con i clienti. Uno SLA è un contratto tra un organizzazione e un fornitore di servizi che definisce i termini del servizio e il livello di supporto stabilito. Ogni dipendente del fornitore di servizi deve attenersi agli SLA sottoscritti dai clienti. Si possono esaminare più attentamente alcune delle sezioni standard contenute in uno SLA facendo click all'interno delle aree mostrate nella Figura 1. Un service level agreement è tipicamente un contratto legale che contiene le responsabilità e gli obblighi di tutte le parti interessate. Alcuni dei contenuti di uno SLA solitamente includono: • Tempo di intervento garantito (spesso basato sul tipo di chiamata e sul livello di servizio contrattuale) • Apparecchiature e/o software che saranno supportati • Luogo in cui sarà fornito il servizio • Manutenzione preventiva • Diagnostiche • Disponibilità di parti di ricambio (componenti equivalenti) • Costi e penali • Tempo di disponibilità del servizio (per esempio, 24x7; dal lunedì al venerdì, dalle 8.00 alle 17.00; e così via) Quando si lavora con i clienti e le loro apparecchiature, vi sono alcuni principi etici e norme giuridiche da rispettare. Spesso tali principi e norme si sovrappongono. Principi Etici Devono essere sempre rispettati sia i clienti che la loro proprietà. La proprietà include tutte le informazioni o i dati che possono essere accessibili. Tali informazioni o dati comprendono le seguenti voci: • E-mail • Elenchi telefonici • Dati o archivi sul computer • Copie cartacee di file, informazioni, o dati lasciati sulla scrivania Prima di accedere a un account, compreso quello dell'amministratore, si deve avere il permesso dal cliente. Durante il processo di troubleshooting, si possono apprendere informazioni private, come username e password. Se un documento contiene questo tipo di informazioni private, deve restare riservato. Divulgare le informazioni dei clienti a chiunque altro non è solo privo di etica, ma può essere anche illegale. I dettagli legali delle informazioni sui clienti sono solitamente contemplati negli SLA. Non inviare ai clienti messaggi non richiesti. Non inviare ai clienti e-mail di massa non richieste o e-mail a catena. Non inviare mai email false o anonime. Tutte queste attività sono considerate immorali, e in determinate circostanze possono essere considerate illegali. Norme Legislative Vi sono attività connesse alla tecnologia informatica che non solo sono prive di etica, ma sono decisamente illegali. Di seguito ne è fornito un elenco anche se non esaustivo: • Non fare alcuna modifica al software del sistema o alle configurazioni hardware senza il permesso del cliente. • Non accedere ad account, file privati, o messaggi e-mail del cliente o dei suoi collaboratori senza autorizzazione. • Non installare copie, o contenuti digitali condivisi (incluso software, musica, testi, immagini e video) in violazione delle leggi in vigore sul copyright e/o sulle licenze software. • Non usare le risorse IT dell'azienda del cliente per scopi commerciali. • Non mettere a disposizione di utenti non autorizzati le risorse IT dell'azienda. • Mantenere confidenziali le informazioni e i dati sensibili del cliente. • Non usare deliberatamente risorse aziendali del cliente per attività illegali. L'uso illegale o criminale può includere oscenità, pornografia infantile, minacce, molestie, violazione del copyright, violazione del marchio di Università, diffamazione, furto, furti d'identità, e accesso non autorizzato. È opportuno conoscere le leggi su marchi e copyright del proprio paese. L’autoscatto Agosto 2004 Ci metto un po’ a puntar la macchina fotografica e trovare l’inquadratura e la luce giusta. Cambio posizione e … dovrebbe andar bene. Faccio partire l’autoscatto e nello stesso istante in cui sento il ronzio che segnala il count-down corro a posizionarmi qualche metro avanti sperando che l’inquadratura sia quella giusta. Ecco scatta ma… no, mi sono mosso. Riprendiamo da capo… Agosto 2014 Allungo il braccio. Mi inquadro. Scatto una due , cinque volte. Il mondo è dietro, sullo sfondo. In primo piano questa facciona un po’ deformata che, se mi garba, ritoccherò con un’ app fantastica che mi farà apparire molto meglio di quanto sono (anzi, già che ci sono, qualche capello in più me lo aggiungo. Non sta male!) Agosto 2014. Cerco un hotel su Tripadvisor. Vedo le classifiche, confronto, scelgo. Subito il sito mi propone quello che altri, con i miei stessi interessi (!?), hanno visitato. Ne approfitto. Comodo, nessuna fatica! Agosto 2014. Su Facebook e Twitter ho filtrato quello che più mi piace: i mie giornalisti, i miei personagg, i miei amici, i miei film e la mia musica. Mi trovo bene e mi auto-compiaccio in compagnia di chi si autocompiace. Bello vero?. Eppure questo è solo il mio piccolo mondo. Quello vero sta fuori. Mi sono forse perso qualcosa?