UNIVERSITA’ DEGLI STUDI DI CAGLIARI FACOLTA’ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni. Relatore: Tesi di laurea di: Prof.ssa Nicoletta Dessì Gessica Flore Maria Giuseppina Tola ANNO ACCADEMICO 2001/2002 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ INDICE INDICE ................................................................................. 2 PRESENTAZIONE .............................................................. 4 1. INTRODUZIONE.......................................................... 5 1.1 I SISTEMI INFORMATIVI BASATI SU WEB .............................. 5 1.2 PROBLEMATICHE DEI SISTEMI WIS ........................................ 9 1.3 WEB E DATABASE ....................................................................... 12 2. GLI STRUMENTI ....................................................... 18 2.1 LE BASI DI DATI ........................................................................... 18 2.1.1 Database basati su architettura client/server .............................. 18 2.1.2 Le transazioni e il controllo della concorrenza .......................... 24 2.2 LE RETI ........................................................................................... 32 2.2.1 La rete Internet ........................................................................... 32 2.2.2 Sicurezza .................................................................................... 47 2.3 GLI ASPETTI IMPLEMENTATIVI ............................................... 51 2.3.1 ERD (Diagramma Entità Relazione).......................................... 51 2.3.3 ASP (Application Service Provider) .......................................... 54 2.3.4 JMS E XML ............................................................................... 56 3. UN CASO DI STUDIO ................................................ 67 3.1 INTRODUZIONE ........................................................................... 67 3.2 ATTIVITA’ DI PROTOCOLLAZIONE ......................................... 69 2 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 3.1.1 Gestione dell’archivio ................................................................ 71 3.1.2 Attuali implementazioni ............................................................. 75 3.2 ANALISI E PROGETTO ................................................................ 78 3.3 IMPLEMENTAZIONE ................................................................... 91 3.4 LA FASE DI TEST .......................................................................... 92 GLOSSARIO ...................................................................... 94 ALLEGATI ....................................................................... 110 DIZIONARIO DEI DATI (DD) .......................................................... 110 3 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ PRESENTAZIONE I recenti e continui sviluppi delle tecnologie informatiche hanno indotto profondi mutamenti nelle modalità di progettazione di un sistema informativo aziendale. Da una concezione basata su un’architettura centralizzata e locale, si sta rapidamente passando a concepire l’insieme dei documenti aziendali come archiviati in un sistema distribuito in rete. Pertanto non è importante che il database server sia di proprietà aziendale ma che il service per la gestione dei documenti sia efficacemente gestito. Questa tesi presenta una rassegna degli strumenti e dei metodi relativi alla progettazione di un database distribuito. Tale rassegna è di supporto alla progettazione di un Protocollo Informatico nelle Pubbliche Amministrazioni che viene esposto come caso di studio ricco d’interessanti problematiche. 4 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 1. INTRODUZIONE 1.1 I SISTEMI INFORMATIVI BASATI SU WEB I l progresso tecnologico ha portato cambiamenti enormi nell'impiego dell'informatica al servizio del business delle aziende. Oggi si assiste ad una diffusione straordinaria degli strumenti e ad una crescita notevole della cultura informatica, tuttavia il computer in azienda non è ancora abbastanza amichevole. Un sistema informativo di un’organizzazione (azienda, comune, ferrovie, etc.) è una combinazione di risorse umane e materiali (computer, dispositivi, carta, etc.) e di procedure organizzate per la raccolta, l’archiviazione, l’elaborazione e lo scambio d’informazioni necessarie alle Attività operative (informazioni per il funzionamento normale) Attività di gestione (informazioni strategiche) Attività di programmazione, controllo e valutazione (garantire il prodotto al cliente). 5 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ La diffusione crescente del World Wide Web e la capillare penetrazione della tecnologia ad esso connessa sta generando notevoli cambiamenti nella gestione ed organizzazione delle informazioni di moltissime attività, con un considerevole impatto sul sistema informativo di molte aziende. D’altra parte, la crescente affidabilità di strumenti e tecniche generati dalla “rivoluzione WEB” rende sempre più conveniente basare lo sviluppo di nuove applicazioni su questa tecnologia, soprattutto per i grossi vantaggi forniti in termini di scalabilità e distribuzione. Nel corso degli anni i “siti WEB” si sono raffinati ed arricchiti di servizi trasformandosi in strumenti sempre più complessi, che spesso affiancano il sistema informativo, là dove presente, o ne costituiscono il nucleo iniziale, sebbene a volte in maniera confusa. Nuove esigenze di applicazioni realizzate per il WEB, ad esempio la possibilità di accedere a basi di dati aziendali rende sempre più necessario un ripensamento dei sistemi informativi per le organizzazioni. Negli ultimi anni, la tecnologia WEB è cresciuta a ritmi impressionanti trasformando i vari “siti” da semplici finestre nell’area marketing a piattaforme capaci di supportare tutti gli aspetti di un’attività organizzata. L’opportunità di utilizzare la piattaforma WEB, per la realizzazione di sistemi informativi, offre notevoli benefici, sebbene ponga nuove problematiche per la loro implementazione. Un sistema informativo basato sul WEB (WIS) è un sistema la cui implementazione e gestione avviene tramite l’utilizzo della tecnologia WEB. Esiste una chiara differenza tra un WIS ed un insieme di pagine WEB. Nei primi le varie componenti (es. gestore di basi di dati, processi delle transazioni, ecc.) sono strettamente integrate e consentono di svolgere attività preposte al buon 6 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ funzionamento di un’organizzazione. Rispetto ad un sistema informativo tradizionale, un WIS è un sistema aperto in cui le informazioni assumono forme sempre più complesse, grazie alle caratteristiche intrinseche della tecnologia WEB, con la quale si ottiene una maggiore capacità di adeguarsi con efficienza ai mutamenti. Una caratteristica fondamentale del WIS è la potenzialità di raggiungere una comunità enormemente più ampia di quella delle tradizionali realizzazioni client/server basati su rete proprietarie, consentendo l’accesso ad informazioni e funzioni anche ad utenti occasionali. Tale possibilità è enfatizzata dalle caratteristiche intrinseche della tecnologia WEB: standard aperti e software molto spesso gratuito e facilmente disponibile. Questa caratteristica risulta estremamente interessante per organizzazioni che abbiano una struttura distribuita su un territorio molto ampio o che intendono allargare la propria attività al cosiddetto e-Business. Un’altra area rilevante per la realizzazione del WIS è costituita dalle istituzioni pubbliche. Queste raccolgono, generano e distribuiscono, in generale, una gran quantità di informazioni, la cui conoscenza può risultare molto importante per i cittadini e per le imprese. Questi sistemi, chiamati Public Access WIS (PAWIS) hanno una caratteristica da cui non si può prescindere: l’accesso universale, cioè la possibilità di utilizzare i servizi o di accedere ai documenti pubblici deve essere fornita a tutti, a prescindere dall’esperienza e dalle dotazioni hardware dell’utilizzatore. In un WIS si possono riconoscere alcuni sottosistemi fondamentali: a) Il sottosistema di gestione delle comunicazioni. b) Il sottosistema di gestione delle interazioni uomo/macchina. c) Il sottosistema di gestione dei dati. 7 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Tali sottosistemi hanno caratteristiche peculiari che differenziano un WIS da un Sistema Informativo tradizionale e che si prendono di seguito in considerazione. a) Gestione della comunicazione. La rete Internet ed il protocollo TCP/IP non pongono limiti geografici o hardware/software all’espansibilità del sottosistema di gestione delle comunicazioni. b) Interazione uomo-macchina. Le più importanti caratteristiche del sottosistema di gestione delle interazioni uomo-macchina di un WIS sono costituite dall’universalità dei Browser grafici e dalla possibilità di utilizzare codice multipiattaforma per la realizzazione della componente client del sistema. Questo non solo semplifica notevolmente lo sviluppo delle interfacce utente, che non sono più vincolate ad architetture hardware o software, ma facilita anche la distribuzione e l’installazione delle stesse. c) Gestione dei dati. Per quanto riguarda il sottosistema di gestione dei dati di un WIS, la situazione è molto più complessa. In un sistema informativo tradizionale, di solito, esso è realizzato tramite l’uso di un DBMS, che implementa lo schema della base di dati. In tale situazione, ogni proprietà dello schema ha una corrispondenza diretta con una proprietà del database implementato (cioè l’attributo di una relazione). In un WIS, la corrispondenza univoca tra schema e proprietà del database non è più fissata a priori a causa della presenza di URL. Le URL possono essere viste come particolari tipi di dato, che oltre ad avere proprietà ed operazioni proprie, ereditano proprietà ed operazioni dei tipi di dato da essi connessi (linkati) e del tipo di server/protocollo cui fanno riferimento. Le URL possono essere interpretate come puntatori a informazioni 8 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ memorizzate in gestori dei dati che possono essere DBMS, file system, programmi che generano documenti on the fly. 1.2 PROBLEMATICHE DEI SISTEMI WIS A ffinché sia possibile realizzare un WIS efficiente ed efficace è necessario affrontare alcune problematiche non presenti nei sistemi informativi tradizionali. La progettazione di un WIS deve contemplare non solo la distribuzione delle informazioni ma anche l’integrazione con altri strumenti per svolgere compiti complessi, come supporto al lavoro cooperativo o al sistema di regolazione e controllo di un’organizzazione. La percezione stessa, da parte dell’utente, del WIS come un sistema integrato di servizi e funzionalità è un elemento fondamentale per la sua accettazione e per il suo successo. Alcune problematiche presenti nelle tradizionali applicazioni basate sul WEB (i cosiddetti Siti), a cui la tecnologia WIS dovrebbe essere in grado di fornire risposte adeguate sono: Meccanismi di ricerca. La realizzazione di un buon motore di ricerca per un WIS deve contemplare la possibilità di definire facilmente ed efficacemente filtri ben realizzati tramite interfacce utenti chiare che “guidino” nella compilazione di interrogazioni (query) prive di ambiguità. Il motore deve fornire suggerimenti alternativi in caso di ricerche con esito negativo e contemplare la possibilità di affinamenti successivi dei filtri di ricerca. 9 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Lentezza nel trasferimento dati. L’adozione di opportune tecniche di bilanciamento del carico tra client e server tramite l’utilizzo di codice mobile ed opportuni protocolli di comunicazione possono migliorare le prestazioni del sistema. Supporto per il lavoro cooperativo. Un sistema informativo basato sul WEB deve supportare sia la collaborazione asincrona (condivisione dei dati tra più soggetti, ciascuna impegnato in una sessione di lavoro individuale), che sincrona (condivisione simultanea dei dati tra più soggetti impegnati in una sessione di lavoro collettiva). L’integrazione tra WEB e strumenti di lavoro collaborativi è, ad oggi, ancora nella fase iniziale. La scelta tra le diverse soluzioni dipende dal particolare tipo d’interazione che si vuole ottenere e da altri fattori quali l’esperienza degli utenti e/o la dotazione hardware. I maggior problemi per la realizzazione di una soluzione efficiente, derivano dalle peculiarità del protocollo HTTP, che utilizza un modello di comunicazione strettamente client/server. Questo modello è adatto per l’accesso alle risorse ma non è sicuramente adatto ad attività di lavoro cooperativo. Ad esempio nel modello client/server il client deve eseguire accessi per verificare l’avvenuta modifica delle risorse. Meccanismi di caching locale. I meccanismi di accumulazione locale implementati dagli attuali Browser sono mirati essenzialmente a limitare, se possibile, il trasferimento di pagine da visualizzare. Questi meccanismi sono abbastanza poveri e limitano notevolmente il loro utilizzo senza la necessità di avere una connessione attiva (off line). Un WIS deve prevedere dei sofisticati meccanismi di accumulazione locale delle informazioni mirati all’utilizzo delle 10 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ applicazioni il più possibile off line, soprattutto per quelle situazioni in cui la connessione alla rete avviene su linea commutata. Gestione dei link. La gestione ed il controllo dei link è un aspetto molto importante nella realizzazione dei grandi sistemi hypermediali, come i WISs. La tecnologia WEB presenta attualmente dei limiti che ne impediscono una efficiente gestione. Il limite più grosso è sicuramente legato al fatto che siano inseriti all’interno del documento. Infatti, questa caratteristica comporta i seguenti problemi: - è molto difficile realizzare degli strumenti per la gestione, il controllo e/o l’aggiornamento dei link. - senza l’interpretazione del contesto non è semplice risalire dai link alle relazioni esistenti tra le diverse parti del sistema. Questo rende molto difficile sia la realizzazione di ricerche basate sulle relazioni tra i diversi documenti, sia ricavare ”a posteriori” le proprietà degli oggetti puntati. Questo secondo punto è molto importante, infatti, una corretta implementazione del sottosistema di gestione dei dati può avvenire solo conoscendo tutte le proprietà dei dati coinvolti. Una soluzione per ovviare a questi inconvenienti è il pieno uso di un formalismo più strutturato, come XML. Sicurezza ed autenticazione. La sicurezza e la gestione sicura dei dati sono tra i principali problemi da risolvere. In un sistema informativo tradizionale ci sono più tipologie di utenti ciascuna con specifici “diritti”, inoltre vengono eseguite transazioni che spesso coinvolgono dati critici, è necessario quindi implementare accuratamente i meccanismi di protezione e di gestione della sicurezza. In un WIS l’implementazione dei meccanismi di sicurezza può risultare complessa. Infatti, se i firewall o altri meccanismi di protezione software possono risultare 11 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ efficaci nell’impedire tentativi di intrusione nei computer o nelle reti, essi non forniscono alcun aiuto per la sicurezza delle transazioni ed in generale per la sicurezza delle funzioni di un sistema informativo. Affinché un WIS possa considerarsi sicuro è necessario che siano implementate le seguenti condizioni: - Confidenzialità: la comunicazione o il flusso delle informazioni tra più parti deve essere ristretto alle parti stesse - Autenticazione: ogni soggetto deve essere sicuro dell’identità del suo interlocutore o dell’origine dell’informazione cui sta accedendo - Integrità dei dati: i dati non devono poter essere modificati durante il trasferimento tra i soggetti di una comunicazione - Accesso ai servizi selettivo: è auspicabile che un soggetto “veda” solo i servizi a cui può accedere È possibile oggi implementare in tutto o in parte alcune di queste condizioni grazie ai protocolli sicuri ed al criptaggio dei dati, tuttavia la tecnologia WEB non fornisce alcun supporto nativo e molto è lasciato alle singole implementazioni. 1.3 WEB E DATABASE Gli antenati degli attuali Database sono i file su scheda la cui nascita coincide con l’invenzione, nel 1880, delle schede perforate da parte del dr. Herman Hollerith, che doveva completare l’elaborazione dei dati del censimento entro il 12 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 1890. L’impossibilità di portare a termine il lavoro con i mezzi manuali di conteggio sino ad allora disponibili lo portò a quest’invenzione. Ebbe cosi inizio l’era dei file su scheda che rimasero il mezzo principale di memorizzazione dei dati per i successivi 60 anni. In seguito per semplificare l’utilizzo e la gestione dei database abbiamo assistito a una serie di sue evoluzioni: dall’unità a nastro magnetico, nel 1951, all’introduzione dei dischi magnetici nel 1960. Il termine base di dati (database) in passato è stato utilizzato in modo improprio per definire insiemi di dati di dimensioni rilevanti. Può essere considerato come: un insieme integrato di dati inerenti al passato immagazzinati da un computer per un utilizzo futuro, gestito in modo tale da soddisfare le più svariate necessità dei propri utenti. Insieme integrato di dati Riduzione delle duplicazioni dei dati Esigenze degli utenti Strutture di memorizzazione flessibili Maggiore è la flessibilità, migliore è la capacità del database di far fronte alle richieste per un lungo periodo di tempo. Un database deve gestire in modo adeguato le relazioni tra dati diversi e le limitazioni dovute a segretezza e integrità (limitazioni d’utente) per proteggere i dati contro un utilizzo non autorizzato e contro aggiornamenti indesiderati. 13 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Terminale (remoto) Terminale (locale) Terminale (remoto) Computer Altre periferiche Configurazione hardware per database Il database viene solitamente collocato su un’unità ad accesso diretto, come ad esempio un disco. La configurazione può includere terminali remoti utilizzati dagli utenti e altre periferiche. All'epoca dei sistemi centralizzati, le applicazioni risiedevano ed erano eseguite su unità di grandi dimensioni; l'accesso a queste era possibile solo attraverso un terminale, cioè un dispositivo il cui unico scopo era quello di "prestare" un video ed una tastiera all'utente per consentirgli di colloquiare con il sistema. In seguito sono state introdotte le architetture di tipo client/server, dove l'applicazione non è più considerata come un blocco unico ma come un insieme coordinato di elementi eseguiti contemporaneamente da più macchine con ruoli diversi; da quest'ultimo punto di vista, il modello di rappresentazione classico delle applicazioni client/server distingue tra presentazione, logica applicativa e gestione dei dati. 14 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ In questa architettura le applicazioni basate su server comunicano con stazioni di lavoro client tramite una rete. Gli utenti, a casa o in ufficio, lavorano su computer client connessi ad Internet per la navigazione e utilizzano programmi chiamati Browser Web, o semplicemente browser. I server Web spesso si trovano in ambienti aziendali, sono connessi alla rete Internet ed eseguono software speciale. Una pagina Web è, generalmente, un file che contiene tag dell’Hypertext Markup Language (HTML) e testo. Quando un server Web riceve un messaggio da un Browser che chiede una pagina Web, rimanda al Browser dell’utente, attraverso Internet, il file HTML richiesto. Il Browser dell’utente visualizza il file, che si presenta come una pagina formattata in base alle tag HTML che contiene. Richiesta della pagina web Richiesta della pagina web Rete File HTML della pagina Web File HTML della pagina Web Browser Web (computer dell’utente o client) Server Web Architettura Web client/server Il Web è formato da computer nella rete Internet connessi tra loro in modalità client/server. Web e database sono due tecnologie che hanno avuto un grande successo, l'una assicurando la pubblicazione istantanea di informazioni in tutto il mondo, l'altra permettendo la memorizzazione e il recupero sul proprio computer di grandi quantità di informazioni. La loro unione permette il facile accesso a enormi depositi di informazione e sarà la base della prossima fase del Web dove 15 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ assisteremo allo sviluppo di applicazioni come il commercio elettronico, per le quali questa tecnologia è essenziale. Le applicazioni di commercio elettronico su WEB sono di grande interesse per un numero potenzialmente enorme di imprese e di organizzazioni. Il fabbisogno di siti WEB che consentono un uso intensivo dei dati sta determinando la fusione fra le tecnologie del WEB e quelle dei database. I siti specializzati nel fornire notizie e informazioni online su Internet e computer usano la tecnica del database per permettere l'accesso agli utenti di una quantità enorme di informazioni aggiornata in continuazione, infatti memorizzano tutte le informazioni in un database e le rendono accessibili sul Web. Queste informazioni, prima di arrivare all’utente devono seguire un percorso attraverso tre tappe principali. La partenza avviene dal computer dove risiede il database e il programma che lo gestisce (DBMS: Data Base Management System). La tappa intermedia è sul computer dove gira il server Web che gestisce i dati originali nel formato HTML usando dei programmi chiamati in gergo scripts (server scripts). L'ultima tappa è sul computer dell’utente dove viene usato un Browser per interpretare il documento HTML. Il Browser può completare il lavoro di trasformazione dei dati originali in HTML servendosi talvolta di programmi scripts (client scripts). Questo modo di pubblicare un database è detto a 3 strati (three tier) riferendosi appunto alle tre tappe viste prima e per distinguerla dalla pubblicazione a 2 strati (two tier), dove il cliente accede direttamente al database. L'introduzione del terzo strato, costituito dal server Web, ha semplificato moltissimo il problema 16 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ standardizzando l'interfaccia che ora non dipende più dal tipo di database. Il server Web è il programma che guida tutta l'operazione. E’ infatti ad esso che arriva la richiesta di interrogare un database sotto forma di documenti con uno speciale formato HTML. Si dice che l'accesso al data base viene fatto con pagine attive (attive perché contengono dei programmi che il server deve eseguire). Un esempio di pagine ad HTML modificato eseguite dal server sono le pagine “asp” (active server page). L'utente finale fa una richiesta al database di solito usando moduli o form HTML e come risultato riceve un documento che può essere già quello finale in puro HTML, oppure può contenere anch'esso una mistura di dati e programmi. Sta crescendo in modo astronomico il numero di siti WEB utilizzati per dare supporto ad applicazioni per il commercio elettronico e ad altre applicazioni nelle quali vengono utilizzate lunghe serie di pagine WEB. Trattandosi, per lo più, di applicazioni che fanno un uso intensivo dei dati, la scelta più logica per gestirle consiste nel ricorrere ad architetture di sistema basate su siti WEB accoppiati con database. 17 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 2. GLI STRUMENTI 2.1 LE BASI DI DATI 2.1.1 Database basati su architettura client/server I database conservano i dati di un’organizzazione in una sede centrale, utilizzando un formato standardizzato. Un database ha lo scopo di conservare un dato una sola volta, per evitare dati ridondanti e per assicurare coerenza. Per accedere ai dati i programmi interagiscono con il database Management System (DBMS, sistema di gestione del database), l’unico programma abilitato alla gestione diretta dei database. I primi database risiedevano in grandi computer mainframe centralizzati, ai quali gli utenti accedevano tramite terminali. Quando, negli anni ’80, si diffusero l’informatica distribuita e i microcomputer, emersero due nuovi tipi di database: i database personali e i database basati sull’architettura client/server. 18 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ I DBMS personali (come Microsoft Access) funzionano bene nel caso di applicazioni database utilizzabili dal disco rigido di un personal computer e concepite per utenti individuali. Tuttavia, quando si trasferisce un database personale in un ambiente client/server, utilizzandolo per applicazioni multiutente, può verificarsi qualche problema. Server dei file 1. Riceve le richieste dei file 2. Invia e riceve file Rete Richiesta di file aggiornati File richiesti File richiesti Richiesta di file aggiornati Stazione di lavoro client dell’utente 1 Stazione di lavoro client dell’utente 2 Utilizzo di un database personale per un’applicazione multiutente Il software, i dati e i programmi del database personale sono conservati in un file server. Quando un utente effettua una richiesta per esaminare, inserire, aggiornare o eliminare dati, la richiesta provoca il reperimento di un set di dati notevolmente più ampio dei dati richiesti al DBMS. Quando un client termina di aggiornare il database, tutti i dati vengono restituiti al file server. I database personali più recenti utilizzano file indicizzati che permettono al client di reperire sottoinsiemi del database più piccoli del set di dati accessibili al DBMS, ma, in qualsiasi caso, i DBMS personali possono imporre un pesante onere sulle stazioni di lavoro client e sulla rete. 19 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Contrariamente ai database personali, i database client /server (come Oracle e Microsoft NT SQL Server) attuano una gestione separata del DBMS e dei programmi che operano sul database. Il DBMS viene installato su un server, mentre i programmi che usano il database vengono installati ed eseguiti sul client. I programmi in esecuzione sul client inviano richieste di dati al DBMS attraverso la rete. 1. 2. 1. Server di database (elaborazione del DBMS) Riceve le richieste di dati, di dati nuovi e di aggiornamenti Filtra i dati richiesti dal database e li invia al client Oppure Aggiunge o aggiorna dati Rete Richiesta di dati Input e aggiornamento dati Dati filtrati Dati filtrati Richiesta di dati Input e aggiornamento dati Stazione di lavoro client dell’utente 1 Stazione di lavoro client dell’utente 2 Utilizzo di un database client/server per un’applicazione multiutente Quando il server del DBMS di tipo client/server riceve la richiesta, reperisce i dati dal database, esegue le funzioni richieste sui dati (ordinamento, filtraggio, etc.) e restituisce al client, attraverso la rete, solo il risultato finale della query. Di conseguenza, i database client/server multiutente spesso generano meno traffico di rete dei database personali, e sono meno soggetti a impantanarsi a causa di rete sovraccarica. Un’altra importante differenza fra database personali e database client/server, utilizzati per applicazioni multiutente, è costituita dal modo in cui gestiscono le cadute di connessione del client. In un sistema di database personale con 20 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ un’applicazione multiutente, quando una stazione di lavoro client “cade” (in seguito ad un errore del software o a un’interruzione di corrente) è possibile che il database venga danneggiato, a causa di query di comando interrotte (le query di comando sono operazioni che modificano il contenuto del database, aggiornando, inserendo o eliminando i dati), che possono influire negativamente sugli altri utenti. Un record scritto parzialmente, in un file di database, talvolta può rendere illeggibile l’intero file. In aggiunta, le query di aggiornamento normalmente richiedono il blocco del record, o dei record, interessati durante la modifica. Se il client che esegue l’aggiornamento cade prima di togliere il blocco dei record, i record rimangono bloccati e non sono disponibili per le query di comando per gli altri utenti, finché un amministratore non esegue l’utility di ripristino. Per quanto il database possa essere ripristinabile, tutti gli utenti devono uscire dalla sessione di lavoro durante questa elaborazione, che può richiedere ore. Le query di comando in esecuzione nel momento della caduta generalmente non si possono ricostruire. Se la riparazione non è possibile, l’amministratore del database può ripristinare l’ultima versione salvata, ma le operazioni di inserimento, di modifica e di cancellazione, avvenute successivamente all’ultimo salvataggio, vengono perse. Per contro, la caduta di una stazione di lavoro client incide meno sul database client/server. Le query in corso del client caduto vengono perse, ma il guasto di una singola stazione client non influenza altri utenti. Nel caso di caduta di un server, un registro delle transazioni, centrale o sincronizzato, contiene una documentazione di tutte le modifiche correnti del database. Il registro delle transazioni consente sia di terminare completamente, sia di annullare le query in corso di tutti gli utenti. La maggior parte dei server DBMS di tipo client/server 21 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ offre molte caratteristiche aggiuntive per ridurre al minimo l’eventualità di cadute, e, quando accadono, hanno meccanismi di recupero veloci e potenti. I sistemi database client/server differiscono da quelli personali anche per il modo in cui trattano le transazioni utente in competizione. Per esempio, quando un utente invia una query di comando, un DBMS client/server blocca i record associati in modo da renderli non disponibili per l’aggiornamento da parte di altri utenti finché sono impegnati dalla transazione. Per contro, quando si usa un database personale per applicazioni multiutente, questo predispone per impostazione predefinita il blocco dei record ottimistico, un meccanismo basato sulla speranza che non si verifichino nello stesso momento due transazioni in competizione. I sistemi di database personali e quelli di client/server trattano l’elaborazione delle transazioni in modi diversi. Si chiama elaborazione di transazioni la modalità operativa con la quale si raggruppano insieme una serie di modifiche sul database, correlate fra loro, che dovranno concludersi tutte positivamente, oppure fallire tutte. Ad esempio, Microsoft Access fornisce procedure per raggruppare modifiche correlate, per mantenere una documentazione di queste modifiche nella memoria principale della stazione di lavoro client, e per revocare le modifiche (riportando il database allo stato precedente all’ultimo salvataggio) se le transazioni raggruppate falliscono. Tuttavia, se il computer client che sta effettuando le modifiche si blocca a metà di un gruppo di transazioni, il registro delle transazioni nella sua memoria principale viene perso. Non esiste un registro delle transazioni, basato su file, a cui riferirsi per ritornare allo stato precedente, e le modifiche parziali non si possono revocare. 22 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Infine, i sistemi database client/server hanno incorporato un modello di sicurezza che si può usare per limitare le operazioni che gli utenti possono eseguire sul database, e per limitare i dati ai quali un utente può accedere. I database personali hanno un numero minore di opzioni per la sicurezza, non altrettanto flessibili da usare e modificare quanto quelle offerte dai sistemi database client/server. In conclusione i sistemi database client/server sono indispensabili per: 1) applicazioni di database in cui molti utenti possono inserire, aggiornare o eliminare dati nello stesso tempo; 1) applicazioni essenziali per la sopravvivenza dell’impresa, in quanto sono in grado di gestire le cadute del sistema, hanno meccanismi di ripristino e possono lavorare per transazioni; 2) sistemi che richiedono un solido sistema di sicurezza per regolare l’accesso degli utenti ai dati. Generalmente, i sistemi database client/server sono più costosi dei database personali, più complessi da installare ed eseguire, e richiedono hardware più potente per i client e per il server. I database personali sono utili per installazioni WEB nelle quali l’unica operazione su database consiste nel consultare i dati e non si usano query di comando, e dove si possono tollerare sistemi di sicurezza meno robusti. Un vecchio criterio guida ancora utile indica che, quando si usa un database personale per applicazioni multiutente, si dovrebbe limitare l’utilizzo a non più di dieci utenti contemporanei, se sono consentite query di comando. Altrimenti se la sicurezza e la capacità di ripristino sono importanti si può utilizzare un DBMS client/server indipendente dal numero di utenti. 23 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 2.1.2 Le transazioni e il controllo della concorrenza A nalizziamo ora il funzionamento di un database server, cioè di un sistema dedicato alla gestione dei dati. In un server per la gestione dei dati troviamo i seguenti componenti: L’ottimizzatore, con il compito di decidere le strategie di accesso ai dati per rispondere alle interrogazioni. Questo sistema riceve in ingresso un’interrogazione, di cui svolge un’analisi lessicale, sintattica e semantica, individuando eventuali errori; trasforma poi le interrogazioni corrette in una forma interna e sceglie la migliore strategia per accedere ai dati. Il gestore dei metodi di accesso ai dati. Questo componente, detto Relational Storage System (RSS) in un DBMS relazionale, ha il compito di eseguire gli accessi fisici ai dati secondo la strategia definita dall’ottimizzatore. Il Buffer manager (gestore memoria tampone), per la gestione del trasferimento effettivo delle pagine della base di dati dai dispositivi di memoria di massa alla memoria centrale. Questo sistema gestisce vaste zone della memoria centrale assegnate dal DBMS e spesso condivise fra le varie applicazioni. Il controllore delle affidabilità, per preservare correttamente il contenuto della base di dati in presenza di malfunzionamenti e guasti. Il controllore della concorrenza, per regolare gli accessi concorrenti alla base di dati e garantire che le applicazioni non interferiscano negativamente fra loro, causando perdite di consistenza. 24 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Per comprendere i requisiti che la tecnologia del DBMS deve realizzare, è fondamentale la nozione di transazione, che identifica un’unità elementare di lavoro svolta da un’applicazione, cui si vogliono associare particolari caratteristiche di correttezza, robustezza e isolamento. Un sistema che mette a disposizione un meccanismo per la definizione e l’esecuzione di transazioni viene detto sistema transazionale. Una transazione può essere definita sintatticamente a prescindere dal tipo di linguaggio di programmazione utilizzato; essa è incapsulata all’interno di due comandi: “begin transaction” (“bot”, inizio transazione) ed “end transaction” (“eot”, fine transazione). All’interno del codice delle transazioni, possono comparire due istruzioni particolari: commit (commit work, transazione eseguita) e abort (rollback work, transazione fallita), che indicano l’azione associata alla rispettiva istruzione. L’effetto di questi due comandi è decisivo per l’esito della transazione, la quale va a buon fine solo a seguito di un commit, mentre non ha alcun effetto tangibile sulla base di dati quando viene eseguito l’abort. L’istruzione rollback work è molto potente, in quanto tramite essa l’utente della base di dati può annullare gli effetti del lavoro svolto dalla transazione, indipendentemente dalla sua complessità. Tutto il codice che viene eseguito all’interno della coppia bot-eot gode di proprietà particolari. Atomicità. Rappresenta il fatto che una transazione è un’unità indivisibile di esecuzione, o vengono resi visibili tutti gli effetti di una transazione, oppure la transazione non deve avere alcun effetto sulla basi di dati. In pratica, non è possibile lasciare la base di dati in uno 25 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ stato intermedio attraversato durante l’elaborazione della transazione. Se durante l’esecuzione delle operazioni si verifica un errore e una delle operazioni di lettura o modifica della base di dati non può essere portata a compimento, allora il sistema deve essere in grado di ricostruire la situazione esistente all’inizio della transazione, eliminando il lavoro svolto dalle istruzioni eseguite sino a quel momento (operazione di undo). Viceversa, dopo l’esecuzione di un commit, il sistema deve assicurare che la transazione lasci la base di dati nel suo stato finale; ciò può comportare di dover rifare il lavoro svolto (operazione di redo). In questo modo, la corretta effettuazione dell’operazione di commit fissa il momento, atomico e indivisibile, in cui la transazione va a buon fine; prima di tale operazione, qualunque guasto provoca l’eliminazione di tutti gli effetti della transazione, che ripristina lo stato iniziale. Quando viene eseguito il comando rollback work, la situazione è simile ad un “suicidio” autonomamente deciso nell’ambito della transazione. Viceversa, il sistema può decidere che la transazione non può essere portata a compimento e “uccidere” la transazione”. Infine, varie transazioni possono essere “uccise” a seguito di un guasto del sistema Consistenza. Richiede che l’esecuzione della transazione non violi i vincoli di integrità definiti sulla base di dati. Quando il sistema rileva che una transazione sta violando uno dei vincoli (ad es. la duplicazione di una chiave), interviene per annullarla o per correggere la violazione stessa. La verifica dei vincoli di integrità di tipo immediato può essere fatta nel corso della transazione, rimovendo gli 26 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ effetti della specifica istruzione di manipolazione dei dati che causa la violazione, senza imporre un abort alle transazioni. La verifica del tipo differito deve essere effettuata alla conclusione della transazione, dopo che l’utente ha richiesto il commit. In questo secondo caso, se il vincolo è violato, l’istruzione commit work non va a buon fine, e gli effetti della transazione vengono annullati poco prima di produrre e rendere visibile lo stato finale della base di dati, poiché questo stato sarebbe inconsistente. Isolamento. Richiede che l’esecuzione di una transazione sia indipendente dalla contemporanea esecuzione di altre transazioni. In particolare, si richiede che il risultato dell’esecuzione concorrente di un insieme di transazioni sia analogo al risultato che le stesse transazioni otterrebbero qualora ciascuna di esse fosse eseguita separatamente. L’isolamento si pone come obiettivo anche di rendere l’esito di ciascuna transazione indipendente da tutte le altre; si vuole cioè impedire che l’esecuzione di un rollback di una transazione causi l’esecuzione del rollback delle altre, eventualmente generando una reazione a catena (effetto domino). Persistenza. Richiede che l’effetto di una transazione che ha eseguito il commit correttamente non venga perso. In pratica, una base di dati deve garantire, in ogni caso, che i dati vengano persi. Atomicità e persistenza sono garantite dal controllo di affidabilità; l’isolamento dal controllo della concorrenza; la consistenza è gestita dai compilatori, che introducono opportuni controlli nei dati e procedure per la loro verifica, eseguite poi dalle transazioni. 27 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Controllo di concorrenza Un DBMS deve spesso servire diverse applicazioni e rispondere alle richieste provenienti da diversi utenti. Un’unità che viene tipicamente utilizzata per caratterizzare il carico applicativo di un DBMS è il numero di transazioni per secondo (tps, dall’inglese: transactions per second) che devono essere gestite dal DBMS per soddisfare le applicazioni. Sistemi tipici devono rispondere a carichi dell’ordine di decine o centinaia di tps, o addirittura arrivare a migliaia. Per questo motivo, è indispensabile che le transazioni di un DBMS vengano eseguite concorrentemente; è impensabile infatti una loro esecuzione seriale, in cui cioè le transazioni vengono eseguite una alla volta. Solo la concorrenza delle transazioni consente un uso efficiente del DBMS, massimizzando il numero di transazioni servite per secondo e minimizzando i tempi di risposta. Il controllo di concorrenza fa riferimento alla frontiera di più basso livello dell’architettura di un DBMS, relativa alle operazioni di ingresso/uscita, che attuano il trasferimento dei blocchi dalla memoria di massa alla memoria centrale. Consideriamo azioni di lettura (read) e scrittura (write); ogni operazione di lettura comporta il trasferimento di un blocco dalla memoria di massa alla memoria centrale e ogni operazione di scrittura comporta il trasferimento opposto. Queste operazioni vengono gestite da un modulo di sistema, detto generalmente scheduler, il quale determina se le richieste possano essere soddisfatte o meno. 28 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Database Scheduler Buffer di memoria centrale Architettura per il controllo di concorrenza L’esecuzione concorrente di varie transazioni può causare alcuni problemi di correttezza, o anomalie. Esistono quattro casi tipici: Perdita di aggiornamento: è il caso di due transazioni identiche che operano sullo stesso oggetto. L’esecuzione concorrente delle due transazioni, che evidenzia la progressione temporale delle azioni, non tiene conto delle modifiche apportate dalla seconda transazione, che quindi verranno perse. Letture sporche: si verifica quando viene letto un dato che rappresenta uno stato intermedio nell’evoluzione di una transazione, (la seconda transazione riconosce le modifiche della prima, che successivamente esegue un abort). Letture inconsistenti: si verifica quando una transazione svolge solamente operazioni di lettura, che ripete in istanti successivi. È opportuno che una transazione che accede due volte alla base di dati trovi esattamente lo stesso valore per ciascun dato, e non risenta dell’effetto di altre transazioni. Aggiornamento fantasma: si consideri una base di dati con oggetti che soddisfano dei vincoli di integrità. La prima transazione osserva solo in 29 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ parte gli effetti dalla seconda, e quindi osserva uno stato che non soddisfa i vincoli di integrità. Dato che le transazioni avvengono in modo concorrente, le operazioni di ingresso/uscita vengono richieste da varie transazioni in istanti successivi. Il controllo di concorrenza ha la funzione di accettare alcune sequenze di queste operazioni e rifiutarne altre, in modo da evitare che si verifichino le suddette anomalie. Tale compito è effettuato dallo scheduler, che ha il compito di tenere traccia di tutte le operazioni compiute sulla base di dati dalle transazioni, e accettare o rifiutare le operazioni che vengono progressivamente richieste dalle transazioni. Il principale meccanismo di controllo di concorrenza è il locking (bloccaggio). Si basa su un principio molto semplice, e cioè che tutte le operazioni di lettura e scrittura devono essere protette tramite l’esecuzione di tre diverse primitive: blocco in lettura (r_lock), blocco in scrittura (w_lock), sblocco (unlock); lo scheduler (detto anche lock manager) riceve una sequenza di richieste di esecuzione di queste primitive da parte delle transazioni, e ne determina la correttezza con una semplice ispezione di una struttura dati. Nell’esecuzione di operazioni di lettura e scrittura si devono rispettare i seguenti vincoli: 1. ogni operazione di lettura deve essere preceduta da un r_lock e seguita da un unlock; il blocco in questo caso si dice condiviso, perché su un dato possono essere attivi più blocchi di questo tipo. 2. ogni operazione di scrittura deve essere preceduta da un w_lock e seguita da un unlock; il blocco si dice in tal caso esclusivo, perché non può coesistere con altri blocchi (esclusivi o condivisi) sullo stesso dato. 30 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Il gestore della concorrenza riceve le richieste di blocco provenienti dalle transazioni, e li concede in base a quelli precedentemente concessi alle altre transazioni. Quando una richiesta di lock è concessa, si dice che la corrispondente risorsa viene acquisita; quando non viene concessa, la transazione viene messa in stato di attesa, che termina quando la risorsa viene sbloccata e diviene disponibile. I lock già concessi vengono memorizzati in tabelle e gestite dallo scheduler. Si possono verificare dei conflitti quando si richiede una lettura o scrittura su un oggetto già bloccato in scrittura, o una scrittura su un oggetto già bloccato in lettura. In pratica, solo quando un oggetto è bloccato in lettura è possibile dare risposta positiva ad un’altra richiesta di blocco in lettura; da questa caratteristica discende il nome di lock condiviso, attribuito al blocco di lettura. Nel caso di sblocco di una risorsa bloccata in modo condiviso, la risorsa torna libera quando non ci sono altre transazioni in lettura che operano su di essa; altrimenti, essa rimane bloccata. Come detto precedentemente il lock manager è un processo in grado di essere invocato da tutti i processi che intendono accedere alla base di dati. Quando un processo richiede una risorsa e la richiesta non può essere soddisfatta, lo scheduler tiene traccia del cambiamento dello stato della risorsa nelle sue tabelle interne e restituisce immediatamente il controllo al processo; in questo caso, il ritardo introdotto dal lock manager sul tempo di esecuzione della transazione è molto modesto, in quanto l’operazione non comporta operazioni di ingresso-uscita. Quando, invece, la richiesta non può essere immediatamente soddisfatta, il sistema inserisce in una coda associata alla risorsa il processo richiedente; ciò 31 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ comporta un’attesa arbitrariamente lunga, e quindi il processo associato alla transazione viene sospeso. Appena la risorsa viene rilasciata, il lock manager controlla se esistono dei processi in attesa della risorsa e nel caso prende il primo processo nella coda e concede ad esso la risorsa. L’efficienza del lock manager dipende dalla probabilità che le richieste di una transazione vadano in conflitto. Quando infine scatta il timeout (intervallo massimo di tempo che la procedura chiamante è disposta ad aspettare per ottenere il lock sulla risorsa) e la richiesta è insoddisfatta, la transazione richiedente può eseguire un rollback (ritorno alla situazione precedente la transazione), cui generalmente seguirà una ripartenza della stessa transazione, oppure decidere di proseguire, richiedendo di nuovo il lock, in quanto il fallimento nella richiesta non comporta un rilascio delle altre risorse acquisite dalla transazione in precedenza. Alle tabelle di lock si accede molto di frequente; per questo, il lock manager mantiene queste informazioni in memoria centrale, in modo da minimizzare i tempi di accesso. 2.2 LE RETI 2.2.1 La rete Internet A metà degli anni ottanta si iniziò a vedere la collezione delle reti come una inter-rete e in seguito come Internet. La colla che tiene insieme 32 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ l’intera Internet è il modello di riferimento TCP/IP e la relativa pila di protocolli. Essere su Internet significa utilizzare una pila di protocolli TCP/IP, un indirizzo IP e spedire pacchetti IP a tutte le macchine su Internet. Internet ha quattro principali applicazioni o servizi: La posta Elettronica: La possibilità di comporre e spedire messaggi di posta elettronica. News: gruppi di discussione, sono forum specializzati in cui utenti che condividono un interesse possono scambiarsi messaggi. Collegamento remoto: Utilizzando Telnet o altri programmi, qualsiasi utente Internet può collegarsi su qualsiasi altra macchina in cui abbia un account. Trasferimento di archivi: Utilizzando il programma FTP è possibile copiare archivi da una macchina Internet a un'altra. Tutti i dati che vengono trasportati attraverso Internet (messaggi dì posta elettronica, file, pagine Web, eccetera) sono suddivisi in pacchetti, piccole porzioni di dati che si possono instradare separatamente attraverso Internet. Il TCP ha la responsabilità della suddivisione di un messaggio lungo in pacchetti (quando viene inviato) e del riassemblaggio dei pacchetti in messaggi completi, presso il computer ricevente. L’IP specifica invece come indirizzare i messaggi. Ciascun computer connesso a Internet ha un indirizzo IP univoco, che specifica la posizione del computer nella rete. Generalmente, gli indirizzi IP sono espressi tramite quattro numeri (il cui valore varia da 0 a 255), separati da punti. Ecco un esempio: 137.28.224.5. Numeri come questo sono difficili da ricordare, pertanto un indirizzo IP si può rappresentare anche mediante un nome di dominio, in altre parole un nome significativo per le persone e facile da ricordare. 33 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ I server dei nomi di dominio sono computer che tengono aggiornate tabelle in cui ai nomi di dominio corrispondono i relativi indirizzi IP. Questi server sono gestiti dagli Internet Service Provider (ISP, fornitori di servizi Internet), che forniscono ai clienti l'accesso commerciale a Internet, e da organizzazioni che hanno molti utenti connessi alla rete Internet. L’introduzione della nuova applicazione WWW (World Wide Web) ha richiamato alla rete milioni di nuovi utenti mentre prima vi accedevano per lo più gli universitari. Questa applicazione, inventata dal fisico del CERN Tim Bernerse Lee, non cambiò i servizi di base ma li rese più semplici da utilizzare. Il WWW rese possibile installare pagine di informazioni contenenti testo, figure, suoni e anche immagini in movimento, contenenti anche ulteriori collegamenti ad altre pagine. Generalmente, le informazioni nel World Wide Web vengono trasferire mediante un protocollo di comunicazione chiamato Hypertext Transfer Protocol (HTTP, protocollo di trasferimento di ipertesti). I Browser Web accettano anche protocolli Internet meno recenti, quali il File Transfer Protocol (FTP protocollo per il trasferimento di file). Mentre HTTP si usa per inviare pagine Web attraverso Internet, l’FTP è il protocollo principale che si utilizza per trasferire file di dati, quali documenti di elaboratori di testi e fogli elettronici. Un utente richiede una pagina Web a un server inserendo nel suo Browser l'indirizzo Web della pagina. Un indirizzo Web, chiamato anche Uniform Resource Locator (URL, localizzatore uniforme di una risorsa), è una stringa di caratteri, numeri e simboli che specifica il protocollo di comunicazione (quale l'HTTP o FTP), il nome del dominio o l'indirizzo IP di un server Web e, 34 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ facoltativamente, il percorso della cartella dove si trova il file HTML della pagina Web, oltre al nome dei file HTML della pagina. Le URL, che indicano l'indirizzo di un server Web o il nome di un dominio vengono eletti URL Internet, perché specificano un protocollo di comunicazione, tipo HTTP o FTP, nella prima parte dell'URL. Un URL può anche essere un URL di file, cioè si riferisce ad un file HTML, immagazzinato nel disco rigido dell'utente. Generalmente, un URL di file viene usato solamente dai programmatori, quando sviluppano nuove pagine Web e vogliono vedere come appaiono quando si visualizzano in un Browser. La rete mondiale è attualmente una complessa ragnatela formata da più piccole reti regionali. Connessi ad essa ci sono computer che usano un particolare sistema di trasferimento dei dati ad alta velocità. Negli Stati Uniti, la "dorsale" maggiore di Internet teoricamente può muovere i dati alla velocità di 45 milioni di bit al secondo (fai un paragone con un normale modem domestico, che ha una velocità massima che va' da 9.600 a 28.800 bit al secondo). Connessi ai computer della dorsale ci sono piccoli network che servono particolari regioni geografiche, che generalmente muovono i dati ad una velocità di circa 1.5 milioni di bit al secondo. Sono a loro volta alimentati da questi i network più piccoli o i computer individuali. A differenza dei network commerciali non sono uno o più computer centrali che fanno girare Internet ma le sue risorse vanno cercate tra migliaia di computer individuali. Questo è allo stesso tempo il suo più grande punto di forza e la sua più grande debolezza. Infatti tale caratteristica significa che è virtualmente impossibile che l'intera rete vada in crash contemporaneamente, quindi se un computer è in tilt, il resto della rete rimane in piedi. Il suo disegno riduce anche i 35 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ costi di accesso alla rete per un singolo o per un'organizzazione. Ma migliaia di computer connessi possono anche rendere difficile navigare nella rete e trovare quello che si cerca, specialmente poiché differenti computer possono avere diversi comandi per attivare le proprie risorse. Oggi aumentano in maniera sempre più veloce i legami tra Internet e le reti commerciali. Un criterio di classificazione delle reti, è la scala dimensionale. In questo contesto si distingue fra reti locali, reti metropolitane e reti geografiche. Distanza fra processori 10 m. 100 m. 1 km. 10 km. 100 km. 1000 km. 10.000 km. Ambito Stanza Edificio Campus Città Nazione Continente Pianeta Tipo di rete Rete locale Rete locale Rete locale Rete metropolitana Rete geografica Rete geografica Internet (Rete geografica) La distanza è un fattore molto importante, poiché a differenti scale dimensionali si usano differenti tecniche. Le reti locali Le reti locali (Local Area Network, LAN), sono il tipo più comune di reti, molto diffuse negli uffici di piccole dimensioni. Una rete locale ha le seguenti caratteristiche: Appartiene ad un’organizzazione (rete privata); Opera in un area ristretta. Per esempio un piano di un edificio o un singolo edificio. Sono usatissime per connettere PC o workstation 36 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ I servizi offerti dalla rete sono sempre disponibili. A livello di sistemi operativi di rete, si possono riscontrare due diverse tipologie di reti locali: quelle paritetiche e quelle basate sul Server. Le reti paritetiche operano senza server dedicati sulla rete. Ciascun host funge sia da client sia da server. L'utente di ciascun host determina le informazioni o le periferiche che desidera condividere con gli altri membri della rete. Le reti paritetiche, in genere, sono relegate alle organizzazioni più piccole, poiché non si adattano bene a quelle di dimensioni maggiori. Presentano diversi problemi riguardo la sicurezza, poiché questa dipende dalla capacità di ciascun host di controllare la propria protezione. Nelle reti basate su server, almeno un host è dedicato alla funzione di server. I computer client, non condividono alcuna informazione con gli altri computer. Tutti i dati sono archiviati sul server centrale che può giocare parecchi ruoli, tra i quali i seguenti: Server di file e di stampa. Forniscono un deposito sicuro per tutti i dati. Possono anche gestire le code di stampa, che offrono l'accesso alle risorse di stampa condivisibili sulla rete. Server di applicazioni. Forniscono la parte del server nelle applicazioni client/server. In un ambiente client/server, il client fa girare una piccola versione del programma (la stub), che permette la connessione con il server. La parte server dell'applicazione ha lo scopo di eseguire per conto del client le operazioni che assorbono molta potenza elaborativa. I server Web e i server database sono esempi pratici di server di applicazioni. 37 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Server della posta. Forniscono funzioni di inoltro e ricezione della posta elettronica ai client della rete. Se si adoperano i gateway, il trasporto dei messaggi può avvenire tra sistemi di posta eterogenei Server fax. Forniscono agli utenti della rete servizi di inoltro e ricezione Fax. Server della sicurezza. Sono dedicati alla sicurezza sulla rete locale, nel caso che questa sia collegata a qualche rete più grande, come per esempio Internet. Server di comunicazione. L'accesso ai dati da parte dei client remoti. Un Client remoto può utilizzare un modem per chiamare telefonicamente la rete locale. Il sistema contattato è il server di comunicazione, il quale può essere configurato con uno o più modem, per consentire l'accesso esterno alla rete. Dopo che il client si è collegato alla rete, può agire come se vi fosse direttamente connesso tramite una scheda di rete. Nella realizzazione di una rete locale o LAN, bisogna prendere in considerazione molti aspetti della rete, tra cui la collocazione dei computer, l'ubicazione dei cavi e l'hardware richiesto per la connessione. Il termine per definire tutti questi problemi connessi alla progettazione di una rete è topologia di rete. Al momento attuale, per le reti locali si utilizzano comunemente tre topologie: Reti a bus La rete a bus (Ethernet) è il metodo più semplice usato per mettere in rete i computer. Consiste in un singolo cavo che connette tutti i computer, i server e le periferiche in un singolo segmento di rete come in figura. 38 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Gli host su una rete a bus comunicano tra loro mettendo le informazioni sul cavo, indirizzate all'indirizzo fisico della scheda di rete usata per connettere il computer destinatario al segmento di rete. Questo indirizzo fisico prende il nome di indirizzo Media Access Control (MAC). A ciascuna scheda di rete è assegnato un indirizzo MAC univoco. Gli indirizzi MAC in genere sono indirizzi esadecimali a 12 cifre. A ciascun produttore di schede di rete, è assegnato un prefisso, che userà per le sue schede. E' responsabilità del produttore assicurarsi che non esistano due schede di rete con lo stesso indirizzo MAC. I dati messi sulla rete vengono inviati a tutti i computer che fanno parte della rete stessa e ciascun computer li esamina, per scoprire se l'indirizzo di destinazione delle informazioni corrisponde al proprio indirizzo MAC. In caso affermativo il PC legge le informazioni, altrimenti le rifiuta. Le reti Ethernet costituiscono l'implementazione più comune delle reti a bus. Si servono di un metodo chiamato Carrier Sense Multiple Access whit Collision Detection (CSMA/CD). Ciò significa che un solo computer per volta può inviare dati sulla rete a bus. Se un host vuole trasmettere dati ma rivela che vi sono degli altri dati sulla rete, aspetta che questa si libera prima di trasmettere le sue informazioni. Se due host iniziano contemporaneamente a trasmettere dati sulla rete, avviene una collisione e gli host possono rivelarlo. Uno dei PC che trasmette, invia un segnale di ingombro. Questo fa sì che la collisione duri abbastanza a lungo perché tutti gli altri Computer lo riconoscano. Ciascun host trasmittente aspetta un periodo di tempo casuale prima di tentare di nuovo l'invio dei dati. Questo intervallo di tempo è reso casuale, per evitare che due host inviino 39 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ contemporaneamente e ripetutamente sulla rete pacchetti destinati a collidere. Reti a stella In una rete a stella (nodi collegati ad Hub) , i segmenti da cavo da un'unità centrale di connessione, o Hub, connettono tutti i computer, come mostrato in figura. In alcune circostanze, l'Hub prende il nome di concentratore. Le reti a stella cioè quelle che usano gli Hub, sono la topologia di rete più usata nelle reti odierne. Il vantaggio principale di questa topologia rispetto alla topologia bus è che, se un segmento di cavo si rompe, solo l'host connesso alla Hub su quel segmento di cavo ne è influenzato. Vengono elencati di seguito i vantaggi della topologia a stella: - Facilità di installare nuovi Hub per aumentare il numero di porte che collegano i PC host alla pila di Hub. In questo modo le reti a stella possono crescere in qualsiasi momento di dimensioni. - Per effettuare le connessioni con altri Hub, si possono impiegare differenti tipi di cavi. 40 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ - Se si utilizzano degli Hub attivi, è possibile controllare in via centralizzata l'attività del traffico della rete, per mezzo di protocolli per la gestione della rete come Simple Network Management Protocol (SNMP). Reti ad anello In una rete ad anello (Token ring), tutti i computer sono collegati tra loro in un cerchio logico. I dati viaggiano intorno al cerchio e passano attraverso tutti i computer. Nella disposizione fisica, la rete ad anello sembra seguire lo stesso schema della rete a stella. La differenza sostanziale è l'unità di connessione, nella quale i segnali dei dati passano in un anello da un host al successivo. I dati sono trasmessi intorno all'anello per mezzo di un metodo chiamato passaggio del testimone o gettone (Token passing). Quando un PC deve trasmettere dei dati, modifica il testimone con i dati che desidera inviare e lo configura con l'indirizzo MAC dell'host destinatario. I dati passano attraverso tutti i computer finché raggiungono quello giusto, che, a sua volta modifica il testimone per indicare che li ha ricevuti con successo. Quando l'host mittente accerta l'avvenuta ricezione dei dati, il pacchetto 41 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ dei dati viene rimosso dalla rete. Il testimone è rilasciato, in modo che un altro host possa trasmettere i dati. In una rete con topologia ad anello, esiste un solo testimone. Se un Client vuole trasmettere i dati e il testimone è già in uso, deve aspettare che quest'ultimo si liberi. Se bene sembri un sistema poco efficiente, il testimone viaggia quasi alla velocità della luce. Le reti metropolitane Le reti metropolitane (Metropolitan Area Network, MAN) hanno un'estensione tipicamente urbana (quindi anche molto superiore a quella di una LAN) e sono generalmente pubbliche. Fino a qualche anno fa erano basate essenzialmente sulle tecnologie delle reti geografiche, utilizzate su scala urbana. Recentemente però e' stato definito un apposito standard, lo IEEE 802.6 o DQDB (Distributed Queue Dual Bus), che e' effettivamente utilizzato in varie realizzazioni, molto più vicino alla tecnologia LAN che WAN. Esiste un mezzo trasmissivo di tipo Broadcast (due bus in 802.6) a cui tutti i computer sono attaccati. Head end Elaboratore Flusso … Head end Flusso Distributed Queue Dual Bus 42 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Ogni bus (cavo coassiale o fibra ottica) è unidirezionale, ed ha un’head-end (terminatore) che cadenza l'attività' di trasmissione. Le reti geografiche Le reti geografiche (Wide Area Network, WAN) si estendono a livello di una nazione, di un continente o dell'intero pianeta. Una WAN è tipicamente costituita di due componenti distinte: - un insieme di elaboratori (host oppure end system) sui quali girano i programmi usati dagli utenti; - una comunication subnet (o subnet), che connette gli end system fra loro. Il suo compito è trasportare messaggi da un end system all'altro, così come il sistema telefonico trasporta parole da chi parla a chi ascolta. Di norma la subnet consiste, a sua volta, di due componenti: - linee di trasmissione (dette anche circuiti, canali); - elementi di commutazione (switching element): gli elementi di commutazione sono elaboratori specializzati utilizzati per connettere fra loro due o più linee di trasmissione. Quando arrivano dati su una linea, l'elemento di commutazione deve scegliere una linea in uscita sul quale instradarli. Non esiste una terminologia standard per identificare gli elementi di commutazione. Termini usati sono: - sistemi intermedi; - nodi di commutazione pacchetti; - router. Una tipica WAN è utilizzata per connettere più LAN fra loro. 43 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ WAN Subnet Router Host LAN Linea di trasmiss. Struttura tipica di una WAN In generale una WAN contiene numerose linee (spesso telefoniche) che congiungono coppie di router. Ogni router, in generale, deve: - ricevere un pacchetto da una linea in ingresso; - memorizzarlo per intero in un Buffer interno; - appena la necessaria linea in uscita è libera, instradare il pacchetto su essa. Una subnet basata su questo principio si chiama: - punto a punto; - store and forward; - a commutazione di pacchetto (packet switched). Interconnessione di reti Un’interconnessione di reti (internetwork) è formata quando reti diverse (sia LAN che MAN o WAN) sono collegate fra loro. 44 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ A prima vista, almeno in alcuni casi, la cosa è apparentemente uguale alla definizione di WAN vista precedentemente (se al posto di subnet si scrive WAN, abbiamo una internetwork costituita da una WAN e quattro LAN). Alcuni problemi però sorgono quando si vogliono connettere fra di loro reti progettualmente diverse (spesso incompatibili fra loro). In questo caso si deve ricorrere a speciali attrezzature, dette gateway (o router multiprotocollo), che oltre ad instradare i pacchetti da una rete all'altra, effettuano le operazioni necessarie per rendere possibili tali trasferimenti. WAN 1 WAN 1 Router multiprotocollo (gateway) Interconnessione di reti C'è molta confusione sui termini: - sottorete (subnet), che nel contesto di una WAN è l'insieme dei router e delle linee di trasmissione; - rete (network), che altro non è che una subnet più tutti gli host collegati; - internetwork, che è una collezione di più network, anche non omogenee, collegate per mezzo di gateway. 45 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Host Host Gateway Subnet Subnet Network Network Internetwork Relazioni fra subnet, network e internetwork La diffusione crescente del World Wide Web e la capillare penetrazione della tecnologia ad esso connessa sta generando notevoli cambiamenti nella gestione ed organizzazione delle informazioni di moltissime attività, con un notevole impatto sul sistema informativo di molte aziende. D’altra parte la crescente affidabilità di strumenti e tecniche generati dalla “rivoluzione WEB” rende sempre più conveniente basare lo sviluppo di nuove applicazioni su questa tecnologia, soprattutto per i grossi vantaggi forniti in termini di scalabilità e distribuzione. 46 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 2.2.2 Sicurezza I n una tipica realtà aziendale reti diverse vengono collegate per mezzo di Router per consentire agli utenti interni ed esterni di accedere ai dati sotto diverse forme e con diversi vincoli di sicurezza. La tecnica più diffusa è quella di separare il traffico interno da quello esterno mediante un filtro (firewall). Sarà compito dell'amministratore di sistema stimare il valore del dato da proteggere, e scegliere di conseguenza il DBMS con le caratteristiche di security più adatte. Entrando nel merito della specifica tematica della pubblicazione per contenuto di basi dati tramite un server WEB a livello di back-end (programma di supporto) esistono due possibili sono soluzioni architetturali: Architettura two tier (secondo ordine) in cui il server WEB accede direttamente ai dati mediante protocolli standard (ODBC, JDBC) o protocolli proprietari per applicazioni specifiche. Architettura three tier (terz’ordine) in cui un application server fa da intermediario fra le richieste di interrogazione dal server WEB è l'effettivo accesso ai dati. A livello di front-end (frontale) è ancora molto diffusa la consultazione mediante l'invio da parte per Browser di script di interrogazione a tramite tag HTML (etichette HTML) o per semplice invocazione di URL delle pagine contenitore dei dati. Nelle architetture di tipo two tier generalmente la protezione lato back-and (posteriore) si attua direttamente sul flusso dati tra DBMS e server WEB; per fare questo si ricorre a una coppia di moduli crittografici in modo da instaurare 47 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ un canale sicuro. Per quel che concerne il traffico di dati sull'atto front-end si chiedono tecniche di canale sicuro unitamente a una protezione dei direttori del server mediante script e degli accessi mediante applicazioni eseguibili (CGI Common Gateway Interface, interfaccia d’entrata comune). Il livello di protezione dal sistema di front-end può essere adeguato all'importanza dei dati da proteggere. Protezione fisica: i Firewall La sicurezza delle transazioni è garantita anche dal cosiddetto Firewall (muro di fuoco). Il firewall è un in grado di controllare l'accesso alle reti intercettando tutti i messaggi in entrata e in uscita. Il firewall, a seconda della configurazione e della tipologia, permette infatti il passaggio solamente di determinati tipi di dati, da determinati PC e da determinati utenti. Il firewall separa e protegge la rete interna, definendo e rafforzando la sicurezza della rete. I computer esterni alla rete devono attenersi a una specifica procedura per ottenere l'accesso alle risorse, agli host e a tutte le altre informazioni. Se l'accesso viene autorizzato l'utente può passare, a patto che si attenga alla procedura definita dal firewall. Di solito sono configurati per proteggere la rete contro i login non autenticati dall'esterno. I firewall sono importanti anche perché possono provvedere alla sicurezza di singoli segmenti di rete laddove il controllo si renda assolutamente necessario. Può capitare che un'azienda, per esempio, desideri che le informazioni di tipo amministrativo (gestione paghe e contributi) vengano isolate dalla rete a cui accedono i dipendenti, oppure un'università potrebbe volere separare la rete degli studenti da quella dove sono memorizzate 48 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ le loro votazioni. Sia che gestisca il traffico tra segmenti diversi della rete, sia che lo gestisca tra due reti differenti, un firewall deve trovarsi comunque in un ambiente operativo sicuro. Architettura dei Firewall Si può strutturare la propria rete in molti modi per proteggere il proprio sistema usando un firewall. Se si ha una connessione dedicata ad Internet attraverso un router, si potrebbe collocare il router direttamente nel proprio sistema firewall. Oppure si potrebbe passare attraverso un Hub ("concentratore") per fornire server a pieno accesso fuori dal proprio firewall. Architettura Dial-up Probabilmente si sta facendo uso di un servizio Dial-up, quale una linea ISDN. In questo caso si potrebbe utilizzare una terza scheda di rete per fornire un DMZ filtrato. Questo dà il pieno controllo sui propri servizi Internet e li separa dalla propria rete normale. __________ _/\__/\_ | | _______________ | Sistema | (LAN) | | / Internet \----| Firewall |--(HUB)--| Workstation/s | \_ _ _ _/ |__________| |_______________| \/ \/ \/ | (DMZ) (HUB) | | Architettura a Router singolo Caso in cui è presente, tra voi ed Internet, un router o un modem. Se si possiede il router si potrebbero impostare alcune rigide regole di filtraggio, altrimenti se il router appartiene al proprio ISP, si potrebbe richiederne l'inserimento. 49 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ ________ __________ | Router | | | _______________ | | | oppure | (DMZ) | Sistema | (LAN) | | / Internet \----| Modem |--(HUB)--| Firewall |--(HUB)--| Workstation/s | \_ _ _ _/ |________| | |__________| |_______________| \/ \/ \/ | (Server) (esterno) _/\__/\_ Server Proxy e Firewall Se si vuole monitorare dove vanno gli utenti della propria rete e se la rete è piccola, si può integrare un server proxy nel firewall. Gli ISP qualche volta lo fanno per stilare una lista degli interessi dei propri clienti da poter rivendere ad agenzie di marketing. __________ | Proxy / | _______________ | | | Sistema | (LAN) | | / Internet \----| Firewall |--(HUB)--| Workstation/s | \_ _ _ _/ |__________| |_______________| \/ \/ \/ _/\__/\_ Si può collocare il server proxy nella propria LAN come si vuole. In questo caso il firewall dovrebbe però contenere delle regole che consentano la connessione ad Internet, e per i servizi che intende fornire, solo al server proxy. In questo modo gli utenti potranno accedere ad Internet solamente attraverso il proxy. __________ | | _______________ | | | Sistema | (LAN) | | / Internet \----| Firewall |--(HUB)--| Workstation/s | \_ _ _ _/ |__________| | |_______________| \/ \/ \/ | ______________ | | | +----| Server Proxy | |______________| _/\__/\_ 50 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 2.3 GLI ASPETTI IMPLEMENTATIVI 2.3.1 ERD (Diagramma Entità Relazione) G li ERD sono oggi degli strumenti che modellano la realtà di interesse specificando i dati e le relazioni che esistono tra di essi. La modellazione è una tecnica ben diffusa nel settore informatico. Nel settore della programmazione, un valido esempio è rappresentato dal DFD (diagramma di flusso: rappresentazione in schema delle decisioni e delle sequenze di attività da effettuare per eseguire una procedura). Anche nell’analisi e nella progettazione di sistemi informatici dobbiamo costruire dei modelli in modo da evidenziare o enfatizzare le caratteristiche critiche del progetto (della soluzione o del problema), ponendone in secondo piano altre meno importanti (o meno complesse da realizzare). Inoltre, qualora risultasse che la nostra comprensione del problema (requisiti del progetto) non sia corretta, o in ogni caso che i requisiti esposti dal committente non siano i reali requisiti del progetto, potremo rettificare il solo modello, oppure "gettarlo" e ridisegnarlo. L’alternativa (metodo storico) sarebbe quella di realizzare il progetto senza discussioni e rivisitazioni iniziali con il committente/utente, correndo il rischio di accorgersi che, in fase di rilascio, il prodotto non soddisfa l’utente e che quindi lo considera inaccettabile. Pertanto, l’analista deve utilizzare gli strumenti di modellizzazione per: 51 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ focalizzare l’attenzione sulle caratteristiche importanti del sistema e mettere in secondo piano gli aspetti poco rilevanti; discutere con il futuro utente le soluzioni, apportando le correzioni ai requisiti funzionali e alle strutture solutive, con il minor costo ed impegno possibile (si modificano disegni e non sistemi); verificare che i partecipanti all’analisi abbiano compreso nel modo corretto il sistema dell’utente, e che tutte le relazioni del nuovo sistema siano state valutate; rilevare in modo documentativo tutte le caratteristiche tecnico/funzionali in modo da consentirne la realizzazione da parte dei progettisti e dei programmatori. Tra le tecniche più usuali per la modellazione si citano le seguenti: diagramma di entità relazioni (ERD, Entity Relation Diagram); diagramma di flusso di dati (DFD, Data Flow Diagram); diagramma di transizione di stato (STD, State Transition Diagram). Il primo illustra le relazioni che intercorrono tra i dati e le relative modalità che venne proposta nel 1976 da Peter S. Chen. Grazie alla sua semplicità ed efficacia di rappresentazione, il diagramma ERD è oggi quello più ampiamente utilizzato per rappresentare le strutture dati, anche se spesso con formalismi diversi da quelli originali. Il secondo illustra le funzioni che il sistema deve eseguire, e si presta al principio della "scomposizione funzionale"; il terzo descrive il sistema in funzione del tempo. Ognuno di questi modelli consiste in strumenti grafici e testuali. 52 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Elementi di base dei DFD: agente esterno (external agent) deposito (data store) processo (process) Esempio DFD: Cliente ordine Ordini Acquisisci ordine Esempio E_R VENDITORE Ordine acquisto CLIENTE acquista ORDINE LIBRO Un tipico diagramma entità-relazioni 53 flusso di dati (data flow) Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Esempio STD STATO1 STATO2 STATO3 Pur non possedendo lo stesso fascino dei diagrammi grafici quali ERD, DFD e STD, il Dizionario Dati (DD, Data Dictionary). è di fondamentale importanza. Senza di esso il sistema in progettazione risulterebbe solo una specie di raffigurazione artistica. Il DD è un elenco organizzato di tutti gli elementi di dati che riguardano il sistema, con definizioni precise e rigorose in modo che ognuno possa comprendere tutti gli input, gli output componenti di depositi, campi e calcoli intermedi. 2.3.3 ASP (Application Service Provider) C on la sigla ASP (Application Service Provider) si intende un operatore professionale che eroga servizi in un qualsiasi contesto di "rete". 54 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Rispetto ai tradizionali servizi offerti dall'ISP (Internet Service Provider), l'ASP fornisce l'affitto di applicazioni software. Queste applicazioni possono essere di diversa natura, dai tradizionali fogli elettronici, editor di testi, data base ecc., alle videoconferenze, e, addirittura, all'automazione di tutto il sistema aziendale (gestione ordini, magazzino, contabilità). Per la realizzazione di tutto questo processo è necessario il verificarsi di una condizione risolutiva, in pratica, l'introduzione di una maggiore ampiezza di banda. Per lo svolgimento delle sue funzioni l'ASP deve assicurarsi prodotti hardware e software di nuova tecnologia, in modo che la protezione e la sicurezza siano adeguate agli standard che i clienti gli richiederanno. Dovrà essere evitato qualsiasi tipo di problema connesso con la stabilità del sistema, con la sua scalabilità, o con l'autenticazione degli accessi da parte di utenti remoti. Software in affitto Non è più necessario dotarsi di interi pacchetti applicativi, installarli sulla propria rete locale, configurare il tutto e manutenerli in continuazione. E poi gestire gli aggiornamenti, fare copie di back-up (riserva), rivedere periodicamente l’hardware per controllare che non sia obsoleto. Con la modalità ASP è possibile “affittare” il servizio che rende disponibile all’azienda i programmi di cui ha bisogno, completi di manutenzione e di apparati hardware e software necessari al loro corretto funzionamento. All’azienda resta solo “l’onere” di usare tali programmi da qualunque postazione collegata ad Internet. Diverso è il concetto di “asp” (active server page), la tecnologia che ci permette di manipolare le informazioni che il server raccoglie per noi. 55 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ L’”asp” è un linguaggio di scripting (scrittura) con i seguenti vantaggi: 1) Le pagine “asp” sono completamente integrate con i file HTML 2) Sono facili da creare e non necessitano di compilazione. 3) Sono orientate agli oggetti e usano componenti server ActiveX. Un altro aspetto da tener presente nel portare un data base su rete sono le transazioni e le diverse tecnologie usate per comunicare: ISDN, ADSL, ect. 2.3.4 JMS E XML G li strumenti progettuali presentati necessitano all’atto dell’implementazione di strumenti informatici adeguati che consentono sia un’efficace interazione dell’utente, sia una strutturazione di documenti trasmessi in modo da renderli il più possibili ai documenti tradizionali. A questo scopo si adottano il linguaggio Java per la creazione delle interfacce utente e lo scambio dei messaggi e il linguaggio XML per la strutturazione dei documenti. Il linguaggio più diffuso più diffuso per favorire l’interazione dell’utente attualmente è Java, perché è quello che meglio si cala nell’ambiente aziendale. I suoi punti di forza sono l’assoluta portabilità del codice, poiché Java è un linguaggio interpretato e quindi multipiattaforma, la sua scalabilità e la flessibilità: infatti, può essere utilizzato sia per lo sviluppo di semplici oggetti d’esempio, sia per la creazione di applicativi GUI stand-alone o per il WEB (le Applet). 56 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Java tuttavia offre le migliori prestazioni quando viene utilizzato come linguaggio di programmazione per applicazioni complesse, perché permette di utilizzare XML e XSL in maniera semplice e perché rende comoda e facile l’integrazione di qualsiasi database relazionale. Il linguaggio ha potenzialità indiscutibili se viene utilizzato per lo sviluppo di applicazioni WEB, ma soprattutto è il migliore quando si ha la neccessità di creare applicazioni distribuite, grazie all’infrastruttura fornita dagli application server che permettono l’utilizzo degli Enterprise JavaBean (EJB). Inoltre promette un insieme di nuove funzioni legate a CORBA e alla gestione delle transazioni - come il Java Messaging Service (JMS). JMS (Java Message Service): Si tratta di librerie API Java che forniscono una piattaforma comune per lo scambio di messaggi fra computer collegati nella stessa rete di comunicazione, utilizzando uno dei tanti sistemi diversi di messaggistica, come MQSeries, SonicMQ od altri, con l'utilizzo di Java e XML. PACKAGE APPLICATION FRONTED APPLICATION E-BUSINESS MESSAGING ASP APPLICATION FORNITORI DISTRIBUTORI IMPRESE DISTRIBUITE CONSUMATORI 57 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ All'interno di un’azienda abbiamo una parte Applicazioni Fronted e dall'altra Applicazioni pacaged; il problema consiste nel far comunicare fra loro sistemi diversi. L'uso di XML e SONICMQ permette di soddisfare le richieste del mercato fornendo, il primo, un linguaggio comune e, il secondo, uno strumento per il trasporto dei dati. Queste richieste consistono nella scalabilità, ossia 100 utenti con alta disponibilità che devono poter lavorare sempre con processi attivi e il massimo della sicurezza affidando tutto a un server che riceve i messaggi e li gestisce. In tutto questo il ruolo della messaggistica è molto importante in quanto semplifica lo sviluppo e l'integrazione delle applicazioni, permette una comunicazione asincrona e singoli punti di integrazione. Il JMS (servizio di messaggistica Java) è costituito di due modelli: PUNTO A PUNTO (Point-to-Point) DIVULGARE E SOTTOSCRIVERE (Publish-and-Subscribe) Dove point-to-point è intesa come relazione 1 a 1 e Publish/subscribe come relazione 1 a molti. I destinatari dei messaggi vengono chiamati clients (clienti) mentre il mittente o sistema di messaggistica provider (fornitore). - Nel modello Point-to-point si permette ai clienti JMS di spedire e ricevere messaggi sincroni e asincroni attraverso un canale virtuale detto Queues (coda). Questi vengono registrati su una coda prima di essere inviati automaticamente ai destinatari. Una volta confermata la destinazione del messaggio questo viene eliminato e non è più disponibile per altri utenti, per questo si parla di corrispondenza uno a uno. Un tipico esempio è la gestione della vendita dei biglietti aerei on-line. 58 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ - Nel modello Publish-subscrive un fornitore può spedire un messaggio a più clienti attraverso un canale virtuale detto TOPIC (cuore, centro). Ogni utente ha una copia del messaggio. I destinatari, che ricevono il messaggio, possono scegliere se sottoscriverlo o no. Per questo si parla di relazione uno a molti. SUBSCRIBER PUBLISHER TOPIC SUBSCRIBER PUBLISHER/SUBSCRIBER DESTINATARIO MITTENTE CO D A DESTINATARIO POINT-TO-POINT Architetture possibili: PEER to PEER Tutte le architetture decentralizzate usano il protocollo Ip Multicast (trasmissione contemporanea a un certo numero di stazioni di lavoro) al 59 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ livello rete. Il server per i messaggi non si trova al centro e ogni messaggio viene ricevuto da tutti i client (clienti) attraverso l'indirizzo di rete IP. (peer-to-peer) JMS Clie nt JMS Clie nt JMS Clie nt JMS Clie nt JMS Clie nt JMS Clie nt A Bus Attraverso un canale tutti gli utenti sono connessi al Bus. E' vantaggioso per la ricezione dei messaggi ma se vi sono già due aziende, per esempio, che comunicano fra loro può esserci il rischio di collisione. JMS Client JMS Client JMS Client Message Server JMS Client JMS Client JMS Client 60 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ A rigger (Hub and spoke) Un sistema di messaggistica che usa un’architettura centralizzata fa affidamento su un server di messaggi, chiamato anche router o broker, che è responsabile della loro trasmissione da un utente a un altro. Tipicamente un’architettura centralizzata usa la tipologia Hub-and spoke (a raggera), con un server al centro e connessi ad esso tutti i client. Non è molto vantaggiosa in quanto se “cade” la connessione al server centrale i messaggi vengono persi. Per questo motivo è stata apportata la modifica dei Cluster aggiungendo tanti server per evitare la perdita di connessione. Centralized message server (cluster) JMS Client JMS Client JMS Client S S Server Cluster S JMS Client JMS Client JMS Client 61 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Anatomia del messaggio 1. headers (testata) 2. proprietà (definite dall'utente) 3. corpo - L'headers fornisce informazioni sul messaggio stesso quali, chi ha creato il messaggio, quando è stato creato, per quanto tempo è valido e sul percorso per arrivare alla destinazione (coda o topic). - Le proprietà costituiscono un'aggiunta alla testata e variano a seconda del tipo del messaggio, vengono definite prima che il messaggio sia spedito dall'utente stesso. Il valore di una proprietà può essere String (stringa), boolean (vero/falso), byte, int, long, double o float. - Il corpo, infine, contiene il messaggio vero e proprio. Una sessione di transazione è caratterizzata in JMS da un Before commit () e da un End Commit() per portare il messaggio da un mittente a un destinatario. Se la connessione viene persa il messaggio verrà recuperato. Uno strumento importante in questo contesto é SONICMQ per l'utilizzo dei messaggi XML e della DEAD Messages QUEUE (coda dei messaggi morti). Infatti, anche il messaggio “cade” non viene perso ma posto in una coda speciale che viene periodicamente ricontrollata, in questo modo a seconda della sua importanza questo viene eliminato o rispedito. L’architettura di SonicMq è la DRA (Dynamic Routing Architecture, Architettura di Avviamento dinamico); costituita da una sede centrale con i server connessi ad altre sedi secondarie. 62 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Può far comunicare due sistemi in rete anche attraverso un DMZ (Client Side Forward Proxy), utilizzando i classici protocolli di rete HTTP e TCP/IP, i firewall per la sicurezza e un proxy server SonicMQ. Viene usato per la sua alta disponibilità di utilizzo in numerose applicazioni. Perché due sistemi differenti possano comunicare tra loro SonicMq introduce il SERVER BRIDGE che fa da ponte tra l’uno e l’altro. 63 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ SonicMq presenta un insieme di interessanti caratteristiche: il supporto per Brocker multipli consente la connessione simultanea di vari server di messaggistica, i client collegati possono scambiare velocemente le informazioni in un ambiente distribuito, una funzione di replicazione asincrona permette di continuare i lavori attualmente in svolgimento, anche se in attesa di una risposta e questa caratteristica risulta preziosa specialmente per gli utenti mobili o che lavorano off-line. La consegna garantita assicura a tutti gli utenti la ricezione dei messaggi inviati offrendo nello stesso tempo un adeguato livello di sicurezza. SonicMQ supporta, infatti: l’identificazione, l’autenticazione, l’autorizzazione e il controllo degli accessi tramite certificati digitali e la cifratura a 40 o 128 bit. Per tutti questi punti di forza SonicMQ, legato all’XML e al JMS, costituisce un valido strumento per permettere le comunicazioni operate da diverse applicazioni tramite Internet. L'HTML ha rivoluzionato il modo in cui le persone inviano e ricevono informazioni, ma lo scopo principale per cui è stato realizzato è la visualizzazione dei dati. Per questo motivo, l'HTML prende in considerazione soprattutto il modo in cui le informazioni vengono presentate e non il tipo o la struttura di tali informazioni, aspetti per i quali è stato sviluppato il linguaggio XML (eXtensible Markup Language). L'XML è un linguaggio di markup aperto e basato su testo che fornisce informazioni di tipo strutturale e semantico relative ai dati veri e propri. Questi "dati sui dati", o metadati, offrono un contesto aggiuntivo all'applicazione che utilizza i dati e consente un nuovo livello di gestione e manipolazione delle informazioni basate su WEB. Nasce dall'esigenza di portare nel World Wide WEB lo Standard Generalized Markup Language (SGML), lo standard 64 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ internazionale per la descrizione della struttura e del contenuto di documenti elettronici di qualsiasi tipo. Si caratterizza per la semplicità con cui è possibile scrivere documenti, condividerli e trasmetterli nel WEB. L'XML è importante in due classi di applicazioni WEB: la creazione di documenti e lo scambio dei dati. I server WEB attualmente utilizzati richiedono, per essere in grado di servire documenti XML, minime modifiche di configurazione; inoltre il metodo standard di collegamento e la connessione dei documenti XML, utilizza gli URL, che vengono interpretati correttamente della maggior parte del software per Internet. L'XML non è limitato a un insieme fisso di tipi di elementi, ma permette di definire e utilizzare elementi e attributi personalizzati; per far questo viene fornita una sintassi con cui è possibile specificare gli elementi e gli attributi che possono essere utilizzati all'interno dei documenti. In altre parole è possibile creare un modello, chiamato Document Type Definition (DTD), che descrive la struttura e il contenuto di una classe di documenti in cui vengono elencate le regole della specifica stessa del linguaggio. 65 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Questo nuovo linguaggio avrà probabilmente un impatto deciso nel campo di Internet nel prossimo futuro e cambierà completamente lo scenario a cui gli utenti sono ora abituati. 66 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 3. UN CASO DI STUDIO 3.1 INTRODUZIONE U na Pubblica Amministrazione (nel seguito PA) è una complessa macchina il cui funzionamento è determinato da persone, strutture organizzative, procedure operative, strumenti informatici di supporto, modalità di interazioni con altre entità dello Stato e della società civile. Tale macchina opera, come ovvio, secondo principi e criteri che variano a seconda della PA considerata e che tengono conto del ruolo che quella amministrazione svolge all’interno della struttura dello Stato. Tuttavia, esiste un tratto comune che lega amministrazioni anche assai diverse tra loro. Ogni amministrazione consuma e produce un’enorme quantità di informazioni. Tali informazioni si materializzano sotto forma di documenti che hanno varia natura sia per ciò che concerne i contenuti (per esempio l’ordine di trasferimento di un impiegato o la cartella esattoriale inviata ad un contribuente 67 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ non in regola) che la loro struttura fisica (per esempio un messaggio di posta elettronica o una classica lettera su carta). I documenti vengono prodotti, utilizzati, comunicati e mantenuti nell'esercizio delle attività amministrative che ogni PA svolge per il raggiungimento degli obiettivi stabiliti nel proprio mandato istituzionale. Tali attività sono articolate per processi o, in alcuni casi, per veri e propri "procedimenti amministrativi", caratterizzati da sequenze di atti governate da regole e procedure più o meno complesse a seconda dello scopo e contesto del processo considerato. L'attività di protocollo è quella fase del processo che certifica provenienza e data certa di acquisizione del documento, mediante la sua identificazione univoca nell'ambito di una sequenza numerica collegata con l'indicazione temporale. La registrazione di protocollo svolge, quindi, un ruolo essenziale nella gestione dei procedimenti prevista ai sensi della legge 241/1990 e, più in generale, in tutti i processi amministrativi che prevedono fasi di attività e termini certi per la loro conclusione. Anche per le attività di protocollazione sono disponibili supporti informatici in grado di creare e gestire il protocollo informatico, cioè l’insieme delle registrazioni che vengono effettuate ogni qual volta un documento venga ricevuto o prodotto. Tali sistemi possono essere modularmente integrati in un sistema vero e proprio di supporto al lavoro cooperativo, oppure includere essi stessi alcune forme di minime supporto ai processi e ai flussi amministrativi. Alla luce di quanto detto, risulta evidente che il problema dell’automazione e della creazione di un sistema informatico di protocollazione è strettamente legato allo studio e all'automazione dei flussi e processi amministrativi. 68 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 3.2 ATTIVITA’ DI PROTOCOLLAZIONE L 'attività di protocollazione, archiviazione e gestione del flusso dei documenti costituisce l'asse portante dei procedimenti amministrativi svolti all'interno della Pubblica Amministrazione. Tale attività è centrale nella esecuzione dei processi operativi svolti nelle Amministrazioni e tra le Amministrazioni, e può trovare nelle tecnologie della informazione un significativo strumento abilitante ed un importante aiuto ai fini del miglioramento della efficienza ed efficacia. I processi di protocollo vengono generalmente considerati, oltre che a bassa centralità rispetto ai compiti istituzionali degli uffici, anche a bassa difficoltà e vengono amministrati con un livello di automazione solo parziale. Molte amministrazioni continuano a dare limitata rilevanza all'attività di protocollazione mantenendo, in molti casi, un'impostazione organizzativa frammentata su più uffici di protocollo e archivio.Anche per questo motivo, finora, gli interventi di automazione sono consistiti, per lo più, nell'utilizzo della tecnologia come semplice supporto alle attività ripetitive di tenuta del registro protocollo. Alla radice di questo apparente paradosso tra le elevate potenzialità e la scarsa applicazione di soluzione tecniche avanzate, c'è una valutazione diffusa nell'Amministrazione pubblica che guarda alle attività di protocollo come registrazioni "burocratiche" di riferimenti in entrata, archiviazione e uscita senza riuscire a cogliere le valenze del protocollo in termini di snodo nella gestione dei flussi di documenti e nella configurazione dei processi di servizio. La CIRCOLARE 7 maggio 2001, n. AIPA/CR/28 Articolo 18, comma 2, del decreto del Presidente del Consiglio dei ministri 31 ottobre 2000, recante regole 69 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ tecniche per il protocollo informatico stabilisce uno Standard, modalità di trasmissione, formato e definizioni dei tipi di informazioni minime ed accessorie comunemente scambiate tra le pubbliche amministrazioni e associate ai documenti protocollati. Lo sviluppo e la messa in esercizio dei primi sistemi di protocollo informatico, realizzati a seguito dell’entrata in vigore delle recenti norme in materia e destinati, in particolar modo, a sostituire le registrazioni su carta, hanno fatto emergere questioni di carattere applicativo ed amministrativo, ad esempio relativamente alle modalità di interconnessione tra diversi sistemi di protocollo informatico e alla loro integrazione con la posta elettronica e la firma digitale. In effetti, i sistemi di gestione informatica dei flussi documentali, orientati alla trasparenza amministrativa ed all’efficienza interna, si collocano in una dimensione più ampia nell’ottica della interconnessione e interoperabilità dei sistemi informativi pubblici. Per interoperabilità dei sistemi di protocollo informatico si intende la possibilità di trattamento automatico, da parte di un sistema di protocollo ricevente, delle informazioni trasmesse da un sistema di protocollo mittente, allo scopo di automatizzare altresì le attività ed i processi amministrativi conseguenti. Il sistema di protocollo informatico deve: 1. Garantire sicurezza ed integrità dei dati. 2. Garantire la corretta e puntuale registrazione del protocollo sui documenti in entrata ed in uscita. 3. Consentire l’assegnazione della pratica da parte del Dirigente Generale tramite documento elettronico. 70 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 4. Fornire informazioni sul collegamento esistente tra ciascun documento ricevuto dall’Amministrazione e gli altri eventuali documenti inerenti il medesimo procedimento. 5. Consentire il reperimento delle informazioni riguardanti i documenti registrati. 6. Consentire, in condizioni di sicurezza, l’accesso alle informazioni ai soggetti che ne hanno diritto. 7. Garantire la corretta organizzazione dei documenti (fascicolo elettronico) nell’ambito del sistema adottato. 3.1.1 Gestione dell’archivio L ’archivio è un complesso di documenti aventi finalità pratico giuridiche; nasce con rilevanza giuridica e successivamente diventa bene culturale. L’archivio è composto da Documenti, che equivalgono alla testimonianza di un evento, di dati, ect. E’ disciplinato dalla legge 30 settembre 1963, n.1409 sugli archivi.In tale legge non è definito che cosa è l’archivio in quanto per questo si fa riferimento alla dottrina archivistica, ma viene regolamentata la costituzione e la vita nel tempo dello stesso. A questa legge fanno riferimento le gestioni degli archivi negli Enti Pubblici; definisce il concetto di archivio nel tempo e l’Art.30 ne definisce la suddivisione in tre parti: Archivio Corrente (in via di costituzione) Archivio di Deposito (transito per 40 anni) 71 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Archivio Storico Il passaggio da uno stato all’altro (versamento) è regolamentato dall’art.35 che fissa le modalità per le autorizzazioni necessarie per procedere allo scarto dei documenti, operazione che precede sempre il passaggio da uno stato all’altro dell’archivio. Sono soggetti Titolari di archivio (e pertanto soggetti alla predetta legge): - Le Amministrazioni dello Stato; - Gli Enti Pubblici diversi dallo stato; - Gli Enti Ecclesiastici; - I Privati cittadini. Le disposizioni legislative sanciscono l’obbligo: - della registratura (Protocollo) - della classificazione nella suddivisione: TITOLO D’ARCHIVIO CLASSE SOTTOCLASSE A tale suddivisione debbono sottostare tutti i documenti che vanno a formare un Fascicolo. Emerge molto chiaramente che il protocollo (entrata/uscita) è parte importante della più ampia attività di gestione dell’archivio. Gestire l’archivio significa, principalmente, disporre degli elementi atti a classificare in modo chiaro l’archivio corrente che dovrà poi confluire nell’archivio di deposito dove permarrà 40 anni prima di diventare archivio storico. 72 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ La classificazione è l’operazione prima, fatta (o che dovrebbe essere fatta) all’atto della protocollazione del documento in entrata. Le modalità di classificazione sono diversamente regolamentate a seconda del tipo di archivio. L’attività di registrazione del documento è composta da tre fasi principali che possono essere eseguite contestualmente o in momenti diversi secondo l’organizzazione delle mansioni relative all’ufficio protocollo. Memorizzazione: identificazione del documento, ovvero classificazione, oggetto, mittenti, destinatari. Protocollazione: Acquisizione automatica del numero di protocollo generale, data e ora di attribuzione. Assegnazione: Completate le operazioni di riconoscimento, si può procedere all’assegnazione o alla spedizione del documento in oggetto al settore di competenza o a funzionario. Il documento può contenere degli allegati. Questi vengono gestiti o come semplice informazione del documento (numero di allegati) o in qualità di effettivi componenti del documento stesso, quindi classificati e riconosciuti e comunque legati al documento principale del quale seguiranno il flusso. L’eventuale identificazione degli allegati può essere effettuata in una fase successiva alla registrazione, ossia durante la fase di accettazione da parte dell’ufficio o funzionario assegnatario. Quadro Normativo Dal punto di vista normativo il periodo 1997-2000 è stato caratterizzato da un’azione coordinata di interventi che definiscono un nuovo quadro di riferimento per la gestione elettronica delle attività amministrative: 73 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ l’articolo 15, comma 2, della legge 15 marzo 1997, n. 59, che prevede che gli atti, dati e documenti, formati dalla pubblica amministrazione e dai privati con strumenti informatici e telematici, i contratti stipulati nelle medesime forme nonché la loro archiviazione e trasmissione con strumenti informatici, sono validi e rilevanti a tutti gli effetti di legge; il decreto del Presidente della Repubblica 10 novembre 1997, n. 513, “Regolamento recante criteri e modalità per la formazione, l’archiviazione e la trasmissione di documenti con strumenti informatici e telematici, a norma dell’articolo 15, comma 2, della legge 15 marzo 1997, n. 59”; l’art. 4 della legge 16 giugno 1998, n.191, e il relativo regolamento emanato con DPR 8 marzo 1999, n.70, in materia di telelavoro nelle pubbliche amministrazioni; la delibera dell’AIPA del 30 luglio 1998, n.24, che definisce le regole tecniche sull’archiviazione ottica; il decreto del Presidente della Repubblica 20 ottobre 1998, n. 428, recante “Regolamento per la tenuta del protocollo amministrativo con procedura informatica”, che fissa criteri e modalità per la gestione elettronica dei documenti, consente la interoperabilità tra le amministrazioni pubbliche e l’accesso esterno al sistema documentario, compatibilmente con le norme sulla tutela dei dati personali; il decreto del Presidente del Consiglio dei ministri 8 febbraio 1999, recante le “Regole tecniche per la formazione, la trasmissione, la conservazione, la duplicazione, la riproduzione e la validazione, anche temporale, dei documenti informatici ai sensi dell’articolo 3, comma 1, del decreto del Presidente della Repubblica 10 novembre 1997, n.513”; 74 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ la circolare dell’Autorità per l’informatica nella pubblica amministrazione (AIPA) 26 luglio 1999, n.22, che detta le modalità per presentare le domande di iscrizione nell’elenco pubblico dei certificatori; E’ da sottolineare, da ultimo, la Direttiva del Presidente del Consiglio dei Ministri 28 ottobre 1999 sulla gestione informatica dei flussi documentali nelle pubbliche amministrazioni, che fornisce un fondamentale stimolo alle amministrazioni nella concreta attuazione del quadro normativo ora esistente, sollecitando un profondo cambiamento di tipo organizzativo e culturale ancor prima che un aggiornamento di tipo tecnologico. Il quadro normativo e tecnico viene completato - a norma dell'art. 4, comma 4, del DPR 20 ottobre 1998, n. 428 - con le regole e criteri relativi alle operazioni di registrazione di protocollo. Tale provvedimento rappresenta l’elemento conclusivo del quadro normativo e tecnico del nuovo sistema di gestione elettronica delle attività amministrative. 3.1.2 Attuali implementazioni L a pubblica amministrazione è da tempo sensibile al tema dell'adozione delle tecnologie telematiche sia per favorire i processi di razionalizzazione interna che per ricostruire su basi nuove il rapporto con gli utenti. Oggi sta attraversando un momento di intenso cambiamento grazie al Piano d'Azione del Ministro Bassanini che individua e fornisce i finanziamenti per raggiungere, nell'arco di un anno, tre obiettivi: il miglioramento 75 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ dell'efficienza operativa interna, l'offerta di servizi integrati e la garanzia dell'accesso via Internet a informazioni e servizi per tutta la cittadinanza. L’avvio di un programma di informatizzazione del protocollo che si estende all’automazione dei processi e delle funzioni di gestione documentale non può essere ridotto ad una questione di introduzione di tecnologia. Al contrario l'introduzione dei nuovi strumenti tecnologici può portare ai risultati finali attesi solo se coniugata ad un intervento organizzativo di grande profondità. Tra le azioni più significative di analisi organizzativa spicca senz’altro la rideterminazione degli ambiti dei nuovi sistemi di protocollo informatico, ossia la individuazione delle Aree Organizzative Omogenee (nel seguito AOO) previste dal DPR 428, nelle quali è da prevedersi un sistema unico di protocollo e gestione documentale, gestito da una specifica struttura, il "Servizio per la tenuta del protocollo informatico…". Questa individuazione consente di arrivare ad una diminuzione e semplificazione dell'insieme dei sistemi di protocollo oggi esistenti. Questi specifici "sotto-domini", non vanno ovviamente visti come aree chiuse, ma al contrario ne andranno definite le interazioni con gli altri sistemi. Esplicita indicazione di migliorare l’efficienza dei processi di gestione documentale attraverso l’eliminazione della frammentazione dei sistemi di protocollo. prima dopo 76 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Come già evidenziato nel documento Gedoc del febbraio 1997 approvato dall’Autorità per l’informatica, il fenomeno della frammentazione dei registri di protocollo è una delle maggiori cause di inefficienze nella gestione dei documenti delle pubbliche amministrazioni. La tendenza ad utilizzare numerosi registri di protocollo, spesso corrispondenti ad altrettanti uffici con strutture e personale dedicati, si è evoluta dalla duplice esigenza di suddividere i documenti per tipologia di argomento e nello stesso tempo di tenere traccia dell'iter dei documenti all'interno dell'amministrazione. Tra le conseguenza negative derivanti da tale frammentazione va certamente citata la ripetuta protocollazione del documento (con annesse le operazione di registrazione di dati ridondanti) ad ogni passaggio anche tra strutture interne alla stessa sede di una amministrazione, oltre alle notevoli difficoltà di reperimento di un documento protocollato tali da rendere, paradossalmente, l'individuazione della collocazione fisica di documento un problema secondario rispetto all'individuazione del registro di protocollo in cui esso era stato registrato. La nuova normativa, avvalendosi delle nuove tecnologie disponibili (scanner, timbri elettronici, reti di telecomunicazione, posta elettronica, strumenti di workflow e quant'altro), va nella direzione di una migliore organizzazione del flusso e della archiviazione dei documenti all'interno delle amministrazioni. In altri termini con l'attuazione del DPR 428/98 si andrà sempre più, sfruttando le infrastrutture di rete, verso una deframmentazione degli uffici di protocollo e quindi verso una diminuzione del numero dei registri di protocollo secondo criteri di coesione interna dal punto di vista funzionale pur nel rispetto di eventuali vincoli di tipo logistico e/o organizzativi. 77 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 3.2 ANALISI E PROGETTO I l nostro obbiettivo è quello di realizzare un progetto che preveda la gestione del Protocollo per Enti Pubblici fruibile e condivisibile in rete. Per realizzare l’interoperabilità dei sistemi di protocollo informatico gestiti dalle pubbliche amministrazioni distribuite sul territorio, è necessario, in primo luogo, stabilire una modalità di comunicazione comune, che consenta la trasmissione telematica dei documenti sulla rete. Oltre ad una modalità di comunicazione comune si richiede anche una efficace interazione dei sistemi di gestione documentale. In questo senso, le regole tecniche suggeriscono di riportare alcune informazioni archivistiche fondamentali, per facilitare il trattamento dei documenti da parte del ricevente. Tali informazioni sono incluse in ciascun messaggio protocollato e sono codificate in formato XML. L’XML è nato per permettere agli utenti del Word Wide Web di condividere le informazioni su sistemi differenti. Si utilizza in 3 categorie di applicazioni: 1. applicazioni che richiedono WEB client di mediare tra due o più database eterogenei. 2. applicazioni che tentano di distribuire processi di caricamento di informazioni dal WEB server al WEB client. 3. applicazioni che richiedono al WEB client di presentargli differenti viste degli stessi dati a utenti differenti. Lo scenario di riferimento abilitato dalle nuove norme sarà quello di una progressiva sostituzione del supporto cartaceo nella gestione dei procedimenti delle amministrazioni. Attraverso la trasmissione e lo scambio dei documenti 78 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ informatici, nel loro formato originario, attraverso la Rete unitaria si eviteranno duplicazioni e accumuli di inutili copie cartacee e verrà favorita la trasformazione graduale degli archivi cartacei della P.A. in sistemi informativi automatizzati ad alto livello di sicurezza ed affidabilità. Le norme relative alla gestione informatica dei documenti (DPR 428/98 e relative regole tecniche) introducono alcuni adempimenti richiesti alle amministrazioni per la attuazione di indispensabili misure organizzative. Architettura e modalità di interazione Il modello di riferimento è un’architettura client/server distribuita in rete, basata su protocollo TCP/IP, con dati memorizzati su server e informazioni reperibili dagli enti pubblici attraverso transazioni, in cui il Browser (Internet Explorer 5 o successivi e Netscape) si sostituisce alle interfacce utente tradizionali. Il programma prevede l’utilizzo in due modalità differenti: in modalità ASP e in modalità Intranet. Nella prima, gli enti pagano un canone di noleggio per accedere al DB che risiede nel server centrale dell’azienda distributrice del servizio. Innovativo in questo progetto è l’utilizzo dell’ASP (Application Service Provider), struttura in grado di offrire ai propri clienti soluzioni applicative software in remoto senza investimenti di capitale. Questo è possibile grazie a sofisticate soluzioni di rete che rendono disponibili per l’uso via Internet di programmi progettati fin dall’inizio secondo specifiche che ne consentono l’uso remoto, la gestione e l’aggiornamento. Nella modalità Intranet, invece, gli enti pubblici dovranno necessariamente dotarsi dell’intero pacchetto applicativo, installarlo sulla propria rete locale, 79 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ configurare il tutto ed effettuare la manutenzione continuamente, gestire gli aggiornamenti, fare copie di back-up e rivedere periodicamente l’hardware per controllare che non sia obsoleto. In entrambe le modalità, emergono esigenze tipiche del settore della base di dati: da una parte quelle legate alla identificazione degli utenti e alla sicurezza, dall’altra quelle legate all’affidabilità delle transazioni. La sicurezza, se si utilizza l’ASP è garantita dalla presenza di un firewall software, mentre con Intranet ogni ente vi provvederà in base alle proprie esigenze. L’affidabilità delle transazioni è garantita da Progress, col quale il DB è stato implementato. Progress utilizza delle query SQL tra il server e il client che vengono inviate a WebSpeed, questo tramite WWS (Web Speed Scripts) genera le pagine HTML che verranno visualizzate dal Browser. Se durante una transazione si verifica una caduta di connessione prima della chiusura della pagina, le informazioni non vengono salvate nel DB. Un’ulteriore garanzia sulla sicurezza delle transazioni può essere l’utilizzo di SoniqMQ, sistema di messaggistica che si basa su JMS che, installato sia su server che su client, permette di avere più server a disposizione evitando la caduta della connessione e quindi il fallimento della transazione. L’implementazione del programma su Internet permette l’accesso simultaneo di più operatori allo stesso DB e quindi bisogna gestire le transazioni con dei blocchi (locking). All’interno del DB ci sono due tipi di blocchi: blocco alla tabella (es. inserimento di due diversi protocolli) e blocco al record (es. modifica di uno stesso protocollo); per entrambi è necessario che il salvataggio dei dati avvenga in modo seriale per garantire l’integrità dei dati. 80 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Progetto del DB A seguito di quanto detto nei paragrafi precedenti, è stato realizzato l’ERD, mostrato in fig. 1 e fig. 2. Esso tiene conto della normativa descritta in precedenza. Come si vede dal disegno le entità sono: ENTI: l’insieme degli enti che possono gestire il protocollo. Essi vengono classificati in base alla loro denominazione e ad un codice che li identifica. ESERCIZI: ogni ente gestisce i protocolli annualmente (01/01 – 31/12) e allo scattare del nuovo anno l’esercizio viene chiuso. L’esercizio corrente è l’unico aperto e raggruppa tutti i protocolli presentati. OPERATORI: gli enti autorizzano solo alcuni operatori all’accesso al protocollo ma non tutti possono apportare modifiche alla struttura del DB. Il controllo dell’accesso viene fatto tramite i campi password e firma elettronica. SETTORI: in base alle funzioni da espletare gli enti si suddividono in settori. Questi possono gestire un proprio protocollo tramite il campo ultimo protocollo settoriale che ha una sua numerazione a parte. UFFICI: rappresenta un’ulteriore suddivisione dei settori in cui è diviso l’ente. UFFICI PER CONOSCENZA: serve per tenere traccia dell’iter che la pratica ha seguito tramite la data e l’ora in cui la copia del protocollo è entrata o uscita dall’ufficio. ITER PRATICA TESTATA: contiene i dati principali cui fa riferimento il protocollo (anno e numero del protocollo, dati dell’intestatario, data avvio e sospensione) e il responsabile della pratica. 81 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ ITER PRATICA RIGHE: descrive la movimentazione del protocollo tra gli uffici tramite i campi: durata, data carico e scarico. CATEGORIE: ogni ente contiene 15 categorie, non si può diminuire il numero né variarne la materia. Si potranno aggiungere nuove categorie solo per nuove necessità e gli affari relativi non possono essere riferiti alle prime 15, neppure per analogia. CLASSI: le categorie sono suddivise in classi. Il numero delle classi può variare da ente ad ente secondo la quantità presumibile degli affari di ciascuna categoria. SOTTOCLASSI: suddivisione delle classi, personalizzata per ogni ente. PROTOCOLLO: entità principale all’interno del DB. Contiene tutti i dati obbligatori per legge che si riferiscono alla pratica. Il protocollo viene classificato in base alla categoria, classe e sottoclasse. TIPO CORRISPONDENZA: è la modalità in cui il protocollo viene ricevuto o spedito (es. raccomandata, posta ordinaria, ecc.). INTERLOCUTORI: contiene il mittente o destinatario del protocollo e i dati ad esso riferiti. ELENCO INTERLOCUTORI: contiene i dati dei diversi interlocutori di uno stesso protocollo. ALLEGATI: elenco degli allegati presentati in un protocollo. FASCICOLI: insieme di protocolli inerenti una medesima pratica. Ogni apertura di una nuova pratica crea un nuovo fascicolo. REPERTORIO: il repertorio contiene l’elenco di fascicoli con la loro collocazione fisica in base all’anno e numero del protocollo. 82 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ LEGAMI: tiene traccia dell’eventuale protocollo precedente o successivo a quello corrente. Tra queste entità esistono diversi tipi di relazioni: 0 o 1 0, 1 o molti: utilizzata tra Settori e Uffici, Protocollo; tra Classi e Fascicoli, Fascicoli e Protocollo, Protocollo ed Elenco interlocutori, Repertorio e Protocollo, Sottoclassi e Protocollo, Tipo corrispondenza e Protocollo. 0 o 1 1 o molti: utilizzata tra Operatori e Protocollo, Uffici e Operatori. 1 0, 1 o molti: utilizzata tra gli Enti e gli Esercizi, Categorie, Interlocutori, Repertorio, Tipo corrispondenza; tra Protocollo e Allegati, Uffici per conoscenza; tra Uffici e Uffici per conoscenza, Iter pratica righe; tra Categorie e Classi, Classi e Sottoclassi, Esercizi e Protocollo, Interlocutori ed Elenco interlocutori, Iter pratica testata e Iter pratica righe. 1 1 o molti: utilizzata tra Enti e Settori, Protocollo e Legami. 1 1: utilizzata tra Protocollo e Iter pratica testata. 83 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 84 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 85 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ L’ERD è stato realizzato sia a livello logico (fig. 1) che a livello fisico (fig. 2). In quello logico sono indicate le relazioni tra le tabelle, le chiavi primarie ed esterne (FK), e i nomi dei campi. In quello fisico, invece, vengono specificati la dimensione ed il tipo dei campi. Quest’ultimo è stato la base per la creazione del Dizionario dei Dati (DD) allegato e del Database vero e proprio. Continuando nell’analisi sono stati creati dei DFD che illustrano la logica sequenziale dei processi a partire dall’accesso al programma alla descrizione delle procedure: inserimento, modifica, ricerca e stampa registro. ACCESSO AL PROGRAMMA Per accedere al programma bisogna inserire il codice di un ente valido e il codice e password dell’operatore. Viene immediatamente effettuato il controllo dei dati inseriti e la scelta dell’esercizio. Automaticamente l’anno e la data sono quelli correnti, ma l’operatore può sceglierne uno diverso che sia esistente. A questo punto si può effettuare la scelta delle procedure da seguire tra inserimento, modifica, ricerca e stampa registro. ACCESSO AL PROGRAMMA Scelta ente Ente esistente? si codice e password corretti? Inserimento codice e password operatore Scelta esercizio Data odierna si no no si scelta procedura inserimento modifica no Ricerca uscire dalla procedura? 86 si Stampa registro fine esercizio esistente e aperto? no Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ INSERIMENTO Descrive la procedura da seguire per l’inserimento di un nuovo protocollo. Viene inserita automaticamente la data odierna, ma può essere modificata solo se compatibile con l’esercizio e non inferiore alla data dell’ultimo protocollo inserito. I dati dell’entità Protocollo come ora, tipo, tipo corrispondenza, codice settore, non sono soggetti a controlli ma altri lo sono, quindi abbiamo previsto che il Db sia in grado di effettuarli. I controlli possono essere di diversi tipi: ricerca di dati già esistenti (nelle tabelle categoria, classe, sottoclasse, legami, fascicoli, repertorio) e creazione di nuovi campi (nelle tabelle interlocutori, uffici, allegati, repertorio, fascicolo, iter). Ci sono anche dei cicli per l’inserimento di dati multipli come per gli interlocutori, uffici, allegati e legami. Dopo l’inserimento del protocollo si può decidere se inserirne altri o passare ad un’altra procedura. INSERIMENTO data č compatibile con l'esercizio e non inferiore alla data del protocollo precedente? inserisci data protocollazione inserimento : ora; tipo; tipo corrispondenza; codice settore; protocollo settoriale; numero allegati; protocollo mittente; oggetto; numero cartella; scarto; accompagnatoria; note. si no inserisci data atto esistono nelle tabelle di classificazione? si contiene atti? si no atti soggetti a scadenza? inserimento: categoria; classe; sottoclasse no inserisci interlocutore (mittente o destinatario) no inserisci ufficio per conoscenza si altro ufficio? contiene allegati? no inserisci allegato si si no data scdenza (ed eventuale data evasione in successiva modifica) si inserisci nuovo protocollo? no inserisci legame no si altro intelocutore? č una pratica? inserisci protocollo in fascicolo ha dei legami? si inserisci anno e numero fascicolo si no si no si si altro legame? no č in un repertorio? si crea repertorio? si no no no gestione iter scelta procedura altro allegato? no crea nuovo fascicolo? si fa parte di un fascicolo? no 87 inserimento del protocollo in repertorio inserimento anno e numero nuovo repertorio Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ MODIFICA La procedura prevede una ricerca del protocollo da modificare tramite l’inserimento del suo numero. Una volta visualizzato è consentita solo la modifica di alcuni dati. I dati non modificabili per legge sono: la data e l’ora di protocollazione, l’oggetto e gli interlocutori. Tutti gli altri seguono i controlli descritti nella procedura di inserimento (ricerca dati esistenti e creazione di nuovi campi). Solo con questa procedura è possibile gestire l’iter per aggiungere nuove movimentazioni alla pratica. La struttura ciclica permette di continuare con un’altra modifica o di cambiare procedura. MODIFICA Inserimento Numero Protocollo Protocollo esistente? inserimento : tipo; tipo corrispondenza; numero allegati; protocollo mittente; numero cartella; scarto; accompagnatoria; note. si inserimento: categoria; classe; sottoclasse no data scdenza (ed eventuale data evasione in successiva modifica) si atti soggetti a scadenza? inserisci data atto si no contiene atti? si esistono nelle tabelle di classificazione? no inserisci ufficio per conoscenza altro ufficio? no si si inserisci legame altro legame? no no si ha dei legami? no no altro allegato? inserisci allegato contiene allegati? si si no č in un repertorio? crea repertorio? si altra modifica? fa parte di un fascicolo? si no no si si inserimento del protocollo in repertorio inserimento anno e numero nuovo repertorio no č una pratica? no si scelta procedura gestione iter no inserisci protocollo in fascicolo 88 inserisci anno e numero fascicolo crea nuovo fascicolo? si Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ RICERCA Un'altra importante procedura all’interno del Programma è la ricerca. Questa si divide in ricerca Protocollo e in ricerca Stato Pratica. La ricerca Protocollo prevede l’inserimento di uno o più criteri di ricerca, in base ai quali il nostro DB può risalire ad un protocollo già inserito o ad un insieme di protocolli. Si procede poi ad un controllo dei dati immessi e alla visualizzazione dei protocolli stessi in caso di validità nei criteri. La ricerca Stato Pratica è stata introdotta per controllare l’attuale situazione di una pratica o l’iter che ha seguito (permanenza e passaggio nei vari uffici). In questo modo noi possiamo visualizzare contemporaneamente i dati principali del protocollo e il suo stato pratica. La ricerca viene sempre effettuata attraverso inserimento di determinati criteri e controllo di validità di questi ultimi, fino alla visualizzazione. Più dati vengono inseriti, più la ricerca sarà dettagliata. A questo punto è possibile iniziare una nuova ricerca o tornare alla scelta di una nuova procedura. RICERCA Scelta ricerca Ricerca protocollo Ricerca stato pratica no Inserimento uno o piů criteri di ricerca no I dati immessi sono validi? < I dati immessi sono validi? si si Visualizza Protocollo/i e stato pratica Visualizza Protocollo/i si Nuova ricerca? Inserimento uno o piů criteri di ricerca no Scelta procedura 89 no Nuova ricerca? si Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ STAMPA Il programma deve permettere la stampa giornaliera dei Protocolli secondo le leggi vigenti quindi deve essere effettuata con un formato standard conforme ad un tabulato già predisposto. Attraverso questa procedura è possibile quindi inserire gli estremi (da numero a numero e da data a data) dei Protocolli per inviarli al processo di stampa. Dopo aver verificato che gli estremi siano validi la stampa viene eseguita. I dati che devono essere obbligatoriamente visualizzati sono: numero, tipo, data registro, data atto, protocollo mittente, interlocutore, oggetto, categoria e classe. STAMPA REGISTRO Inserimento estremi ( da numero a numero e da data a data) Gli estremi sono validi? Stampa (numero, tipo, data registro, dataatto, protocollo mittente, interlocutore, oggetto, categoria e classe) si Scelta procedura no GESTIONE ITER Questa procedura può essere eseguita sia durante l’inserimento sia durante la modifica del protocollo. Per questo il DFD inizia con un controllo che ci permette di inserire i dati se il protocollo è nuovo o di modificare l’attività della pratica se già esistente. I dati necessari al nuovo inserimento sono: responsabile pratica, indirizzo, località, codice fiscale, data avvio, data scadenza, data sospensione, data riavvio, data scadenza. A questo punto se la pratica è passata ad un altro ufficio, vengono inseriti il suo codice, il responsabile, le attività, la durata, la data scarico e carico e le note, altrimenti si torna all’inserimento o alla modifica del Protocollo. La struttura 90 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ ciclica della procedura ci consente di risalire all’intero iter della pratica e quindi ad ogni ufficio in cui è passata fino al momento della ricerca. GESTIONE ITER Siamo in inserimento protocollo? si Inserimento (se si č in inserimento protocollo): responsabile pratica; indirizzo; localitŕ; Cod_fiscale; data avvio; data scadenza; data sospensione; data riavvio; data evasione. no L'attivitŕ della pratica č passata ad altro ufficio? si Inserisci riga: Codice ufficio; responsabile; attivitŕ; durata; data carico; data scarico; note no Torna ad inserimento o modifica del protocollo L’analisi è stata realizzata tramite l’utilizzo di diversi programmi: 1. ERWIN: E' lo strumento attraverso il quale è stata compiuta, graficamente, l'analisi del database nonché la stesura dello stesso (ERD). E' stato utilizzato anche per la documentazione del database (DD) e per le relazioni tra le varie tabelle. 2. ABC: E’ il programma con cui sono stati realizzati i DFD per la descrizione delle procedure. 3.3 IMPLEMENTAZIONE L’analisi è stata la base per lo sviluppo realizzato dalla Ollsys Computer (azienda che ha proposto il progetto e lo stage) con i seguenti strumenti: 91 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ 1. Progress: Rappresenta il modulo principale dell'applicazione, infatti permette la gestione del DB per il protocollo. In altre parole può essere considerato “il motore dell'applicazione”. 2. WebSpeed: E' il tramite, attraverso il quale è possibile gestire il DB del protocollo in Internet. Fornisce tutti i meccanismi con i quali si possono inviare le “richieste a Progress” che a sua volta interagisce con il database. Inoltre WebSpeed genera automaticamente le pagine html che contengono i dati, una volta che questi sono stati presi dal DB e debbono essere visualizzati nel browser. 3. Gimp: E' un programma di libero utilizzo con il quale sono state create e ritoccate alcune delle immagini che si ritrovano all'interno delle pagine html. 3.4 LA FASE DI TEST Durante la fase di sviluppo dell’applicazione, sono stati effettuati dei controlli sul suo funzionamento e sui limiti di utilizzo degli utenti. Abbiamo verificato se l’accesso da parte di Enti diversi era indipendente. Inoltre, se solo determinati operatori abilitati potevano accedere alla struttura interna del DB (cancellazione di alcuni record, gestione degli operatori e relative password, modifica di tabelle). 92 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Tutto questo è controllato dalla presenza di messaggi di errore visualizzati nelle pagine WEB. Nell’applicazione abbiamo testato l’inserimento e la modifica dei vari campi all’interno delle tabelle e il funzionamento della procedura di ricerca. 93 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ GLOSSARIO A APPLET Piccola applicazione per l’esecuzione di attività delimitate o ridotte. Programma in Java che gira all'interno di un Browser come Netscape. ASP Application Service Provider: fornitore di servizi per Applicazioni; centri di calcolo che “affittano” macchine e programmi ad aziende. “asp” Active Server Pages; Linguaggio per sviluppare pagine attive per Internet e gestire una comunicazione client/server. Una pagina con estensione .asp deve essere servita da un server (di solito Microsoft IIS) che capisce le aggiunte al normale HTML. Una delle possibilità offerte da una pagina asp e' ad esempio quella di interagire con un data base. B BROADCAST Le reti Broadcast sono dotate di un unico "canale" di comunicazione che è condiviso da tutti gli elaboratori. Brevi messaggi (spesso chiamati pacchetti) 94 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ inviati da un elaboratore sono ricevuti da tutti gli altri elaboratori. Un indirizzo all'interno del pacchetto specifica il destinatario. Quando un elaboratore riceve un pacchetto, esamina l'indirizzo di destinazione; se questo coincide col proprio indirizzo il pacchetto viene elaborato, altrimenti viene ignorato. In genere, consentono anche di inviare un pacchetto a tutti gli altri elaboratori, usando un opportuno indirizzo (broadcasting). In tal caso tutti prendono in considerazione il pacchetto. Un’altra possibilità è inviare il pacchetto ad un sottoinsieme degli elaboratori (multicasting). BROWSER Interfaccia grafica per la navigazione in rete che permette la visualizzazione delle pagine Web e l’utilizzo di tutti i servizi offerti dal sito visitato. In gergo sono i programmi cliente (che consumano l'informazione) in contrapposizione ai programmi server (che forniscono l'informazione) nel modello client-server del Web. Da notare che mentre un server Web fornisce solo materiali usando lo speciale protocollo Web chiamato HTTP, il Browser fa uso di tutti i protocolli possibili su Internet scegliendo quello che serve attraverso l'URL. Quindi un Browser Web può collegarsi anche con server FTP, Usenet, telnet, etc. BUFFER Memoria tampone; ’luogo’ temporaneo di memorizzazione dei dati. 95 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ BUSINESS Attività commerciali. BYTE Unità informativa di base formata da 8 bit. C CERN Laboratorio europeo per la ricerca nella fisica delle Alte Energie dove e' nato il Web. CGI Common Gateway Interface. Interfaccia standard tra HTTP servers e programmi esterni (Gateways). In pratica permette a un qualsiasi programma di essere attivato dal server in risposta a un click su uno speciale link su un documento HTML. CLIENT/SERVER Modello alla base del Web; viene usato in tutti i casi in cui calcolatori di diversi tipi devono condividere dei compiti. Un programma/calcolatore client fa da interfaccia con l'utente e quando questi richiede un servizio distribuito fa la richiesta al programma/computer server. Client e server possono essere su piattaforme diverse: l'importante e' che rispettino il protocollo predefinito per le richieste e la loro evasione. Nel caso del Web tale protocollo si chiama http. CLUSTER Unità di immagazzinamento dati su disco. CPU Central Processing Unit; Unità centrale di elaborazione di un computer. 96 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ CSMA/CD Carrier Sense Multiple Access/Collision Detection, accesso multiplo a rilevazione di portante () con segnalazione di collisione. D DATABASE Base di Dati; Archivio di dati eterogeneo gestito dal computer che memorizza e organizza i dati per una loro veloce gestione (ricerca, cancellazione, inserimento). DBMS Data Base Management System; Sistema centralizzato o distribuito che permette di memorizzare, modificare ed estrarre informazioni da un database. Se il database e' relazionale si parla di RDBMS. Se si basa sul modello ad oggetti allora ODBMS. DIAL-UP Connessione tra un computer e la rete Internet a mezzo di modem collegato a cavo telefonico. DMZ Demilitarized Zone: Zona Demilitarizzata (Client Side forward Proxy); Modalità di invio messaggi al client tramite un Server Proxy. E’ una zona di sicurezzaintermedia che isola l’applicazione a lato client, mentre si accede ad Internet. 97 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ DORSALE Parte di una rete che supporta il maggior traffico e connessioni ad alta velocità. Le dorsali geografiche permettono connessioni anche intercontinentali. DTD Document Type Definition; Definizione del tipo di documento XML. E E-BUSINESS Commercio su Internet. ERD Entity Relation Diagram; Diagrammi di entità relazione per la modellizzazione di sistemi. F FIREWALL Muro di fuoco; sistema di difesa in Internet contro accesso Abusivo. FTP File transfer protocol; Protocollo di trasferimento dei file su Internet. L'FTP é il metodo convenzionale grazie al quale ci si può collegare ad un computer nella rete Internet e importare una copia dei programmi in esso pubblici 98 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ G GATEWAY Viene chiamato con questo nome un programma che facendo da tramite tra il server HTTP e un database esterno, crea a volo un documento HTML in seguito a una richiesta da parte del server. Il dialogo viene regolato dal protocollo CGI. Effettua,inoltre, la conversione degli indirizzi di posta elettronica, oppure converte un messaggio in codice ASCII in un'altro non-ascii (utilizzato anche dai Browser). GUI Graphical User Interface. Interfaccia dell’Operatore Grafico. H HARDWARE Struttura fisica dell’elaboratore. HOST Termine generico che identifica un computer connesso ad una rete (p.e. LAN, Internet) e quindi capace di comunicare con altri computer della rete (host). HTML HyperText Markup Language; Linguaggio simbolico di ipertesto, usato per la scrittura di fogli e siti su Internet. 99 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ HTTP Hypertext transport Protocol; Protocollo per trasferire un ipertesto, usato per leggere il WWW nella rete. HUB Termine che indica un’apparecchiatura che collega client e server, ‘ripetendo’ i segnali. HYPERTEXT Hypertesto. Particolare tipo di sistema di database, nel quale gli oggetti (testo, musica, programmi, etc.) possono essere creativamente collegati l’uno all’altro. HYPERMEDIA Estensione dell’Hypertesto che supporta collegamenti tra elementi grafici, sonori e visivi in aggiunta ad elementi di testo. I IEEE Acronimo per Institute of Electrical and Electronics Engineers. Ente statunitense con sede a New York che definisce i modelli di rete e metodi di accesso per opera di ingegneri, studenti e scienziati. INTERNET Rete mondiale di computer che consente la comunicazione e lo scambio di dati tra utenti collegati tramite essa. INTRANET Una rete privata di una organizzazione realizzata usando i protocolli di Internet.Essa permette al personale dell'organizzazione (che potrebbe essere una multinazionale sparsa in tutto il mondo) di comunicare e accedere ai dati 100 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ della compagnia. Da un'intranet si può accedere a Internet ma il viceversa e' reso impossibile da programmi che realizzano firewall un fossato per impedire l'accesso dall'esterno all'Intranet. IP Protocollo Internet; regola collegamento tra i computer compongono la rete. il che ISP Internet Service Provider; Fornitore di servizio Internet, società fornitrice di connessione in Internet tramite cavi di cui dispongono e in cambio di quota mensile o oraria. J JAVA Linguaggio di programmazione usato nelle operazioni in rete, funzionanti nelle pagine WWW di internet. JDBC Java DataBase Connectivity; interfaccia in Java per eseguire comandi SQL. L LAN Local Area Network; rete di comunicazione locale, circoscritta ad un ufficio o ad un palazzo. LINK Collegamento tra due file di dati in 101 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ modo da consentire l’aggiornamento simultaneo di entrambi; parte di documento di ipertesto. M MAINFRAME Computer centrale tipico dei sistemi centralizzati, permettono agli utenti (centinaia o migliaia) che vi accedono di eseguire molti processi. MODEM MODulatore-DEModulatore. Apparecchio per la trasmissione e ricezione seriale in forma analogica anche a lunga distanza di informazioni in formato digitale. A causa dell'evoluzione tecnologica di questi ultimi anni, che ha portato alla realizzazione di reti di comunicazione digitali estremamente estese (ISDN, ADSL) la definizione di modem dovrebbe essere leggermente modificata, in quanto vengono a mancare la modulazione e la conseguente demodulazione, cioè i processi di interfacciamento tra rete digitale ed analogica, e quindi esso diventa, concettualmente, estremamente simile ad una scheda di rete. N NETWORK Rete di comunicazione. 102 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ O ODBC Open Database Connectivity; standard sviluppato per lo scambio dei dati tra database diversi. Uno standard per l'accesso ai database relazionali che capiscono il linguaggio SQL. Esso richiede uno speciale programma l'ODBC driver che intercetta le richieste esterne fatte a un database e le trasforma in comandi che il database capisce. OFF-LINE Non collegato, disconnesso da (computer ad altro computer o da Internet). ON-LINE Connesso, in linea (collegamento a Internet o da computer a computer). P PAWIS Public Access Web Information System; pubblico accesso al Sistema Informativo, sistemi dove l’accesso è consentito a tutti per utilizzare servizi o documenti pubblici. PORTANTE Segnale elettromagnetico a frequenza fissa generato dai modem per trasmettere dati che viene modulato in fase. 103 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ Q QUERY Interrogazione; Nei Data Base indica il criterio in base al quale si effettua la ricerca di un particolare record o insieme di record. R RECORD Insieme di file, archivio. ROUTER Dispositivo hardware che incanala le informazioni in rete al destinatario. Uno speciale computer usato per gestire la connessione tra 2 reti. Sono i router che decidono dove istradare i vari pacchetti di passaggio. RSS Relational Storage System; sistema di gestione dei metodi di accesso ai dati secondo la strategia definita dall’ottimizzatore. S SCHEDULER Pianificatore; stabilisce quale processo può utilizzare la CPU. SCRIPT Sinonimo di programma. Di solito indica però un programma scritto in un apposito linguaggio (differente da piattaforma a piattaforma) per eseguire dei compiti 104 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ legati al sistema operativo. Nel gergo Web indica programmi attivati dal server ogni volta il programma client manda una speciale richiesta che oltre al nome di un "file" contiene dopo il separatore ? dei parametri per lo script. Inoltre si conviene che dei documenti richiamati in una speciale directory (quasi sempre /htbin/ o /cgi-bin/) siano sempre associati a script da attivare. SERVER Un programma che nel modello client/server fornisce un servizio su richiesta del client. Nel Web indica il programma che fornisce un documento ipertesto in formato Web oppure attiva uno CGI script su richiesta di un programma client. SERVER PROXY Nodo di Internet compreso do software di gestione che si interpone fra l’host dell’utente e il resto della rete. Appena riceve una richiesta tipo URL cerca il file nella cache locale o lo preleva dal sito associato ad essa. STD Diagram Transation state; Diagramma di transizione di stato, rappresenta i cambiamenti e le condizioni per i passaggi da uno stato all’altro di un sistema. SQL Structured Query Language; linguaggio di interrogazione utilizzato in base di dati per la configurazione della ricerca. 105 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ T TAG Indicatore, etichetta. In HTML i tag sono i comandi che definiscono il documento e il formato dello stesso. Ogni tag e' contenuto fra il simbolo di minore (<) e quello di maggiore (>). Sono molti i comandi HTML (tag) ed ognuno ha una determinata funzione. Esistono tag per creare collegamenti ipertestuali, modificare le dimensioni del testo, il colore dei caratteri, il loro allineamento rispetto al bordo della pagina o p.e. rispetto ad un immagine. Ci sono poi tag per arricchire le pagine web di immagini, suoni ed altre risorse. TCP/IP Trasmission Control Protocol /Internet Protocol. Principale protocollo per la trasmissione di informazione su Internet:in effetti si tratta di due protocolli. TCP: Protocollo per il controllo della trasmissione; garantisce la trasmissione tra mittente e destinatario. Indica come dividere un'informazione da spedire (ad es. un'immagine) in pacchetti ognuno con l'indirizzo del destinatario e un numero d'ordine. IP: protocollo Internet. Indica come dare un indirizzo a ogni computer in Internet. Ogni pacchetto viene smistato attraverso cammini differenti stabiliti sulla base della disponibilità al momento dai routers o computers di internet che effettuano la trasmissione. A destinazione i pacchetti 106 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ sono ricomposti per ridare l'informazione originale. TELNET Programma che permette la connessione ad un sistema remoto tramite account. Con il termine si intende in egual misura il protocollo (operante con il TCP/IP) che permette ad un utente di sfruttare le risorse di un altro calcolatore remoto (CPU, hard disk, programmi, ecc.), come se fossero quelle del proprio sistema. Se si intende l'applicazione Telnet, inviando p.e. il comando telnet nome.della.macchina.it, si accede ad una sessione remota e richiedente l'account. Aperta la sessione di lavoro, il computer su cui si sta operando funge solo da console con l'unico incarico di inviare i comandi tramite tastiera al sistema remoto (input) e di visualizzare le informazioni prodotte dal sistema remoto sul monitor locale (output). THREE TIER In inglese 3 strati o 3 piani. Un database pubblicato sul Web viene di solito servito con un'implementazione three tier perché tra l'utente e il database c'e' un piano intermedio (middle tier) formato dal server Web. Questo in contrapposizione al modo normale di servire i database basato sui 2 strati:client e server. TOKEN RING Anello a gettone, IEEE 802.5. Rete a diffusione IBM token ring da 4 a 16 Mbps. Il gettone o token, costituito da una serie di bit speciali, circola nella rete locale fino a quando non se ne impossessa il nodo che vuole trasmettere 107 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ dei dati, ponendo in questo modo gli altri in attesa. Con questo arbitraggio si evitano le collisioni. U URL Uniform Resource Locator; Identificatore Uniforme di risorse, metodo standard per comunicare con un server in rete e passargli indirizzi per raggiungere una pagina Web o dei comandi FTP. W WEB Da World Wide Web (grande ragnatela mondiale); Rete di programmi di computer collegati tra loro e situati in luoghi diversi. WORKSTATION Stazione di lavoro. Calcolatore potente usato generalmente in ambiente distribuito o per calcoli scientifici. WORLD WIDE WEB Rete mondiale; sistema di strutturazione dell’informazione e delle risorse in modalità ipertestuale con visualizzazione di immagini, filmati, suoni. Si basa sul modello client-server. WWW Acronimo di World Wide Web. WIS Sistema Informativo basato sul Web. 108 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ X XML eXtensible Markup Language; linguaggio simbolico estensibile, norma per creazione e progettazione di documenti HTML. XSL eXstensible Style Language; linguaggio proprietario dell’XML, permette la trasformazione in formati differenti oltre l’HTML. 109 Metodi e strumenti per l’implementazione di SI basati su WEB: il caso del protocollo informatico nelle Pubbliche Amministrazioni ___________________________________________________________________________ ALLEGATI DIZIONARIO DEI DATI (DD) 110