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