• Non ci sono risultati.

• Codifica: viene generato il codice che implementa le funzionalità, concordate in fase di analisi e progettate in fase progettuale

• Testing: si effettuano i test per valutare l’efficacia del sistema e per assicurarsi che l’informazione fornita sia consistente a quella desiderata • Rilascio: viene rilasciata la funzionalità all’utente, coinvolgendolo nel pro-

cesso di controllo ed utilizzo della stessa per cercare di individuare eventuali bug o inconsistenze, e risolvere prima possibile.

Elemento chiave caratterizzante la metodologia ICONSULTING è la sua natura incrementale e iterativa. Questo approccio è focalizzato a consentire al cliente di raggiungere tali obiettivi, massimizzando i fattori di successo e minimizzando i tempi necessari per creare valore. I vantaggi offerti da questa metodologia sono: • Centralità delle Persone e Interazioni: focus su obiettivi d’immediata riconoscibilità attraverso un processo d’analisi condiviso con l’utente finale lasciando comunque ampio spazio in tutte le fasi del progetto ad incontri con tutti gli attori vis-a-vis coinvolti nel progetto: Le persone e le interazioni sono infatti più importanti dei processi e degli strumenti ossia le relazioni e la comunicazione tra gli attori di un progetto sono la miglior risorsa del progetto stesso

• Approccio Adattativo: metodologia che facilita la risposta al cambiamen- to. Implementazione rapida basata su un approccio iterativo di realizzazione, sviluppo incrementale e rilascio di nuove release ad intervalli frequenti • Focus sul Valore: la metodologia impone di dare priorità in ogni momento

al rilascio, relativamente alle esigenze dell’utente finale, del maggior valore possibile

3.4

Stack tecnologico

Al fine di comprendere meglio la fase di sviluppo logico che sarà vista nel prossimo capitolo, questa paragrafo fornisce una spiegazione dettagliata dello stack

tecnologico comprendente tutti gli strumenti utilizzati durante il mio periodo di tirocinio.

3.4.1

Indyco

Indyco è un tool di progettazione concettuale sviluppato internamente da iConsulting che implementa una cultura ingegneristica che è ancora piuttosto nuova per molte aziende. Indyco è uno strumento C.A.S.E (Computer-Aided Software Engineering) che dà la possibilità di automatizzare compiti prima svolti manualmente e di controllarne con più precisione lo sviluppo. Questo porta a incremento della qualità dei progetti grazie a un’interfaccia grafica efficace. Il grande vantaggio legato all’utilizzo di Indyco è la possibilià di generare in automatico un nuovo DWH o di evolvere l’attuale (come nel caso di questo progetto), seguendo le regole validate da un modello ampiamente diffuso: il Dimensional Fact Model.

Lo strumento, inoltre, comprende diverse feature di Design e Data Governance che permettono di modellare il Data Warehouse, rispettando precise regole di progettazione. L’utilizzo di questo modello offre notevoli vantaggi infatti:

• Supporta efficacemente il progetto concettuale

• Permette di raffinare le specifiche dei requisiti attraverso un dialogo "visivo" tra chi progetta il DWH e gli utenti finali

• Produce un ambiente su cui formulare le interrogazioni dell’utente • Crea una piattaforma stabile da cui partire per la progettazione logica • E’ in grado di restituire in modo automatico una documentazione a posteriori

espressiva e non ambigua.

Indyco prevede una componente Explorer e una componente Builder, che saranno brevemente illustrate di seguito:

• Indyco Explorer consente di visualizzare il modello dei dati e di navigare all’interno di esso, mettendo in evidenza i collegamenti esistenti e permet-

3.4 Stack tecnologico

tendo di chiarire il significato dei dati stessi grazie all’accesso a un glossario dei dati, che ha il compito di apportare un valore aggiunto al modello, diffondendo la conoscenza riguardo molteplici elementi caratteristici del bu- siness, anche attraverso la possibilità di ricercare direttamente un significato, evidenziando rapidamente l’informazione di interesse.

• Indyco Builder è la parte dello strumento che permette di realizzare concretamente la modellazione concettuale, descrivendo graficamente e in- tuitivamente il business, seguendo le regole imposte dal formalismo del DFM. Una delle funzionalità risultate più utili ai fini del progetto è quella che permette l’operazione di reverse engineering di un Data Warehouse già esistente, a prescindere dal fatto che esso sia enterprise o scomposto in Data Mart.

Lo strumento, inoltre, valida autonomamente gli schemi disegnati, mettendo in evidenza eventuali criticità. Il modello concettuale, derivante dal con- tributo di informazioni eterogenee, può poi essere arricchito, traducendo il contenuto degli schemi in un vero e proprio business glossary completo e facilmente comprensibile, dove l’utente può reperire le informazioni che cerca. Inoltre, il Builder dà la possibilità di monitorare alcune metriche di perfor- mance del progetto, evidenziando il suo avanzamento, la sua completezza, la sua complessità e fornendo statistiche interessanti per identificare, oltre che i punti di forza, anche alcuni punti di debolezza su cui pianificare eventuali interventi migliorativi. L’ambiente di lavoro di Indyco Builder consente di fornire una visione globale del Data Warehouse, navigabile seguendo la sua disarticolazione in Data Mart. Esplorando i singoli Data Mart, poi, la visua- lizzazione si estende ai singoli elementi caratteristici di ogni area di business: i fatti e le gerarchie conformi. I fatti sono i fenomeni di analisi descritti secondo la definizione propria del DFM, mentre le gerarchie conformi sono degli alberi di attributi, ricorrenti nella definizione degli schemi, che vengono resi conformi proprio perché costituiscono elementi fondanti del business o del singolo Data Mart. Tali gerarchie, all’interno di Indyco, possono quindi

essere create una volta sola e poi essere riutilizzate semplicemente attraverso un drag and drop. Le connessioni che sussistono tra le diverse gerarchie e i singoli fatti rappresentati sono messe bene in risalto attraverso la consulta- zione della Bus Matrix, che fornisce in output informazioni fondamentali per comprendere da quali fatti viene analizzata ogni dimensione. Altro output interessante è costituito dalla Additivity Matrix, la quale, a seguito della corretta definizione delle misure, fornisce una visione globale di come le misure vengono aggregate per ogni fatto e su ogni dimensione. Tali output concorrono, dunque, alla produzione di una documentazione di progetto che Indyco è in grado di produrre automaticamente, al fine di illustrare in maniera esaustiva la struttura e il significato dei modelli realizzati.

3.4.2

Oracle

Oracle Database è uno tra i più famosi database management system (DBMS), ed ha costituito il physical layer di questo progetto, i tool ORACLE utilizzati sono stati due e di seguito è fornita una descrizione dettagliata di entrambi.

Oracle SQL Developer

SQL Developer è il tool grafico gratuito che gestisce le basi di dati di tipo relazionale e migliora la produttività, semplificando le attività di sviluppo del database. Con SQL Developer, è possibile sfogliare oggetti di database, eseguire istruzioni SQL, modificare ed eseguire il debug di istruzioni PL/SQL, manipolare ed esportare dati e visualizzare e creare report. Un utente di Oracle ha un nome utente e una password, e possiede tabelle, viste e tutte le risorse da lui create. Ogni utente può anche avere un ruolo che consiste in una serie di privilegi (Grant), esistono anche privilegi di sistema del DB, che consentono di eseguire particolari serie di comandi e privilegi di oggetti del DB. Una pecularietà di SQL Developer sono senz’altro la generazione delle statistiche, utilizzate dall’ottimizzatore per stimare quanta memoria è necessaria per eseguire un’istruzione SQL utilizzando un particolare piano di esecuzione. Un esempio di statistiche sono il numero di

3.4 Stack tecnologico

righe delle tabelle, numero di valori distinti (NDV) nella colonna, numero di NULL nella colonna, la distribuzione dei dati o statistiche degli indici.

Oracle Data Integrator - ODI

ODI è una piattaforma di integrazione dei dati basata su un’architettura di nuova generazione che utilizza il paradigma Extract Load and Transform (EL- T)per l’estrazione, il caricamento e la conseguente trasformazione dei dati aziendali, migliorando drasticamente le prestazioni e riducendo i costi di integrazione anche in presenza di sorgenti e target eterogenei.

L’utilizzo di questo strumento è stato il core fondamentale per la fase di sviluppo logico che vedremo nel prossimo capitolo, per questo verrà fornita una panoramica generale di come questo strumento gestisce il processo di ELT. ODI è diviso in tre grandi aree:

1. Topology: per definire l’ infrastruttura IT completa del sistema informativo. Include tutto, dai server agli schemi di dati.

2. Designer: è lo strumento che permette di implementare graficamente il caricamento dati e degli oggetti che provengono dal db (Tabelle, dati viste, sinonimi etc.) attraverso l’operazione di reverse engineering. Dopo aver importato gli oggetti dal nostro database, questi prenderanno il nome di modelli. I modelli importati rappresentano la struttura contenente tutti i metadati degli oggetti come nome dei campi e il tipo di dati.

Per poter effettuare operazioni di elaborazione e trasformazione di un mo- dello (ad esempio una tabella), sarà necessario creare un’ interfaccia questa infatti permette di mappare i dati che provengono da una tabella sorgente verso una tabella target. Con le interfacce è anche possibile applicare filtri che rappresentano la clausula WHERE del linguaggio SQL, eseguire operazioni di join tra più tabelle sorgenti, effettuare controlli di chiave ma anche stabi- lire le modalità di caricamento dei dati, ad esempio se in Full Refresh o in Incremental Update.

mettono di raggruppare più interfacce e procedure che svolgono determinate attività ma anche procedure scritte in PL/SQL o altri pacchetti. Ad esempio, grazie ai pacchetti è possibile schedulare ed eseguire il flusso contenente tutte le logiche che porta alla costruzione di una fact table ogni settimana piuttosto che ogni giorno.

3. Operator: permette di avere una visione di tutti i flussi ordinati cronolo- gicamente per data, mostrando tutti quelli eseguiti, terminati in errore o ancora in esecuzione.

Documenti correlati