Telemcone3 -appendice-Seconde Prove simulate e reali

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?