Service e integrazione dei sistemi Enrico Lodolo enrico.lodolo lodolo@unibo unibo.it it Informatizzazione In tutte le organizzazioni l informatizzazione è nata e si è sviluppata in modo non organico, per stratificazioni successive La prima area ad essere informatizzata è stata solito quella contabile In seguito si è passati alla logistica (magazzino) e alla gestione della produzione (o equivalente) Nel contempo si sono ffuse applicazioni locali locali : produttività inviduale (Office), piccoli applicativi realizzati ad hoc per automatizzare singole funzioni Si parla modello informatizzazione ad isole E la situazione normale in tutte le organizzazioni complesse 1 2 Esempio: il modello a isole in un Universit Università Una piccola storia dell integrazione fra sistemi Livello integrazione Applicazioni Dati File File scambio scambio RDBMS RDBMS e allineamenti e allineamenti batch batch Stored Stored procedures procedures Consolidamento Consolidamento DB DB Orchestr. Orchestr. ESB ESB Rete Reti locali Reti locali (LAN) (LAN) a isole a isole LAN LAN unica unica Internet Internet Intranet Intranet Extranet Extranet Nessuno Isole non Isole non integrate integrate 3 1970 1980 1990 2000 2010 4
Integrazione a livello rete E un processo che si può considerare ormai concluso Con l avvento Internet si ha ormai ovunque un unica unica rete (Intranet), che si estende al fuori dell organizzazione ai partner (Extranet) o al mondo intero (Internet) TCP/IP ha soppiantato i versi protocolli precedenti (IPX/SPX, NETBEUI) La presenza della rete consente una prima forma integrazione: Si possono scambiare dati meante file scambio emessi da un sistema e importati in un altro E un integrazione molto debole: fuori linea, con cadenza al più giornaliera, unirezionale Il modello a isole con integrazione rete File scambio File scambio 5 6 Integrazione a livello database Con la ffusione dei database relazionali è iniziato negli anni 80 un processo integrazione a livello dati Gli RDBMS consentono modalità scambio dati più strette dei file 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 visioni tipo logico (schema) Si ha una effettiva convisione dei dati E un processo tuttora in corso Il modello a isole con DB consolidati 7 8
Limiti dell integrazione a livello DB L integrazione a livello DB, pur rappresentando un notevole passo avanti, non risolve tutti i problemi Rimangono aperte verse questioni: Duplicazione della logica : le verse applicazioni che accedono alla stessa base dati sono costrette a replicare una parte consistente coce (business logic) Accoppiamento troppo stretto: se la base dati un applicazione cambia tutte le altre applicazioni che vi accedono risentono dei cambiamenti Difficoltà stribuzione su scala geografica. Se i sistemi non sono collocati nello stesso luogo e se non si ha a sposizione una banda molto ampia ci sono grossi problemi prestazioni e sicurezza. Verso un integrazione a livello applicativo Gli strumenti integrazione a livello applicativo si pongono come obiettivo proprio il superamento questi limiti Il primo tentativo in questo senso è stato quello estendere verso l alto l integrazione a livello DB: Viste logiche e snapshot per minuire l accoppiamento Stored procedures per centralizzare la logica Sono però strumenti livello troppo basso Non forniscono un astrazione sufficiente 9 10 e SOA Al giorno d oggi lo strumento principale per l integrazione a livello applicativo è costituito dai Consentono avere un livello astrazione molto maggiore Consentono integrare anche sistemi stribuiti su scala geografica non necessariamente integrati a livello DB Sono le fondamenta quelle che vengono comunemente chiamate SOA (Service Oriented Architectures) Anche in questo ambito abbiamo versi livelli integrazione Il modello a isole con frontiere applicative Le applicazioni Le applicazioni espongono dei espongono dei connettori sotto connettori sotto forma forma Si riducono Si riducono parecchio parecchio gli gli accessi accessi retti retti ai ai dati dati altre altre applicazioni applicazioni 11 12
Vantaggi e limiti del modello a frontiere applicative Può essere applicato con uno sforzo ragionevole anche con applicazioni non presposte (legacy legacy) Però: Se non si fa attenzione si crea un reticolo connessioni che tende a ventare molto complesso Si tende a ragionare ancora su un organizzazione 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 SOA: lo scenario futuro Database consolidati e integrati Centralizzazione della logica con Organizzazione per processi con workflow Gestione dei processi interarea Richiede software progettato in logica SOA SOA Front-end Front-end applicativo applicativo Processi Processi ESB, ESB, (anche interarea) (anche interarea) Workflow, Workflow, Orchestrazione Orchestrazione Logica Logica comune services comune services DB Consolidati DB Consolidati 13 14 UNIBO: il punto partenza (mappa dei sistemi) Integrazione : una nuova mappa dei sistemi Portale Portale Guide Struttura org. Guide Struttura org. Segreterie Plitvice PRIN Valutazione Gestioni esterne PRIN Valutazione Gestioni esterne AlmaWelcome Uniwex Banca IFN Presenze/assenze App. locali Area contabile SAI PAL Segreterie Plitvice AlmaWelcome Uniwex Banca IFN Presenze/assenze App. locali Area contabile Interfacce sincrone Interfacce sincrone + + processi processi SAI PAL 15 16
Un piano per l integrazione l E fondamentale che ogni nuovo intervento entri a far parte un quadro generale: un ecosistema software Per ogni intervento bisogna valutare gli aspetti integrazione e l impatto complessivo Ogni nuova funzionalità deve essere contestualizzata in un processo e nel modello generale 17 Linee guida per le applicazioni Per garantire una sempre maggior integrazione fra i sistemi è necessario che le nuove applicazioni seguano una serie linee guida In questo modo possono entrare a far parte un unico grande segno Le linee guida prevedono (tra l altro): Autenticazione su DSA (in modalità sicura) Dati su DB Oracle Interfaccia utente e modalità interazione standarzzate (allineate al portale) Non replicazione delle regole e della logica (utilizzo quin web services o, in suborne, stored procedures per accedere alla logica già esistente) 18 Esempio: offerta formativa, mappa dei processi Esempio: nuova applicazione presposta per SOA Costituzione CdS Regolamenti Gestione ornamenti Programmaz. Didattica Regole piani Descrizione CdS Definizione manifesti Descrizione AF Informativo Pianificazione Operativo Elaborazione carriera Utenti Interfaccia utente (JSF ADF Faces) Altri sistemi (Portale, Uniwex, MIUR ecc.) (AXIS) Presentazione Pubblicazione Guide Erogazione Diploma supplement Corsi i stuo E ornamenti Attività formative (Session Beans) Regole dei piani stuo Session Beans Logica (Business Logic) Registri Compensi Immatricolazione Trasferimento in ingresso Piani stuo Esami Mappatura object-relational (Toplink) Database dell area della formazione Persistenza 19 20
Esempio: frontiera del sistema contabile (legacy ( legacy) PRIN PRIN Assegni Assegni ricerca ricerca Borse Borse personale personale Stored procedures Stored procedures Viste Viste (Plitvice e segreterie) PAL Rimborsi Rimborsi studenti studenti Convenzioni Convenzioni CAF e Master CAF e Master Costruzioni Costruzioni Acquisizioni Acquisizioni Cessioni Cessioni Manutenzioni Manutenzioni 21 del sistema contabile: le tecnologie Il produttore del sistema contabile sta realizzando queste funzionalità sotto forma stored procedures (limite imposto dalla tecnologia con cui il sistema contabile è stato realizzato) UNIBO realizzera uno strato che incapsulano queste stored procedures A seconda della tecnologia utilizzata per lo sviluppo le applicazioni potranno utilizzare sia i WS che le stored procedures 22 Esempio misto: dattica e coperture Convenzioni alta formazione (CAF e Master) Regolamenti Programmaz. Didattica Regole piani IFM IFM Nuova applicazione pensata per SOA Convenzione con azienda Immatricolazione Master/CAF (AlmaWelcome) Impianto tasse Pagamento UNICREDIT Flusso Banca Flusso Banca (file scambio!) (file scambio!) Ragioneria Compensi Scadenziario passivo Applicazioni legacy Contratto attivo Nota contabile per azienda Scadenziario attivo Gestione tasse Incasso azienda e studenti 23 24