MODULO 4 - analisi delle utenze ed progettazione dell’architettura applicativa
DESCRIZIONE DEL CORSO COMPLETO
Dopo un’introduzione sulle caratteristiche fondamentali dei SIT e delle problematiche di realizzazione, si passa ad analizzare in dettaglio il progetto e l’implementazione di tali sistemi, secondo uno schema matri-ciale che prevede quattro fasi realizzative (fattibilità, analisi, progetto esecutivo, realizzazione) e quattro aspetti tecnici (DBMS, cartografia, funzionalità, sistema).
Per quanto riguarda il progetto del DBMS si illustrano le fasi di analisi dei dati, di progetto del database e di architettura del DBMS. Gli aspetti cartografici vengono analizzati illustrando le problematiche di analisi e qualificazione della cartografia e delle fonti cartografiche. Per il progetto funzionale, vengono analizzate la fase di analisi e progettazione delle personalizzazioni e di manutenzione degli archivi. Per il progetto sistemistico si illustrano gli aspetti relativi all’analisi delle utenze ed alla progettazione dell’architettura applicativa, della rete, della configurazione hardware e dell’implementazione del DBMS.
Viene poi affrontato il problema della qualità dei dati esaminando i problemi di propagazione dell’errore e di controllo di qualità, per poi passare ad illustrare le metodologie di acquisizione, elaborazione e restituzione alla luce di principali test di qualità dei dati geografici e delle specifiche esigenze di accuratezza.
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
SISTEMI INFORMATIVI TERRITORIALI: ARCHITETTURA DI SISTEMA
1. ARCHITETTURA DI SISTEMA 1
Filippo Licenziati
PROGETTO E REALIZZAZIONE DI
SISTEMI INFORMATIVI
TERRITORIALI
l’architettura
2. ARCHITETTURA DI SISTEMA 2
PROGETTO S.I.T.
STUDIO DI
FATTIBILITÀ
ANALISI DEI
DATI
ANALISI DELLE
FONTI
CARTOGRAFICHE
ANALISI
FUNZIONALE
ANALISI DELLE
UTENZE
PROGETTO DEL
DATABASE
PIANO DI
ACQUISIZIONE
PROGETTO DELLE
PERSONALIZZAZ.
PROGETTO
SISTEMISTICO
ACQUISIZIONE
DATI
REALIZZAZIONE
DEL PROTOTIPO
VERIFICHE
SISTEMA
3. ARCHITETTURA DI SISTEMA 3
INDICE
ANALISI DELLE UTENZE
• caratterizzazione
• stime quantitative
PROGETTO SISTEMISTICO
• architettura applicativa
• architettura di rete
• configurazione hardware
• implementazione del database
4. ARCHITETTURA DI SISTEMA 4
ANALISI DELLE UTENZE
Caratterizzazione e
stima quantitativa degli
utenti e del database
5. ARCHITETTURA DI SISTEMA 5
Caratterizzazione dell’utenza
• secondo le capacità operative
• secondo le esigenze d’accesso
• secondo le necessità operative
6. ARCHITETTURA DI SISTEMA 6
Capacità operative (I)
UTENTE ESPERTO
accede direttamente al
database attraverso le
funzioni primitive del
software di ambiente
7. ARCHITETTURA DI SISTEMA 7
Capacità operative (II)
UTENTE ABITUALE
accede a funzioni
personalizzate, con limitate
possibilità di modifica o di
downloading
8. ARCHITETTURA DI SISTEMA 8
Capacità operative (III)
UTENTE
OCCASIONALE
accede a funzioni
personalizzate, senza
possibilità di modifica o
di downloading
12. ARCHITETTURA DI SISTEMA 12
Esigenze operative (I)
CONSULTAZIONE
le attività di consultazione
consistono nell’interrogazione
del database e
nell’elaborazione delle
informazioni in esso
contenute, senza apportare
modifiche permanenti
13. ARCHITETTURA DI SISTEMA 13
Esigenze operative (II)
AGGIORNAMENTO
le attività di aggiornamento
comportano una proposta
di modifica permanente,
che diverrà definitiva dopo
la validazione
14. ARCHITETTURA DI SISTEMA 14
Esigenze operative (III)
VALIDAZIONE
la validazione
autorizza in via
definitiva una
modifica
permanente del
database
15. ARCHITETTURA DI SISTEMA 15
Stima quantitativa
NUMERO E
TIPOLOGIA
DEGLI UTENTI
numero e tipologia
dei p.d.l. e delle
licenze client
16. ARCHITETTURA DI SISTEMA 16
Dislocazione
DISLOCAZIONE
DEGLI UTENTI
tipologia e velocità
della rete e
configurazione dei
server
17. ARCHITETTURA DI SISTEMA 17
Dimensioni del database
VOLUME E
TECNOLOGIA
DEL DB
scelta del DB non
grafico e
dimensionamento
delle memorie di
massa
18. ARCHITETTURA DI SISTEMA 18
PROGETTO SISTEMISTICO
Configurazione della
struttura di elaborazione e
dell’infrastruttura di
comunicazione
20. ARCHITETTURA DI SISTEMA 20
Architettura client/server
Un'applicazione client/server è un tipo di applicazione di rete,
nella quale un computer client istanzia l'interfaccia utente di
un'applicazione connettendosi ad una server application.
21. ARCHITETTURA DI SISTEMA 21
Architettura web based
intranet
Internet
Con il termine web-application si descrive un'applicazione
accessibile via web (web based) per mezzo di un network, come
ad esempio una intranet o attraverso la Rete Internet.
web serverapplication
server
23. ARCHITETTURA DI SISTEMA 23
Client/server, database
ArcSDE Service
Database
Windows, Unix, Linux
Server
ArcInfo ArcEditor ArcViewArcReader
24. ARCHITETTURA DI SISTEMA 24
Web based, database
ArcIMS Service
ArcExplorer
Browser
Html/JAVA
ArcPad
ArcSDE Service
Database
Windows, Unix, Linux
Server
25. ARCHITETTURA DI SISTEMA 25
Architettura completa
Client
File Dati
ArcIMS Service
ArcExplorer
Browser
Html/JAVA
ArcPad
ArcSDE Service
Database
ArcInfo ArcEditor ArcView
ArcReader
Windows, Unix, Linux
Server
26. ARCHITETTURA DI SISTEMA 26
SOA: Service Oriented Architecture
ArcIMS
Web Server (IIS, IPlanet, Apache, etc.)
Image Feature Download Route Metadata ArcMap
Web Services
ArcIMS Server
Attraverso
un'architettura basata sui
web services, applicazioni
software scritte in
linguaggi diversi di
programmazione e
implementate su
piattaforme hardware
diverse possono essere
utilizzate per l’elaborazione
di operazioni complesse sia
su reti aziendali sia su
Internet.
27. ARCHITETTURA DI SISTEMA 27
PROGETTO DELLA RETE
• LAN
• WAN
• intranet
• extranet
• Internet
ARCHITETTURA DI RETE
28. ARCHITETTURA DI SISTEMA 28
LAN: Local Area Network
L'estensione territoriale
limitata favorisce la
velocità della
trasmissione dati, che si
attesta di norma tra i 10
Mbps e i 100 Mbps. Le
LAN più recenti
operano poi fino a 1
Gbps.
Tipologia di rete informatica con
un'estensione territoriale limitata a
qualche chilometro, tipicamente serve
un'azienda all'interno di un edificio, o al
massimo più edifici adiacenti fra loro.
La LAN inoltre, sempre in conseguenza dell'estensione territoriale limitata,
ha bassi ritardi e pochissimi errori.
29. ARCHITETTURA DI SISTEMA 29
WAN: Wide Area Network
Una rete geografica, in inglese Wide Area
Network, è una rete informatica usata per
connettere insieme più reti locali (LAN) in
modo che un utente di una rete possa
comunicare con utenti di un'altra rete.
Di solito le WAN sono costruite per una
particolare organizzazione e sono private.
30. ARCHITETTURA DI SISTEMA 30
Intranet
Una intranet è una rete
locale (LAN), o un
raggruppamento di reti
locali, basata sul
protocollo TCP/IP, usata
all'interno di una
organizzazione.
31. ARCHITETTURA DI SISTEMA 31
Protocollo TCP/IP (I)
Tali protocolli controllano l'invio
e la ricezione dei pacchetti. I
protocolli più importanti sono il
Transmission Control Protocol
("Protocollo di trasmissione
dati", TCP) e l'Internet Protocol
("Protocollo Internet", IP).
Per potersi collegare ad Internet, il
solo requisito richiesto ad un
qualsiasi agente o dispositivo
elettronico è quello di poter
"dialogare" con i protocolli.
32. ARCHITETTURA DI SISTEMA 32
Protocollo TCP/IP (II)
In pratica un pacchetto che parte
da un host attraversa i diversi
strati protocollari che aggiungono
informazioni al pacchetto.
Quando questo raggiunge la
destinazione, avviene uno
spacchettamento inverso e ogni
livello legge le sue informazioni.
La struttura di comunicazione è a livelli: il protocollo TCP occupa il livello
superiore rispetto a IP. Al di sopra e al di sotto ne funzionano degli altri.
33. ARCHITETTURA DI SISTEMA 33
Internet
automatico ad un altro agente tramite, praticamente,
qualsiasi tipo di computer o elaboratore elettronico
oggi o in futuro esistente o immaginabile.
Internet può essere vista come una
rete logica di enorme complessità,
appoggiata a strutture fisiche e
collegamenti di vario tipo, che
interconnette un agente umano o
34. ARCHITETTURA DI SISTEMA 34
Extranet
Quando, via Internet, una parte della intranet viene resa
accessibile a persone esterne all'organizzazione, tale parte
diventa una extranet.
Al fine di impedire accessi indesiderati, l’utente esterno viene
identificato attraverso un’opportuna profilazione (user-id e
password).
35. ARCHITETTURA DI SISTEMA 35
Servizi ASP
L'utilizzo dei servizi ASP presenta i seguenti vantaggi:
• riduzione della complessità della gestione dell'informatica in azienda
• diminuzione dei costi di Information Technology (investimenti e costi di
gestione)
• sostituzione di costi fissi di Information Technology con costi variabili (canoni
periodici spesso determinati sulla base dell'utilizzo effettivo degli applicativi)
• accesso ad applicazioni di elevata qualità ed al relativo know-how (spesso non
possibile per le aziende di medie e piccole dimensioni).
I servizi ASP, ovvero l'erogazione di software tramite Internet
dietro pagamento di un canone periodico calcolato sulla base
dell'utilizzo del software stesso, rappresentano una delle aree più
promettenti nel panorama dei servizi di Information Technology.
36. ARCHITETTURA DI SISTEMA 36
Collegamenti Internet
Una DMZ (demilitarized zone) è un segmento isolato di LAN raggiungibile sia
da reti interne che esterne che permette, però, connessioni esclusivamente
verso l'esterno: gli host attestati sulla DMZ non possono connettersi alla rete
aziendale interna.
Un firewall è un apparato di rete hardware o software che filtra tutti i
pacchetti entranti ed uscenti, da e verso una rete o un computer, applicando
regole che contribuiscono alla sicurezza della stessa.
web serverapplication
server firewall InternetLAN
DMZ
37. ARCHITETTURA DI SISTEMA 37
CONFIGURAZIONE HARDWARE
data server
application server
net server
web server
clients
protezione dei dati
38. ARCHITETTURA DI SISTEMA 38
Database server (I)
server dedicati alla gestione di database centralizzati o
distribuiti (cioè localizzati in una o più macchine accessibili
attraverso i protocolli di rete)
39. ARCHITETTURA DI SISTEMA 39
Database server (II)
Vantaggi:
• concentrazione dei dati validi su una
singola macchina o classe di macchine, con
maggiori possibilità di garantire l'integrità,
il mirroring, il backup, la riservatezza e la
validità dei dati;
• fornitura di servizio di CPU con garanzie
di limitazione di accesso, permessi operativi;
Il ruolo di server DBMS e' svolto tradizionalmente da macchine
UNIX con gestionali di basi dati di grossa levatura quali Oracle,
Informix e Sybase
40. ARCHITETTURA DI SISTEMA 40
Storage Area Network (I)
Un'architettura SAN
lavora in modo che tutti
i dispositivi di
memorizzazione siano
disponibili a qualsiasi
server della LAN di cui
la SAN fa parte.
Il vantaggio di un'architettura di questo tipo è che tutta la
potenza di calcolo dei server è utilizzata per le applicazioni, in
quanto i dati non risiedono direttamente in alcuno di questi.
41. ARCHITETTURA DI SISTEMA 41
Storage Area Network (II)
In una rete SAN le
periferiche di storage
sono connesse ai server
attraverso una
topologia costituita
essenzialmente da
canali - solitamente in
fibra ottica - e da vari
dispositivi di switching,
evitando così un
sovraccarico della LAN.
42. ARCHITETTURA DI SISTEMA 42
Network Attached Storage
Dispositivo collegato ad una rete di computer
la cui funzione è quella di condividere tra gli
utenti della rete una area di storage (o disco).
I NAS sono generalmente, ma non necessariamente, dei
computer ridotti con a bordo il minimo necessario per poter
comunicare via rete. Oggigiorno i NAS più diffusi sono in
pratica dei PC con a bordo il sistema operativo Linux
(comunque non visibile dall'utente), e numerosi hard disk
per l'immagazzinamento dati.
Questa architettura ha il vantaggio di rendere disponibili i file
contemporaneamente su diverse piattaforme come ad esempio Linux, Windows
e Unix, in quanto il sistema operativo implementa i server di rete per tutti gli
standard più diffusi quali ad esempio FTP, Network File System (NFS) e Samba
per le reti Windows.
44. ARCHITETTURA DI SISTEMA 44
NAS e SAN (II)
I SAN “comprendono” una
rete, piuttosto di usarla per il
loro funzionamento, e sono
assoggettati a tecnologie e
protocolli spesso proprietari
per dar luogo al trasferimento
delle informazioni utili a
definire le funzionalità di
comunicazione interne.
NAS SAN
I NAS, invece, sono dispositivi
direttamente collegati alla
LAN.
Talvolta un sistema NAS può
essere utilizzato come nodo di una
SAN, data la scalabilità di tale
architettura.
45. ARCHITETTURA DI SISTEMA 45
Application server
macchina dedicata
all’esecuzione degli
applicativi, che viene
affidata non ai PC, ma a
server con particolari ed
elevate risorse di calcolo
Il ruolo di application server, che agli inizi del movimento client-
server era appannaggio di UNIX, sembra sempre più passare a
macchine Windows NT.
46. ARCHITETTURA DI SISTEMA 46
Net server
Il server di rete è un computer dedicato che
funge da "computer centrale" di una rete
locale e che deve possedere particolari
caratteristiche di:
• alta affidabilità
• elevata potenza elaborativa
• accesso condiviso da parte di tutti i
computer della rete
• gestione utenti e gruppi di lavoro
• aree di dati condivise a cui tutti gli
utenti accedono in contemporanea
• programmi condivisi in rete
• caselle di posta elettronica interne
• sistema di sicurezza contro gli accessi
indesiderati da internet e dall'esterno
• sistema di salvataggio automatico dei dati
• sistema automatico di spegnimento
I servizi che un server di rete eroga sono:
47. ARCHITETTURA DI SISTEMA 47
Web server
Si occupa di fornire le
pagine web, su richiesta
del browser residente sul
client.
Le informazioni inviate
dal web server viaggiano
in rete trasportate dal
protocollo HTTP.
Il computer utilizzato da
Tim Berners-Lee
come primo server web nel 1990
48. ARCHITETTURA DI SISTEMA 48
Clients
Qualsiasi componente che accede
ai servizi o alle risorse di un'altra
componente, detta server.
Un computer collegato ad
un server tramite una rete
informatica (locale o
geografica) ed al quale
richiede uno o più servizi,
utilizzando uno o più
protocolli di rete è un
esempio di client hardware.
49. ARCHITETTURA DI SISTEMA 49
Protezione dei dati
Un Redundant Array of Independent Disks
(RAID, insieme ridondante di dischi
indipendenti) è un sistema informatico che
usa un insieme di dischi rigidi per
condividere o replicare le informazioni.
I benefici del RAID sono di aumentare
l'integrità dei dati, la tolleranza ai guasti e/o
le prestazioni, rispetto all'uso di un disco
singolo.
50. ARCHITETTURA DI SISTEMA 50
RAID 1: mirroring
Poiché ogni disco può essere gestito
autonomamente nel caso l'altro si guasti,
l'affidabilità aumenta linearmente al numero di
dischi presenti.
RAID 1 aumenta anche le prestazioni in lettura,
visto che molte implementazioni possono leggere
da un disco mentre l'altro è occupato.
Il sistema RAID 1 crea una copia esatta (mirror) di tutti i dati su
due o più dischi. È utile nei casi in cui la ridondanza è più
importante che usare tutti i dischi alla loro massima capacità:
infatti il sistema può avere una capacità massima pari a quella del
disco più piccolo.
51. ARCHITETTURA DI SISTEMA 51
RAID 5 (I)
Nell'esempio, una
richiesta al blocco "A1"
potrebbe essere evasa
dal disco 1.
Una simultanea
richiesta per il blocco B1
dovrebbe aspettare, ma
una richiesta simultanea
per il blocco B2
potrebbe essere evasa in
contemporanea.
Un sistema RAID 5 usa una divisione dei dati a livello di blocco con
i dati di parità distribuiti tra tutti i dischi appartenenti al RAID.
52. ARCHITETTURA DI SISTEMA 52
RAID 5 (II)
Il blocco di parità è letto solo quando la lettura di un
settore dà un errore. In questo caso, il settore nella
stessa posizione relativa nei blocchi di dati rimanenti,
insieme al blocco di parità, vengono usati per
ricostruire il blocco mancante. In questo modo
l'errore viene nascosto al computer chiamante.
Nella stessa maniera, se un disco dovesse danneggiarsi
all'interno del sistema, i blocchi di parità dei dischi
rimanenti sono combinati matematicamente "al volo"
con i blocchi dati rimasti per ricostruire i dati del
disco guasto.
53. ARCHITETTURA DI SISTEMA 53
Protezione dai guasti (I)
Tuttavia la tolleranza ai guasti non garantisce
l'immunità da tutti i guasti, ma solo che i guasti per cui
è stata progettata una protezione non causino
interruzioni del servizio.
La tolleranza ai guasti (fault-
tolerance) è la capacità di un sistema
di non subire interruzioni di
servizio anche in presenza di guasti.
La tolleranza ai guasti è uno degli
aspetti che costituiscono
l'affidabilità.
54. ARCHITETTURA DI SISTEMA 54
Protezione dai guasti (II)
Le principali misure di fault-tolerance sono:
• gruppi di continuità sull’alimentazione elettrica,
• “robustezza” degli apparati,
• sistemi multiprocessore,
• ridondanza dei server,
• verifica di parità
• ridondanza dei dati (RAID)
55. ARCHITETTURA DI SISTEMA 55
IMPLEMENTAZIONE DEL DBMS
distribuzione del database
Data Base Management
System
integrazione con il sistema
informativo
56. ARCHITETTURA DI SISTEMA 56
Distribuzione del database
application
server
zona 1 zona 2 zona 3
clients
59. ARCHITETTURA DI SISTEMA 59
Database Management System
Si occupa di fornire i servizi di
utilizzo del database ad altri
programmi e ad altri computer
secondo la modalità client/server.
Il server memorizza i dati, riceve le
richieste dei client ed elabora le
risposte appropriate.
I DBMS sono complessi sistemi software concepiti, oltre che per
memorizzare i dati, anche per fornire un accesso rapido ed
efficace a una pluralità di utenti contemporaneamente e
garantire protezione sia dai guasti che dagli accessi indebiti.
60. ARCHITETTURA DI SISTEMA 60
Database Management System
Tra i più diffusi DBMS open source troviamo:
• Firebird SQL
• MySQL
• PostgreSQL
I più diffusi sistemi commerciali sono:
• IBM DB2
• Microsoft SQL Server
• Oracle
61. ARCHITETTURA DI SISTEMA 61
Integrazione con il sistema informativo
RDBMS
SDESDE
P.R.G.
PIANI DI COORD.
DISCARICHE
CAVE
…….
ANAGRAFE
ATTI AMMINISTRAT.
…….
62. Moduli del corso
ARCHITETTURA DI SISTEMA 62
0 - INTRODUZIONE
0A- caratteristiche e potenzialità
0B - progetto e realizzazione
1 - IL DATABASE
2 - LA CARTOGRAFIA
3 - LE FUNZIONALITA’
4 - L’ARCHITETTURA
5 - LA QUALITA’ DEI DATI