Scenari di integrazione fra sistemi informativi nella pubblica amministrazione Enrico Lodolo [email protected] 1 Informatizzazione a isole In tutte le organizzazioni l’informatizzazione è nata e si è sviluppata in modo non organico, per stratificazioni successive La prima area ad essere informatizzata è stata di solito quella contabile In seguito si è passati alla logistica (magazzino) e alla gestione della produzione (o equivalente) Nel contempo si sono diffuse applicazioni “locali”: produttività individuale (Office), piccoli applicativi realizzati ad hoc per automatizzare singole funzioni Si parla di modello di informatizzazione ad isole E’ basato su una logica di tipo funzionale: si automatizzano le singole funzioni 2 1 Esempio: il modello a isole in un’ un’Università Università Contabilità Patrimonio Personale Ricerca Formazione 3 Ragioni del modello ad isole E’ naturale che in una fase di prima informatizzazione si proceda in questo modo: Partendo da zero è già difficile riuscire a trovare modalità efficaci per automatizzare le singole funzioni Rispetto ad una gestione manuale si hanno comunque vantaggi importanti Inoltre questo modello non presenta particolari criticità in situazioni in cui: Il sistema informativo è fruito principalmente dalle persone interne all’amministrazione Non si sente una necessità di spingere a fondo l’automazione perché l’onere della gestione manuale è suddiviso fra un numero sufficiente di persone 4 2 Spinte verso l’ l’integrazione Una volta raggiunta l’automazione delle singole funzioni si sente una naturale spinta ad andare oltre e a ragionare in termini di integrazione di processo Inoltre negli ultimi anni sono entrati in gioco due fattori dirompenti L’allargamento del sistema agli utenti finali (cittadini, studenti) portata dalla diffusione di Internet La riduzione delle risorse umane disponibili - a fronte spesso di un aumento di complessità - che ha fatto percepire la necessità di eliminare le attività svolte manualmente 5 L’impatto degli utenti finali L’erogazione di servizi al cittadino per via telematica cambia radicalmente la prospettiva del sistema Il sistema informativo visto dal punto di vista del cittadino è spesso molto diverso da quello visto dall’organizzazione interna: Si mettono in “corto circuito” funzioni che erano originariamente parte di isole diverse Si devono correlare dati provenienti da fonti diverse (e spesso non consistenti in termini di codifiche) Nasce l’esigenza di modellare in modo efficace processi interarea La costruzione di uno sportello unico è un esempio tipico di questo tipo di evoluzione 6 3 Una piccola storia dell’ dell’integrazione fra sistemi… sistemi… Livello di integrazione Orchestr. Orchestr. ESB ESB Applicazioni Stored Stored procedures procedures Dati File Filedidi scambio scambio LAN LAN unica unica Rete Nessuno 1970 RDBMS RDBMS eeallineamenti allineamenti batch batch Web Web Services Services Consolidamento Consolidamento DB DB Internet Internet Intranet Intranet Extranet Extranet Reti Retilocali locali (LAN) (LAN) aaisole isole Isole Isolenon non integrate integrate 1980 1990 2000 2010 7 Integrazione a livello di rete E’ un processo che si può considerare ormai concluso Con l’avvento di Internet si ha ormai ovunque un’unica rete (Intranet), che si estende spesso al di fuori dell’organizzazione ai partner (Extranet) o al mondo intero (Internet) La presenza della rete consente una prima forma di integrazione: Si possono scambiare dati mediante file di scambio emessi da un sistema e importati in un altro E’ un integrazione molto debole: fuori linea, con cadenza al più giornaliera, unidirezionale 8 4 Il modello a isole con integrazione di rete Contabilità Patrimonio File Filedidiscambio scambio Personale Ricerca Formazione 9 Integrazione fra sistemi… sistemi… Livello di integrazione Orchestr. Orchestr. ESB ESB Applicazioni Stored Stored procedures procedures Dati File Filedidi scambio scambio LAN LAN unica unica Rete Nessuno 1970 RDBMS RDBMS eeallineamenti allineamenti batch batch Web Web Services Services Consolidamento Consolidamento DB DB Internet Internet Intranet Intranet Extranet Extranet Reti Retilocali locali (LAN) (LAN) aaisole isole Isole Isolenon non integrate integrate 1980 1990 2000 2010 10 5 Integrazione a livello di database Con la diffusione dei database relazionali è iniziato negli anni ’80 un processo di integrazione a livello di dati Gli RDBMS consentono modalità di scambio dati più strette dei file di scambio: Repliche asincrone e sincrone DBLink … Negli anni ’90 si è passati ad un consolidamento dei database Non più tanti database separati fisicamente ma un solo DB con divisioni di tipo logico (schema) Si ha una effettiva condivisione dei dati E’ un processo tuttora in corso 11 Il modello a isole con DB consolidati Contabilità Patrimonio Personale Ricerca Formazione 12 6 Limiti dell’ dell’integrazione a livello di DB L’integrazione a livello di DB, pur rappresentando un notevole passo avanti, non risolve tutti i problemi Rimangono aperte diverse questioni: Duplicazione della logica applicativa: le diverse applicazioni che accedono alla stessa base di dati sono costrette a replicare una parte consistente di codice (business logic) Accoppiamento troppo stretto: se la base dati di un’applicazione cambia tutte le altre applicazioni che vi accedono risentono dei cambiamenti Difficoltà di distribuzione su scala geografica. Se i sistemi non sono collocati nello stesso luogo e se non si ha a disposizione una banda molto ampia ci sono grossi problemi di prestazioni e sicurezza. 13 Integrazione fra sistemi… sistemi… Livello di integrazione Orchestr. Orchestr. ESB ESB Applicazioni Stored Stored procedures procedures Dati File Filedidi scambio scambio LAN LAN unica unica Rete Nessuno 1970 RDBMS RDBMS eeallineamenti allineamenti batch batch Web Web Services Services Consolidamento Consolidamento DB DB Internet Internet Intranet Intranet Extranet Extranet Reti Retilocali locali (LAN) (LAN) aaisole isole Isole Isolenon non integrate integrate 1980 1990 2000 2010 14 7 Web Services e SOA Gli strumenti di integrazione a livello applicativo si pongono come obiettivo il superamento dei limiti dell’integrazione a livello di DB Lo strumento principale per l’integrazione a livello applicativo è costituito dai Web Services I WS consentono ad un’applicazione di accedere direttamente a “servizi” resi disponibili da un’altra applicazione Consentono di avere un livello di astrazione molto maggiore Consentono di integrare anche sistemi distribuiti su scala geografica non necessariamente integrati a livello di DB Sono le fondamenta di quelle che vengono comunemente chiamate SOA (Service Oriented Architectures). 15 Il modello a isole con frontiere applicative Contabilità Patrimonio Le Leapplicazioni applicazioni espongono espongonodei dei “connettori” “connettori”sotto sotto forma di Web Services forma di Web Services Ricerca Personale Formazione SiSiriducono riduconodidi parecchio parecchiogli gliaccessi accessi diretti direttiaiaidati datididialtre altre applicazioni applicazioni 16 8 Vantaggi e limiti del modello a frontiere applicative Può essere applicato con uno sforzo ragionevole anche con applicazioni non predisposte (legacy) Però: Se non si fa attenzione si crea un reticolo di connessioni che tende a diventare molto complesso Si tende a ragionare ancora su un’organizzazione di tipo funzionale con applicazioni monolitiche (silos) Non sempre si riescono a modellare bene i processi che attraversano le varie aree Comunque è un primo passo importante e già arrivare a questo livello dà molti vantaggi 17 SOA: uno scenario ideale Database consolidati e integrati Centralizzazione della logica applicativa con Web Services Organizzazione per processi con workflow Gestione dei processi interarea Richiede software progettato in logica SOA SOA Front-end Front-end applicativo applicativo Processi Processi (anche (ancheinterarea) interarea) Logica Logica applicativa applicativa comune comune ESB, ESB, Workflow, Workflow, Orchestrazione Orchestrazione Ricerca Contabilità Personale Formazione Web Web services services DB DBConsolidati Consolidati 18 9 La situazione reale Non è pensabile sostituire interamente i sistemi esistenti con un nuovo sistema integrato o con sistemi già interamente predisposti per un’integrazione a livello applicativo. Bisogna confrontarsi con una situazione mista: Sistemi “legacy” che sarebbe troppo oneroso sostituire Nuove applicazioni scritte ad hoc Nuove applicazioni standard acquisite sul mercato 19 Una strategia mista Di conseguenza avremo una strategia di integrazione mista: Creazione di frontiere applicative per le applicazioni legacy Uso di tecnologie SOA per lo sviluppo di nuove parti del sistema Attenzione alle specifiche SOA nella scrittura dei capitolati di gara per le applicazioni acquistate 20 10 Un piano per l’ l’integrazione E’ fondamentale che ogni nuovo intervento entri a far parte di un quadro generale: un ecosistema software Per ogni intervento bisogna valutare gli aspetti di integrazione e l’impatto complessivo Ogni nuova funzionalità deve essere contestualizzata in un processo e nel modello generale 21 Modello di integrazione UNIBO Nel 2004 si è cominciato a ragionare su un modello di integrazione in grado di superare la frammentazione esistente E’ iniziato quindi un lavoro di analisi con l’obiettivo di definire un modello generale di sistema informativo integrato E’ stata inoltre realizzata una mappa dei sistemi e dei processi Questi due strumenti rappresentano il quadro di riferimento per: Inserimento di sistemi di nuova acquisizione (PAL) Rifacimento di applicativi specifici del mondo universitario (programmazione didattica) Integrazione più stretta dei sistemi esistenti con interventi mirati 22 11 Modello generale: l’ l’obiettivo Cerca Cercadi dipianificare pianificare quello quelloche cheavverrà avverrà Descrive Descrive tempestivamente tempestivamente quello quelloche chesta sta avvenendo avvenendo Registra Registraaa posteriori posteriori quello quelloche cheèè avvenuto avvenuto Sistema integrato ++progetti progetti ++strumenti strumentidi di pianificazione pianificazione eecontrollo controllo Sistema gestionale Sistema contabile ++cicli cicli gestionali gestionali 23 Modello generale: struttura a livelli Pianificazione Controllo Livello Livellodidipianificazione pianificazioneeecontrollo controllo Progetti Livello Livellodei deiprogetti progetti Cicli gestionali Livello Livellodei deicicli cicligestionali gestionali Motori personale Motori contabili Motori gestione beni Livello Livellodei deimotori motori Anagrafiche Movimentazioni Livello Livellodelle delleanagrafiche anagraficheeedelle dellemovimentazioni movimentazioni 24 12 Modello generale: quadro di insieme Pianificazione Controllo Pianificazione strategica Budget Preventivo finanziario Controllo di gestione Cash flow e liquidità Progetti Ricerca Didattica Patrimonio Ciclo attivo Ciclo passivo Interni Cicli gestionali Cicli del personale Motori personale Stipendi e compensi Motori contabili Risorse umane COFI Cicli studenti Motori gestione beni COGE COAN Anagrafiche Magazzino Inventario Patrim. Movimentazioni Struttura org. e pianta org. Persone … Scritture contabili … Eventi di carriera … 25 Mappa dei sistemi Portale Guide Web Struttura org. … Gestioni esterne Ricerca PRIN Formazione Segreterie AlmaWelcome Valutazione … Plitvice Uniwex … Personale IFN Presenze/assenze App. locali … Patrimonio Banca SAI Area contabile PAL CIA 26 13 Integrazione applicativa: una nuova mappa dei sistemi Portale Guide Web Struttura org. … Ricerca Gestioni esterne PRIN Formazione Segreterie AlmaWelcome Valutazione … Plitvice Uniwex … Personale IFN Presenze/assenze App. locali Interfacce sincrone Interfacce sincrone + + processi processi … Patrimonio Banca SAI Area contabile PAL CIA 27 Fine Grazie per l’attenzione 28 14 Linee guida per le applicazioni Per garantire una sempre maggior integrazione fra i sistemi è necessario che le nuove applicazioni seguano una serie di linee guida In questo modo possono entrare a far parte di un unico grande disegno Le linee guida prevedono (tra l’altro): Autenticazione su DSA (in modalità sicura) Dati su DB Oracle Interfaccia utente e modalità di interazione standardizzate (allineate al portale) Non replicazione delle regole e della logica applicativa (utilizzo quindi web services o, in subordine, stored procedures per accedere alla logica già esistente) 29 Esempio: offerta formativa, mappa dei processi Costituzione CdS Gestione ordinamenti Informativo Descrizione CdS Pianificazione Operativo Definizione manifesti Regolamenti Regole piani Programmaz. Didattica Descrizione AF Pubblicazione Guide Coperture Elaborazione carriera Erogazione Diploma supplement Contratti Registri Compensi Immatricolazione Piani di studio Trasferimento in ingresso Esami 30 15 Esempio: nuova applicazione predisposta per SOA Utenti Altri sistemi (Portale, Uniwex, MIUR ecc.) Interfaccia utente (JSF – ADF Faces) Web Services (AXIS) Corsi i studio E ordinamenti Attività formative (Session Beans) Presentazione Regole dei piani di studio Session Beans Logica applicativa (Business Logic) Mappatura object-relational (Toplink) Persistenza Database dell’area della formazione 31 Esempio: frontiera del sistema contabile (legacy (legacy)) Formazione (Plitvice e segreterie) Ricerca Web Services Web Services PRIN PRIN Assegni Assegnididi ricerca ricerca Borse Borse …… Coperture Coperture Rimborsi Rimborsi studenti studenti Convenzioni Convenzioni CAF CAFeeMaster Master …… Frontiera applicativa CIA … Stored Stored procedures procedures Viste Viste Personale PAL Contratti Contratti personale… personale… Costruzioni Costruzioni Acquisizioni Acquisizioni Cessioni Cessioni Manutenzioni Manutenzioni … … 32 16 Esempio misto: didattica e coperture Regolamenti Regole piani Nuova applicazione pensata per SOA Programmaz. Didattica Coperture Formazione Frontiera Frontiera applicativa applicativadidiIFM IFM Contratti Personale Frontiera Frontiera applicativa applicativadidiCIA CIA Applicazioni legacy Scadenziario passivo Compensi Ragioneria 33 Convenzioni alta formazione (CAF e Master) Immatricolazione Master/CAF (AlmaWelcome) Pagamento UNICREDIT Convenzione con azienda Impianto tasse Formazione Frontiera Frontiera applicativa applicativadidiCIA CIA Flusso FlussoBanca Banca (file (filedidiscambio!) scambio!) Contratto attivo Gestione tasse Contabilità Nota di contabile per azienda Scadenziario attivo Incasso azienda e studenti 34 17