ARCHITETTURA DI SISTEMA Filippo Licenziati PROGETTO E REALIZZAZIONE DI SISTEMI INFORMATIVI TERRITORIALI l’architettura 1 ARCHITETTURA DI SISTEMA 2 PROGETTO S.I.T. STUDIO DI FATTIBILITÀ ANALISI DEI DATI PROGETTO DEL DATABASE ACQUISIZIONE DATI ANALISI DELLE FONTI CARTOGRAFICHE PIANO DI ACQUISIZIONE VERIFICHE ANALISI FUNZIONALE PROGETTO DELLE PERSONALIZZAZ. REALIZZAZIONE DEL PROTOTIPO ANALISI DELLE UTENZE PROGETTO SISTEMISTICO SISTEMA ARCHITETTURA DI SISTEMA INDICE ANALISI DELLE UTENZE • caratterizzazione • stime quantitative PROGETTO SISTEMISTICO • architettura applicativa • architettura di rete • configurazione hardware • implementazione del database 3 ARCHITETTURA DI SISTEMA 4 ANALISI DELLE UTENZE Caratterizzazione e stima quantitativa degli utenti e del database ARCHITETTURA DI SISTEMA Caratterizzazione dell’utenza • secondo le capacità operative • secondo le esigenze d’accesso • secondo le necessità operative 5 ARCHITETTURA DI SISTEMA Capacità operative (I) UTENTE ESPERTO accede direttamente al database attraverso le funzioni primitive del software di ambiente 6 ARCHITETTURA DI SISTEMA Capacità operative (II) UTENTE ABITUALE accede a funzioni personalizzate, con limitate possibilità di modifica o di downloading 7 ARCHITETTURA DI SISTEMA Capacità operative (III) UTENTE OCCASIONALE accede a funzioni personalizzate, senza possibilità di modifica o di downloading 8 ARCHITETTURA DI SISTEMA Esigenze di accesso (I) ACCESSO PER TERRITORIO 9 ARCHITETTURA DI SISTEMA Esigenze di accesso (II) ACCESSO PER TEMATISMO 10 ARCHITETTURA DI SISTEMA Esigenze di accesso (III) ACCESSO INCROCIATO 11 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 ARCHITETTURA DI SISTEMA 13 Esigenze operative (II) AGGIORNAMENTO le attività di aggiornamento comportano una proposta di modifica permanente, che diverrà definitiva dopo la validazione ARCHITETTURA DI SISTEMA 14 Esigenze operative (III) VALIDAZIONE la validazione autorizza in via definitiva una modifica permanente del database ARCHITETTURA DI SISTEMA Stima quantitativa NUMERO E TIPOLOGIA DEGLI UTENTI numero e tipologia dei p.d.l. e delle licenze client 15 ARCHITETTURA DI SISTEMA Dislocazione DISLOCAZIONE DEGLI UTENTI tipologia e velocità della rete e configurazione dei server 16 ARCHITETTURA DI SISTEMA Dimensioni del database VOLUME E TECNOLOGIA DEL DB scelta del DB non grafico e dimensionamento delle memorie di massa 17 ARCHITETTURA DI SISTEMA 18 PROGETTO SISTEMISTICO Configurazione della struttura di elaborazione e dell’infrastruttura di comunicazione ARCHITETTURA DI SISTEMA 19 ARCHITETTURA APPLICATIVA web based client/server ARCHITETTURA DI SISTEMA 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. 20 ARCHITETTURA DI SISTEMA 21 Architettura web based intranet Internet application server web server 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. ARCHITETTURA DI SISTEMA Stand alone, file based ArcReader ArcInfo ArcEditor File ArcView 22 ARCHITETTURA DI SISTEMA Client/server, database ArcReader ArcInfo ArcEditor ArcSDE Service ArcView Server Windows, Unix, Linux Database 23 ARCHITETTURA DI SISTEMA Web based, database Browser Html/JAVA ArcExplorer ArcIMS Service ArcSDE Service Server Windows, Unix, Linux Database ArcPad 24 ARCHITETTURA DI SISTEMA 25 Architettura completa ArcEditor ArcView ArcExplorer Client ArcInfo Browser Html/JAVA ArcIMS Service ArcReader ArcSDE Service Server ArcPad Windows, Unix, Linux File Database Dati ARCHITETTURA DI SISTEMA 26 SOA: Service Oriented Architecture Attraverso un'architettura basata sui web services, applicazioni software scritte in linguaggi diversi di Web Services programmazione e implementate su piattaforme hardware diverse possono essere utilizzate per l’elaborazione di operazioni complesse sia su reti aziendali sia su Internet. Web Server (IIS, IPlanet, Apache, etc.) ArcIMS Server Image Feature Download Route Metadata ArcIMS ArcMap ARCHITETTURA DI SISTEMA 27 ARCHITETTURA DI RETE PROGETTO DELLA RETE • LAN • WAN • intranet • extranet • Internet ARCHITETTURA DI SISTEMA 28 LAN: Local Area Network 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. 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. La LAN inoltre, sempre in conseguenza dell'estensione territoriale limitata, ha bassi ritardi e pochissimi errori. ARCHITETTURA DI SISTEMA 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. 29 ARCHITETTURA DI SISTEMA Intranet Una intranet è una rete locale (LAN), o un raggruppamento di reti locali, basata sul protocollo TCP/IP, usata all'interno di una organizzazione. 30 ARCHITETTURA DI SISTEMA 31 Protocollo TCP/IP (I) Per potersi collegare ad Internet, il solo requisito richiesto ad un qualsiasi agente o dispositivo elettronico è quello di poter "dialogare" con i protocolli. 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). ARCHITETTURA DI SISTEMA 32 Protocollo TCP/IP (II) 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. 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. ARCHITETTURA DI SISTEMA Internet 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 automatico ad un altro agente tramite, praticamente, qualsiasi tipo di computer o elaboratore elettronico oggi o in futuro esistente o immaginabile. 33 ARCHITETTURA DI SISTEMA 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). 34 ARCHITETTURA DI SISTEMA 35 Servizi ASP 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. 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). ARCHITETTURA DI SISTEMA 36 Collegamenti Internet DMZ LAN application server web server firewall 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. ARCHITETTURA DI SISTEMA 37 CONFIGURAZIONE HARDWARE data server application server net server web server clients protezione dei dati ARCHITETTURA DI SISTEMA 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) 38 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 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. 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. 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. ARCHITETTURA DI SISTEMA NAS e SAN (I) 43 ARCHITETTURA DI SISTEMA 44 NAS e SAN (II) NAS SAN 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 Talvolta un sistema NAS può essere utilizzato come nodo di una delle informazioni utili a definire le funzionalità di SAN, data la scalabilità di tale comunicazione interne. architettura. I NAS, invece, sono dispositivi direttamente collegati alla LAN. 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 clientserver era appannaggio di UNIX, sembra sempre più passare a macchine Windows NT. 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 I servizi che un server di rete eroga sono: • 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 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 ARCHITETTURA DI SISTEMA 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. 48 ARCHITETTURA DI SISTEMA 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. 49 ARCHITETTURA DI SISTEMA 50 RAID 1: mirroring 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. 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. ARCHITETTURA DI SISTEMA 51 RAID 5 (I) 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. 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. 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. ARCHITETTURA DI SISTEMA 53 Protezione dai guasti (I) La tolleranza ai guasti (faulttolerance) è 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à. 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. ARCHITETTURA DI SISTEMA 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) 54 ARCHITETTURA DI SISTEMA 55 IMPLEMENTAZIONE DEL DBMS distribuzione del database Data Base Management System integrazione con il sistema informativo ARCHITETTURA DI SISTEMA Distribuzione del database clients application server zona 1 zona 2 zona 3 56 ARCHITETTURA DI SISTEMA Esecuzione parallela (I) client zona 1 zona 2 zona 3 57 ARCHITETTURA DI SISTEMA Esecuzione parallela (II) client zona 1 zona 2 zona 3 58 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. 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 ARCHITETTURA DI SISTEMA 61 Integrazione con il sistema informativo SDE RDBMS P.R.G. PIANI DI COORD. DISCARICHE CAVE ……. ANAGRAFE ATTI AMMINISTRAT. …….