Web Service e integrazione dei sistemi - LIA

Web Service e
integrazione dei sistemi
Enrico Lodolo
[email protected]
1
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 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’ la situazione normale in tutte le organizzazioni
complesse
2
Esempio: il modello a isole in un’Università
Contabilità
Patrimonio
Personale
Ricerca
Formazione
3
Una piccola storia dell’integrazione fra sistemi…
Livello di integrazione
Orchestr.
Orchestr.
ESB
ESB
Applicazioni
Stored
Stored
procedures
procedures
Dati
File di
File di
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 locali
Reti locali
(LAN)
(LAN)
a isole
a isole
Isole non
Isole non
integrate
integrate
1980
1990
2000
2010
4
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 al di fuori
dell’organizzazione ai partner (Extranet) o al mondo
intero (Internet)
TCP/IP ha soppiantato i diversi protocolli precedenti
(IPX/SPX, NETBEUI…)
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
5
Il modello a isole con integrazione di rete
Contabilità
Patrimonio
File di scambio
File di scambio
Personale
Ricerca
Formazione
6
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
7
Il modello a isole con DB consolidati
Contabilità
Patrimonio
Personale
Ricerca
Formazione
8
Limiti 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.
9
Verso un’integrazione a livello applicativo
Gli strumenti di integrazione a livello applicativo si
pongono come obiettivo proprio il superamento di
questi limiti
Il primo tentativo in questo senso è stato quello di
estendere verso l’alto l’integrazione a livello di DB:
Viste logiche e snapshot per diminuire
l’accoppiamento
Stored procedures per centralizzare la logica
applicativa
Sono però strumenti di livello troppo basso
Non forniscono un’astrazione sufficiente
10
Web Services e SOA
Al giorno d’oggi lo strumento principale per
l’integrazione a livello applicativo è costituito dai Web
Services
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)
Anche in questo ambito abbiamo diversi livelli di
integrazione
11
Il modello a isole con frontiere applicative
Contabilità
Patrimonio
Le
Leapplicazioni
applicazioni
espongono
espongonodei
dei
“connettori”
“connettori”sotto
sotto
forma
formadidiWeb
WebServices
Services
Ricerca
Personale
Formazione
Si riducono di
Si riducono di
parecchio
parecchiogli
gliaccessi
accessi
diretti
ai
dati
diretti ai datididialtre
altre
applicazioni
applicazioni
12
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
13
SOA: lo scenario futuro
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
14
UNIBO: il punto di partenza (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
SAI
Area contabile
Banca
PAL
CIA
15
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
Interfaccesincrone
sincrone
++
processi
processi
…
Patrimonio
Banca
SAI
Area contabile
PAL
CIA
16
Un piano per 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
17
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)
18
Esempio: offerta formativa, mappa dei processi
Costituzione
CdS
Gestione
ordinamenti
Informativo
Descrizione CdS
Pianificazione
Operativo
Definizione
manifesti
Regolamenti
Regole piani
Programmaz.
Didattica
Descrizione AF
Elaborazione
carriera
Pubblicazione
Guide
Coperture
Erogazione
Diploma
supplement
Contratti
Registri
Compensi
Immatricolazione
Piani di studio
Trasferimento
in ingresso
Esami
19
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)
Regole
dei piani di studio
Session Beans
Presentazione
Logica applicativa
(Business Logic)
Mappatura object-relational
(Toplink)
Persistenza
Database dell’area della formazione
20
Esempio: frontiera del sistema contabile (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
…
…
21
Frontiera del sistema contabile: le tecnologie
Il produttore del sistema contabile sta realizzando
queste funzionalità sotto forma di stored procedures
(limite imposto dalla tecnologia con cui il sistema
contabile è stato realizzato)
UNIBO realizzera uno strato di Web Services 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: 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 di CIA
applicativa di CIA
Scadenziario
passivo
Applicazioni
legacy
Compensi
Ragioneria
23
Convenzioni alta formazione (CAF e Master)
Immatricolazione
Master/CAF
(AlmaWelcome)
Pagamento
UNICREDIT
Convenzione
con azienda
Formazione
Impianto
tasse
Frontiera
Frontiera
applicativa di CIA
applicativa di CIA
Contratto
attivo
Contabilità
Nota di
contabile
per azienda
Flusso
FlussoBanca
Banca
(file
(filedidiscambio!)
scambio!)
Gestione
tasse
Scadenziario
attivo
Incasso azienda
e studenti
24