PRESENTAZIONE TECNOLOGIE DATA GOVERNANCEX [modalità

Transcript

PRESENTAZIONE TECNOLOGIE DATA GOVERNANCEX [modalità
1
2
3
Questa è l’idea di data governance che si intende trasmettere: un insieme organizzato di
Persone, Tecnologie, Metodologie e Processi.
4
Il CSIA non si è mai dotato prima di strumenti per la Data Governance:
Nell’aprile 2012 su incarico dell’allora direttore Fraccaro, viene predisposta dal
gruppo di lavoro appena costituito, una relazione introduttiva alla Data Governance;
Nell’ottobre 2012 si tiene un incontro di presentazione del prodotto iWay a cura di
Information Builder e di Pragma (partner commerciale di IB). Si tratta di un
middleware per ottimizzare e razionalizzare la gestione e la fruizione di servizi
applicativi;
Nel novembre 2012 il direttore CSIA organizza un incontro con le ditte Pragma e
Information Builder per la definizione di un piano di sperimentazione del prodotto
iWay;
La prima sperimentazione si conclude nel luglio 2013 e si proponeva la correzione
dei CAP relativi agli indirizzi presenti nell’anagrafica dei dipendenti dell’Ateneo
(GIADA) e la normalizzazione degli indirizzi stessi, con l’obiettivo finale di
apportare al data base le correzioni ottenute, prima della migrazione dei dati in CSA.
Il risultato di questa sperimentazione non ha però soddisfatto le aspettative;
La seconda sperimentazione riguardava un test per la bonifica e l’allineamento delle
anagrafiche presenti nei sistemi Giada, Idra, U-gov. Anche questa sperimentazione
non ha soddisfatto le aspettative perciò nella valutazione della seconda
sperimentazione il gruppo di lavoro sottolinea la necessità di capire meglio il
funzionamento degli strumenti per la Data Governance mettendo a confronto lo
strumento iWay con strumenti analoghi di tipo Open Source.
5
Questo grafico è prodotto da Gartner Inc., una società multinazionale leader in
consulenza aziendale. Il grafico presenta il confronto degli indicatori di performance tra
aziende concorrenti nello stesso settore.
Questi grafici cercano di mappare il mercato di riferimento. Sostenuti dal fatto che la
data integration è un settore importante dell'Information Technology il gruppo procede
con la fase comparativa.
6
Nel 2014 si procede al confronto di iWay con alcuni strumenti di tipo open source, coerentemente
a quanto dispone l’art. 68 del Codice dell’Amministrazione Digitale (CAD), secondo il quale le
pubbliche amministrazioni prima dell'acquisto di programmi informatici, devono procedere ad
analisi comparativa tecnica ed economica e preferire software liberi.
Gli strumenti individuati per il confronto con iWay sono Talend e Pentaho che risultano dalla
letteratura corrente diffusi e maturi e con un’ampia community di supporto.
Durante alcuni laboratori il gruppo di lavoro utilizza e confronta questi strumenti allo scopo di
comprendere le soluzioni offerte da queste tecnologie. I laboratori realizzati, a differenza di
quanto era accaduto con le sperimentazioni iWay, hanno creato aspettative positive nei confronti
di queste tecnologie.
In seguito all’esperienza positiva nel 2015 si effettuano i primi test di utilizzo di questi strumenti
realizzando:
-un job di Data Integration per la conversione in formato xml di file per il MIUR ;
-Un job di Data Integration per abilitare i tester ad Eduroam.
7
Ritornando al quadrante magico per la data integration del 2012 si nota che oltre a
Information Builder, nel quadrante dei visionari, è presente anche Talend, Pentaho non
c’è.
Nel 2014 il quadrante magico per la data integration rappresenta le due aziende in una
posizione inversa: Information Builder rimane pressoché invariata, mentre Talend si
avvicina ai leaders.
8
Generalmente suite complete di tecnologie per la Data Governance comprendono anche
l’application integration. Il quadrante magico di Gartner per questo settore riporta solo
Talend, dei predottopresi in esame, posizionato tra i visionari e nel 2014 migliora la
propria posizione.
9
10
Ecco perché abbiamo scelto Talend:
Talend permette di integrare le esperienze maturate con linguaggi, framework ed
ambienti differenti;
Talend è lo strumento più completo rispetto ad altri strumenti open source, perché
fornisce una suite completa di integrazione e data quality;
Talend è uno strumento standard perché si basa su Apache Integration Projects.
11
12
Spesso nelle organizzazioni complesse coesistono diversi sistemi gestionali e applicativi
dedicati a funzioni specifiche, in cui i database sono «isolati» l’uno dall’altro (lo scambio
di dati è ridotto e non così agevole), la ridondanza delle informazioni è elevata e i dati di
frequente disallineati.
In questi contesti vengono attuate politiche di controllo dei dati, ma di norma esse
intervengono a livello di singola unità organizzativa o di singola applicazione e non sono
quindi sempre valide per l’intera organizzazione.
Nasce quindi un esigenza: quella di avere una visione semplificata e di insieme, una vista
unificata ma soprattutto certificata dei dati, rispetto alle diverse fonti che costituiscono il
patrimonio informativo di un’azienda.
E’ in questi contesti e per soddisfare questa esigenza che nasce la Data Governance.
13
Innanzitutto si può descrivere la DG come l’insieme di metodologie e attività necessarie
per integrare sistemi eterogenei, standardizzare i dati e il loro significato rendendoli tra
loro consistenti.
Ma la DG è anche una combinazione di persone, processi, metodologie e tecnologie al
fine di realizzare un costante e corretto trattamento di tutti i dati che abbiano importanza
per una organizzazione e di garantire un elevata qualità dell’informazione.
14
La Data Governance non è una soluzione tecnologica; piuttosto è un’insieme di strategie che si
avvalgono di tecnologie per realizzare i propri obiettivi.
Gli strumenti tecnologici a supporto della DG sono numerosi; alcuni dei principali sono:
data integration
application integration
data quality
data cleansing
master data management
Il lavoro del gruppo si è focalizzato sui primi due strumenti.
----------------------------------------------------------------------Data Quality per avere dati accurati e utili allo scopo atteso.
Data Cleansing per la pulizia dei dati.
Master Data Management per gestire i dati in comune alle principali aree di una
organizzazione attraverso una vista unica.
Esistono poi strumenti per la definizione di policy, di regole per il trattamento del dato, per il
monitoraggio degli scostamenti dalle regole, ecc..
15
Possiamo descrivere la Data Integration come l’insieme delle attività e dei processi che
permettono di combinare dati provenienti da sorgenti eterogenee (database, file di testo
o XML, fogli di calcolo..) e distribuite, anche esterne, in una vista unica, al fine di
effettuare attività sui dati integrati, garantendo così la possibilità di superare i tipici
problemi di condivisione, e di rendere i dati fruibili per tutte le applicazioni e per i
processi di un’organizzazione.
16
L’Application Integration si riferisce al processo d'integrazione tra diversi tipi di sistemi
informatici attraverso l'utilizzo di metodologie, strumenti software e soluzioni
architetturali.
Si può dire quindi che l’Application Integration garantisce l'interoperabilità tra sistemi
eterogenei, che non comunicano tra di loro e per questo definiti molto spesso con il
termine di silos; contemporaneamente essa permette di modernizzare, ma anche
consolidare e riutilizzare le applicazioni esistenti e soprattutto di coordinarle tra di loro
nell’ambito dell’organizzazione.
17
18
Generalmente un progetto di Data Integration coinvolge i seguenti passaggi: l’accesso ai
dati dalle diverse fonti di interesse, la loro combinazione nei modi più opportuni e infine
la distribuzione nei contesti in cui sono necessari.
Il progetto può essere semplice, da utilizzarsi una tantum o sporadicamente in contesti
limitati, oppure anche molto complesso e riscorsivo e richiedere migliaia di job.
I diversi modi attraverso i quali i dati possono essere combinati e distribuiti, la
frequenza, ma anche la successione con cui vengono realizzate queste due fasi , danno
origine a diverse metodologie di integrazione (1).
(1)
• Data Consolidation (tramite ETL, creazione di un’unico DB finale, di solito un DWH,
ad intervalli prefissati)
• Data Propagation (tramite ETL, creazione di più Data Store, di solito dei Data Mart,
destinati ad applicazioni o contesti diversi, realizzata con una cadenza più frequente e
comunque al bisogno)
• Data Federation (tramite schema di collegamento, creazione di un Data Base
Virtuale)
19
Uno dei più comuni processi di integrazione è il cosiddetto processo di ETL (Extract,
Transform and Load).
A partire da una sorgente di dati, che può essere costituita da fonti diverse (DB, file di
diverso formato, WS), viene inizialmente effettuata un’operazione di estrazione, una
successiva trasformazione (*) e infine il caricamento in un sistema di sintesi (DB, file,
Web Service ma anche un DWH, uno o più Data Mart, o anche un DB virtuale).
(*) filtraggio dei dati di interesse, eliminazione dei duplicati, traduzione dei dati
codificati (arricchimento), derivazione di nuovi dati calcolati, join di dati da differenti
tabelle oppure raggruppamento
20
Le principali caratteristiche dei moderni tool di Data Integration sono:
ambiente di sviluppo user-friendly, attraverso tool grafici di facile utilizzo,
che utilizzano componenti e collegamenti tra di essi per disegnare un
processo di integrazione dei dati
supporto ai maggiori DB relazionali e a fonti di dati alternative
servizi di trasformazione dei dati (1)
supporto alle diverse metodologie di integrazione (2)
(1) vedi slide precedente
(2) vedi nota (1) slide 19
21
Alcune caratteristiche di Talend:
interfaccia grafica basata su Eclipse (1)
oltre 800 componenti preconfigurati che supportano tutti le sorgenti di data
in entrata e in uscita (2) e ne consentono l’integrazione e la trasformazione
deposito comune dei metadati, che permette di memorizzare le connessioni
alle fonti dati, sia che si tratti di DBMS relazionali che di file fisici, e di
riutilzzarle all’interno di un progetto
generazione di codice Java, che permette anche di sviluppare parti
complesse e personalizzate
(1) noto e diffuso ambiente integrato di sviluppo
(2) supporto a tutti DBMS più conosciuti, supporto per LDAP e ai protocolli come POP3,
FTP, HTTP
22
23
File xml con dati docente relativo a insegnamenti
24
File csv con la decodifica del campo pds
25
I due file visti in precedenza sono in input. Talend, grazie ai suoi componenti, provvederà
ad estrarre i dati dall’xml ed a leggere i dati dal file csv (tabella di look-up) per
convertire il codice. Per realizzare ciò i due file di input verrano definiti come
componenti nel repository di Talend.
I dati trasformati verranno archiviati in una tabella MySQL, per fare questo è necessario
creare un componente (adapter) nel repository di Talend per creare la connessione al
database.
26
27
28
29
30
Con l’Enterprise Service Bus affrontiamo l’integrazione tra applicazioni. ESB è un
middleware moderno
(dalle definizioni nei primi anni 2000 si passa alla diffusione a partire dal 2010 circa)
L’integrazione tra applicazioni è un concetto precedente a ESB (il riferimento è ad
Enterprise Integration o, che è lo stesso, Enterprise Application Integration)
31
Prima di abbozzare una definizione prendiamo in considerazione dei modelli di
integrazione/interazione
I quadratini A, B, C … H rappresentano applicazioni
Modello di integrazione punto a punto implica accordi bilaterali, quindi utilizzo di
tecnologie e processi dettati dalla contingenza con difficoltà a ricercare strumenti
comuni.
Modello a Bus e accordi multilaterali su metodi e tecnologie per stabilire almeno un
software comune a livello aziendale e poter sfruttare le funzionalità messe a disposizione
da ESB
32
Ci sono molte definizioni. Prendiamo la prima parte di una definizione dal libro di
Nicolai M. Josuttis, SOA in Practice, 2007
La definizione continua con riferimento al fatto che un’ESB può fornire altre
funzionalità che hanno a che fare con la sicurezza, l’affidabilità, la gestione dei
servizi, e perfino le elaborazioni
33
Nella figura sono rappresentate varie applicazioni aziendali che interagiscono via ESB.
ESB è un sistema complesso.
Dettaglio dell’ESB: un middleware con funzioni specifiche di mediazione che girano su
runtime o veri e propri application server .
Un’ESB introduce degli standard in una organizzazione aziendale.
34
Non si affronta la SOA. L’introduzione dell’ESB permette, come abbiamo in parte visto,
dei grossi vantaggi.
Articolo: Two patterns for distributed systems: Enterprise Service Bus (ESB) and
Distributed Publish/Subscribe: “The ESB has a value beyond SOA and can be used for all
types of distributed systems”
… ma nello stesso tempo l’ESB può essere una implementazione dell’integration layer in
ambito SOA
35
SOA Reference Architecture Technical Standard : Integration Layer
https://www.opengroup.org/soa/source-book/soa_refarch/integration.htm
L’integration Layer permette il disaccoppiamento tra un provider di servizi e un
consumer; ancora una volta si evidenzia il vantaggio di avere un “soggetto” mediatore
e non una connessione diretta punto a punto
36
Prendiamo ad esempio la classica erogazione di servizi in ambito universitario a partire
da applicazioni web based (silos)
Fra gli ultimi anni ‘90 ed i primi anni 2000 è nata l’esigenza di integrare dati e
applicazioni (mainframe, Oracle, posta, ecc.).
L’integrazione era, a grandi linee, realizzata attraverso accordi bilaterali per stabilire
quali dati scrivere/leggere su file system, con che formato, a quale ora, ecc. I file
venivano spostati da un sistema all’altro via FTP e da procedure batch.
Questi sistemi rivisti e corretti funzionano ancora, ma per il futuro ha più senso usare le
suite di integration.
37
I Web Services sono un passo in avanti eccellente ma:
- non tutto può essere ridotto a servizio (necessità di accedere a file, tabelle, ecc.)
- spesso nascono da accordi bilaterali
- a volte una componente di mediazione offre delle funzionalità aggiuntive
In questo caso vediamo la parte di front-end di un ESB sotto forma di servizi ESB
Anche in questo caso ESB non va a sostituire i WS esistenti.
In molti casi, la piattaforma ESB sarà il luogo ideale per esporre WS potendo
sfruttare componenti dell’ESB stesso.
38
Si fa l’ipotesi di un dominio dedicato per l’accesso ai servizi, con indicazione del
dipartimento del dominio applicativo e del servizio.
Questa modalità di comporre il nome del servizio in un ESB deriva da un progetto UCLA
iniziato circa 3 anni fa.
I servizi relativi alle dimostrazioni che seguiranno sono locali (sono nel PC) e l’indirizzo
farà riferimento a “localhost”.
Per brevità non vengono date spiegazioni sul prodotto Talend, su WS, su WSDL, su
SOAP, ecc.;
l’obiettivo è dimostrare con esempi la semplicità nella creazione di un servizio.
39
40
41
42
43
44
Riprendiamo con uno schema dell’ESB di Talend (contiene la parte di Data Integration)
Concentriamoci sulle possibilità di interazione verso l’esterno; ad esempio
- Web Service
- Data sources
- File
- Protocolli
- ecc.
Non solo servizi, ma anche adapters per connessione a sistemi legacy (quindi middleware
molto utile nella pratica)
45
Componenti di talend ESB: innanzitutto di strumenti di Operation and Management
Le varie componenti possono essere raggruppate per tipologia:
- Messaging (viene introdotta la notazione di un messaggio)
- Routing (e relativa notazione di un message router)
- Transformation (ad es. arricchimento o impoverimento di un messaggio, notazione
arricchimento)
- Processing (vere e proprie elaborazioni)
-Ecc.
Le notazioni sono ben descritte nel libro Enterprise Integration Patterns di Gregor
Hohpe
- esiste un sito dedicato www.enterpriseintegrationpatterns.com
- le notazioni possano essere utilizzate in microsoft visio e openoffice/libreoffice per
descrizione di flussi ad alto livello e successiva implementazione in talend o ESB
analogo
- queste notazioni sono di fatto uno standard e sono precedenti alle implementazioni
ESB
46
Come altri sistemi (FUSE di Red Hat) Talend è basato su progetti apache: vediamo solo
CXF e Camel
CXF permette a Talend di sviluppare web service in modo semplificato
Secondo la notazione EIP (Enterprise Integration Patterns) un CXF exndpoint evidenzia
il flusso in entrata a seguito della chiamata di un servizio web
47
Apache Camel ha un’importanza fondamentale poiché implementa una parte degli EIP.
Nella figura oltre alle notazioni già viste ci sono delle code e dei quadrati non meglio
specificati (sulla destra)
Il messaggio viene instradato sulla base di una condizione impostata nel message
router.
Nella dimostrazione che segue verranno riproposti questi componenti.
48
49
50
51
Dal nostro database oracle 10gR2 non si riesce a interagire direttamente con i web
service via PLSQL, quindi, viene usato una sorta di bypass sviluppato con Ruby on Rails
che converte in chiamata ai ws di UGov i parametri presenti nella chiamata http fatta
dalla procedura del db Giada.
52
53
54
55
I due componenti principali del job sono tOracleSP per la connessione alla procedura
PLSQL del db Oracle e tSOAP per richiamare il ws di UGov.
56
La connessione al db è già stata memorizzata nel repository di Talend per essere
condivisa dai job/servizi che ne necessitano; in questo caso viene infatti riutilizzata.
57
Esempio di chiamata SOAP al metodo modificaPersona del web service PersonaFisica di
UGov; il testo della richiesta SOAP è stato generato con SOAP UI poi nel testo sono stati
sostituiti i richiami ai parametri del flussoTalend.
58
59
60
61
Spazio Domande
62