Uploaded by ANDREA GIUSEPPE VAILATI

ELABORATO

advertisement
Andrea Giuseppe Vailati
Classe Quinta CI Informatica
Elaborato della traccia : Pannelli Solari 2.
In Questa traccia, è riportato che un’azienda nazionale installatrice e manutentrice di
pannelli solari vuole potenziare la sua rete di assistenza ai clienti tramite una
serie di accordi con aziende locali presenti in ogni provincia. Per poter supportare
questa capillare organizzazione di assistenza, con le relative funzionalità di seguito
descritte, ha bisogno di aggiornare la sua struttura informatica.
Si vuole poter collegare alla parte di LAN aziendale dedicata all’assistenza
(d’ora in poi denominata “LAN_ASSI”, una postazione fissa di ogni azienda locale
che è stata individuata per svolgere assistenza nella provincia stessa ed anche dare
la possibilità al tecnico che esegue l’intervento di collegarsi alla LAN_ASSI per
ottenere informazioni di supporto e
compilare poi un rapporto di intervento.
Come strumento telematico di organizzazione, gestione e supporto agli interventi di
assistenza si vuole creare un portale Web che preveda accessi diversificati a
seconda degli utenti.
in particolare i clienti devono potersi collegare e autenticare sul portale per
richiedere l’intervento, effettuando autonomamente una prenotazione che verrà poi
confermata dall’azienda tramite invio di SMS.
Occorre che il cliente sia memorizzato sul sistema con i suoi dati anagrafici ed
alcune
informazioni relative all’impianto fotovoltaico, ossia:
•
•
•
•
•
•
•
•
•
•
•
la posizione dell’impianto
la data del collaudo
il numero dei pannelli presenti
altezza
larghezza dei pannelli
presenti,
la loro tecnologia (silicio monocristallino o policristallino)
il tipo
e numero di accumulatori
il modello
ditta produttrice dell’inverter
Il portale Web deve disporre anche delle informazioni relative alle ditte locali di
assistenza ed in particolare :
• denominazione,
• indirizzo,
•
•
numero dei tecnici disponibili
dati anagrafici di ogni tecnico.
Dalla sede centrale dell’azienda degli impiegati provvederanno ad assegnare gli
interventi ad ogni tecnico in base alle competenze specifiche tecniche ed al tipo di
problema da risolvere.
I tecnici sono dotati di un dispositivo elettronico dove riceveranno entro le ore 18
di ogni giorno la lista degli interventi da eseguire il giorno successivo. Una volta
eseguito l’intervento il tecnico provvederà a compilare, tramite una web-app, un
foglio di lavoro che sarà confermato dal cliente con firma digitalizzata tramite un
touchpad integrato sul dispositivo in dotazione al tecnico.
L'obiettivo di questo progetto è potenziare la infrastruttura che permette al cliente di
chiedere assistenza, bisogna prima analizzare i requisiti necessari e gli strumenti
che ci permettono di arrivare all'obiettivo.
I requisiti sono :
1. Base dati : La base dati è un sistema software dove si possono memorizzare
una grande quantità di dati in modo organizzato, persistente, accessibile,
protetto, affidabile e fornisce riservatezza grazie alla gestione dei permessi
d'accesso.
2. Sito Web : Il sito permetterà al cliente di accedere ai servizi di assistenza
dell'azienda nazionale che, velocemente e comodamente, può richiedere in
qualsiasi momento e in qualsiasi posto una richiesta di assistenza.
3. Rete Locale Aziendale (LAN) : I Tecnici, per poter ottenere informazioni di
supporto relative alle richieste di assistenza, devono collegarsi alla rete
aziendale nella provincia in cui si trova.
Per realizzare una base dati, bisogna partire da un modello astratto e grafico che ci
consente di creare una rappresentazione in modo concettuale della base dati. Il
modello si chiama ER (Entità-Relazione).
Una volta creato il modello concettuale, si passa alla del modello logico, si tratta di
una rappresentazione della strutturazione dei dati all'interno di una base dati.
Clienti : (PK(CF), Nome, Cognome, DataNascita, email, password, Telefono, Indirizzo, Città,
Provincia, CAP, fk(numImpianto))
Impianto (pk(numImpianto), Indirizzo, Città, CAP, Provincia, DataCollaudo, numPannelli, Altezza,
Larghezza, TipoTecnologia, numAccumulatori, Modello, MarcaInverter, fk(CodiceFiscale))
Prenotazione (numPrenotazione, fk(CodiceFiscale), Telefono, Indirizzo, Città, CAP, Provincia, Data
Descrizione)
Ditta (pk(P_IVA), Nome, Indirizzo, Città, CAP, Provincia, Telefono, NumImpiegati)
Tecnico (pk(ID_Tecnico), Nome, Cognome, email, password, CodiceFiscale, DataNascita,
Indirizzo, Telefono, Provincia, Città, CAP, competenzeTecniche, fk(Ditta_Nome))
Impiegato (pk(ID_Impiegato), Nome, Cognome, CodiceFiscale, DataNascita, Indirizzo, Telefono,
Provincia, Città, CAP, fk(Sede))
Lista (ID_Lista, fk(numPrenotazione), fk(ID_Tecnico), fk(ID_Impiegato))
Documentazione(numDocumento, DataManutenzione, DescrizioneManutenzione, Costo,
fk(numPrenotazione), fk(CF))
Dopo che abbiamo eseguito i primi due passaggi, possiamo passare alla
implementazione fisica del database. Per farlo, utilizziamo un software che si chiama
“XAMPP”, che si tratta di una multipiattaforma libera costituita da APACHE e MySQL,
che ci permetterà di creare pagine web dinamiche generate dalla nostra macchina e
ci dispone dei linguaggi di programmazione come PHP e SQL (che in seguito
vengono usati)
Per scrivere le pagine web, ho utilizzato HTML, CSS, PHP e SQL e un editor di testo
(Sublime).
Per realizzare il sito web, ho scritto usando l'editor di testo SUBLIME, il codice
utilizzando il linguaggio HTML, che serve a creare e dare uno stile alle pagine
internet; queste pagine sono complesse, perché hanno al loro interno testi,
immagini, suoni, video, link, effetti visivi di vario tipo. Per aggiungere estetica alla
pagina, ho utilizzato CSS che sta per Cascading Style Sheets, in italiano fogli di stile.
Essenzialmente, il CSS è un linguaggio che gestisce il design e la presentazione
delle pagine web, combinato con HTML
Una volta costruito il sito web, dobbiamo realizzare la rete locale dove i tecnici si
possono connettere per svolgere assistenza nella provincia stessa. Per farlo, esiste
una tecnologia che “estende” in ambito geografico la rete locale dell'azienda
nazionale LAN privata, realizzando una WAN privata per il proprio business
chiamata VPN (Virtual Private Network). Si tratta di una rete privata creata
all'interno di un'infrastruttura di rete pubblica, in questo caso internet.
All'interno di una stessa VPN l'indirizzamento deve essere univoco. Esistono due tipi
di VPN :
1. Remote -access VPN : consente ai singoli utenti di stabilire connessioni sicure
con la LAN aziendale remota.
2. Site-to-site VPN : Permette di stabilire connessioni sicure attraverso una rete
pubblica, come internet, anche ad aziende con tante sedi fisse, ognuna con la
sua lan.
In questa LAN utilizzeremo il secondo tipo, perché estende la rete aziendale,
rendendo disponibili le risorse della sede principale alle sedi secondarie.
Ci sono due tipi di Site-to-site VPN :
1. Intranet-based : Se una società ha una o più sedi remote che desiderano
unirsi in un'unica rete privata, possono creare una VPN Intranet per collegare
ogni LAN separata di una singola rete WAN
2. Extranet-based : Quando una azienda ha un rapporto stretto con un'altra
azienda, è possibile costruire una VPN extranet che collega le LAN di queste
imprese.La VPN extranet permette alle aziende di lavorare insieme in un
ambiente sicuro, condividendo le risorse e senza l'accesso preventivo alla
propria intranet.
Ho scelto il primo tipo, perché le aziende locali devono lavorare all'interno della rete
dell'azienda nazionale.
Domanda :
Sistemi e reti : Fatte le opportune ipotesi aggiuntive eventualmente necessarie,
specificare le caratteristiche
hardware e software del dispositivo in dotazione al tecnico. Esaminare poi le
possibili scelte
di connettività possibili e sceglierne una con le opportune motivazioni tecniche.
Il dispositivo in dotazione al tecnico è un tablet con display touchpad con all'interno
una scheda di rete wireless, con all'interno un'Indirizzo fisico chiamato “MAC
address” (Medium Access controll). Si tratta di un'indirizzo formato da 6 byte
rappresentati da 12 cifre esadecimali raggruppate in sei coppie separate da un
trattino. Un'esempio :
08-00-2B-C4-BE-F3
I primi tre ottetti sono detti OUI(Organization Unique Identifier), in quanto identificano
l'azienda produttruce della scheda, le altre sei coppie rappresentano il progressivo
cronologico della scheda da parte di una determinata azienda.
Il dispositivo, per potersi collegare in maniera sicura nella web-app e firmare
documenti, ha bisogno di utilizzare un protocollo di trasporto che offre un servizio
connection-oriented e affidabile che garantisce la consegna dei dati in modo
ordinato. Si tratta del TCP (Transmission Control Protocol), ed è :
1. Full-duplex : posso sulla stessa connessione ricevere e inviare
contemporaneamente
2. Point-to-point : c'è un solo mittente e un solo destinatario
La prima cosa che fa è instaurare una connessione tra host1 e host2. la fase viene
denominata Handshake a tre vie, dove mittente e destinatario si scambiano
pacchetti con all'interno i flag che permettono di sincronizzarsi e di confermare la
ricezione dei dati.
La seconda fase è la trasmissione dei dati, dove host1 e host2 si scambiano i
pacchetti e il protocollo gestisce il controllo di flusso con la tecnica sliding-window.
La terza fase è quella di chiusura della connessione, dove il mittente imposta il flag
di chiusura (FIN) e il destinatario conferma la ricezione e chiude la sessione.
Un'altro protocollo che viene utilizzato è l'HTTPS (HyperText Transfer Protocol over
Secure Socket Layer)Dove il dispositivo per comunicare utilizza il Web Browser per
collegarsi al sito dell'azienda e questo protocollo regola lo scambio di messaggi tra il
dispositivo e il Web Server. A differenza dell'HTTP, utilizza la porta 443 al posto della
80 (per porta si intende l'applicazione software a cui indirizzare i pacchetti) e utilizza
un protocollo di crittografia asimmetrica, cioè i dati vengono criptati durante lo
scambio dei dati. In questo modo si garantisce la sicurezza e la riservatezza dei dati.
Domanda Informatica :
Si descriva in generale come avviene la gestione degli utenti e dei permessi in una
base di dati implementata con linguaggio SQL, quindi si descrivano le diverse
tipologie di utenti che sono definite su questa specifica base di dati e si scrivano per
ciascuna tipologia le query che consentono la creazione dei profili utente descritti e
l’attribuzione dei permessi. Si descrivano infine le viste del sito web che sono
accessibili ai diversi tipi di utente con l’elenco delle rispettive funzionalità .
La gestione della base dati avviene tramite un software chiamato phpMyAdmin in cui
gli impiegati possono avere accesso, mentre i tecnici per accedere ai dati che hanno
bisogno per lavorare, devono interagire con la pagina web con la sezione dedicata a
loro.
I Clienti possono avere accesso ai loro dati nel Database, sempre da sito web, però
hanno delle strette limitazioni perché non possono accedere ai dati altrui.
Resoconto :
1. Gli Impiegati : i tecnici, che devono accedere alle informazioni della lista delle
prenotazioni e alla documentazione relativa agli impianti dei clienti.
2. I Tecnici : Gli impiegati gestiscono le prenotazioni dei clienti e gestiscono le
liste dei tecnici
3. I Clienti : I Clienti possono accedere ai dati del loro account, impianto e
documentazione relativa ma senza modificare il contenuto.
Il Comando per creare l'impiegato e i suoi permessi è:
CREATE USER 'Impiegato'@'localhost' IDENTIFIED VIA password USING
'password';
GRANT SELECT, INSERT, UPDATE, DELETE ON SolarPanel.Clienti,
SolarPanel.Tecnico, SolarPanel.Lista, SolarPanel.Prenotazioni TO
'Impiegato'@'localhost'
L'impiegato all'interno del database può visualizzare, inserire, aggiornare e
cancellare dati MA non può modificare la struttura del database e cancellarla.
L'Impiegato è colui che ha maggiori permessi nella base dati perché deve gestire gli
account dei clienti, dei tecnici, le prenotazioni e le liste di prenotazioni.
Il comando per creare il tecnico e dare i permessi è :
CREATE USER 'Tecnico'@'localhost' IDENTIFIED VIA password USING
'password' ;
GRANT SELECT, INSERT ON SolarPanel.documentazione TO
'Tecnico'@'localhost';
GRANT SELECT ON SolarPanel.Impianto TO 'Tecnico'@'localhost';
I tecnici possono visualizzare i dati dell'impianto dei clienti e inserire dati nella
documentazione dell'impianto.
Il Comando per creare il cliente e dare i permessi è :
CREATE USER 'Clienti'@'localhost' IDENTIFIED VIA password USING 'password' ;
GRANT SELECT ON SolarPanel.Impianto, SolarPanel.Clienti TO
'Clienti'@'localhost';
I clienti possono accedere ai dati del loro account e degli impianti MA non possono
modificarli. Per farlo, è necessario che intervenga un'impiegato.
Il sito web possono vederlo tutti gli utenti, ma ogni utente ha la sezione dedicata, per
esempio i tecnici hanno una pagina di accesso dove si fa login con le credenziali
pre-impostate dall’azienda e possono vedere la lista delle prenotazioni.
Invece gli utenti vedranno :
Infine gli impiegati :
Download