Introduzione
Con il termine Business Intelligence, si intende in senso lato tutto l’in-
sieme delle risorse aziendali (interne ed esterne), che vengono organizzate e
coordinate al fine di prendere delle decisioni migliori
1
.LaBI`einfattil’insie-
me dei processi aziendali finalizzati alla raccolta ed all’analisi di informazioni
strategiche, delle tecnologie utilizzate per realizzare questi processi e delle in-
formazioni ottenute come risultato di questi processi
2
.
Molte delle piu`grandisoftwarehousediprodottiaziendalipresentisulmer-
cato, si sono organizzate per creare un’offerta in questo settore, offrendo ad
esempio motori di database appositamente studiati, linguaggi di programma-
zione e di interrogazione ad hoc (ad esempio il linguaggio MDX), estensioni
di linguaggi esistenti (si pensi all’SQL), ambienti di sviluppo appositi ecc....
Anche la comunita`OpenSourcehaindividuatoilmondodellaBIcomepos-
sibile campo di investimenti e di sviluppo; sono infatti nate delle aziende
espressamente dedicate allo sviluppo di tool Open Source per la Business
Intelligence.
Nel presente lavoro verra`analizzatouncasoconcretoeverr`arealizzato
utilizzando due piattaforme di sviluppo per la BI, la suite Open Source Pen-
taho elasuiteproprietariadiOracle.L’obiettivofinalesar`aquellodiana-
lizzare entrambe le suite ed osservare come queste aiutano il programmatore
1
R.Kimball, M.Ross, Data Warehouse, la guida completa. Hoepli informatica, Pag.
396
2
Fonte : http://it.wikipedia.org
ix
xINTRODUZE
durante il processo di sviluppo.
La presente tesi e`ilrisultatodiuntirocinioformativoeffettuato presso
la Tema Sistemi Informatici S.R.L.,aziendafiorentinadaanniattiva
nel campo della consulenza organizzativa,dell’assistenzasistemistica,dello
sviluppo di codice custom e della realizzazione di software gestionali ERP,
CRM ecc. . . .
Durante il periodo di tirocinio sono state apprese le caratteristiche delle sui-
te sopra citate attraverso la realizzazione di un prototipo di applicazione
sviluppata in base ad esigenze emerse durante alcuni incontri svoltisi con
un’azienda toscana, l’Industria Vetraria Valdarnese S.C.A.R.L..
Al fine di analizzare le due suite sopra citate e`statoidentificatouncaso
di studio e sono stati realizzati due prototipi pressoche´identici(chepermet-
tano quindi di effettuare le stesse interrogazioni ed abbiano un’architettura
uguale).
Il lavoro e`statoorganizzatosuddividendolafasedianalisideirequisitiedi
definizione dello schema del database, dalla fase di sviluppo dell’applicazione,
in quanto la fase iniziale di analisi e`indipendentedall’implementazione,e
quindi dall’uso di tool di sviluppo. I capitoli di questo lavoro sono stati
dunque suddivisi come segue:
Capitolo 1 - Introduzione alla business intelligence: perche´nasceunpro-
getto di BI, come e`strutturato,quale`ilprocessodisviluppoequali
sono i tool che possono essere utilizzati nella fase di implementazione.
Capitolo 2 - Illustrazione del prototipo realizzato: in particolare in questo
capitolo sara`studiatoilcasodibusiness,verr`aeffettuata l’analisi dei re-
quisiti del prototipo e lo studiodeldatabaseaziendale.Verr`aproposto
poi lo schema logico del data warehouse e verra`fornitaunadescrizio-
ne di come il cubo progettato potra`essereutilizzatoperrealizzareil
prototipo finale.
INTRODUZIONE xi
Capitolo 3 - Descrizione dei componenti della suite di Oracle Business In-
telligence. La versione che e`statautilizzataperquestolavoroe`la
Oracle Business Intelligence Standard Edition One 10.1.3.2.1.
Per ogni componente verra`spiegatalastruttura,gliobiettivieverr`a
descritto come e`statoutilizzatoall’internodellosviluppodelprototipo,
mostrando anche degli screenshot.
Capitolo 4 - Descrizione dei componenti della suite di Pentaho. La versione
che e`statautilizzataperquestolavoroe`lacommunityedition,in
quanto la versione enterprise e`disponibilepersoli30giornidiprova,
estendibili previo pagamento di una quota fissa. La community edition
non ha una versione definita, in quanto e`compostadauninsieme
di singoli software. Per il presente lavoro sono stati utilizzati tutti i
programmi nella loro ultima versione stabile
3
.
Per ogni componente verra`spiegatalastruttura,gliobiettivieverr`a
descritto come e`statoutilizzatoall’internodellosviluppodelprototipo,
mostrando anche degli screenshot.
Capitolo 5 - Confronto tra le suite provate. Il confronto e`statorealiz-
zato in base a parametri quali la scalabilita`, la documentazione ed il
supporto, i tempi, i costi e le modalia`disviluppo.
Conclusioni - Conclusioni e possibili estensioni del lavoro svolto.
3
Alla data del 1 maggio 2010. Tutti i software in Release Candidate in quella data non
sono stati presi in considerazione.
xii INTRODUZIONE
Capitolo 1
La Business Intelligence
Il termine Business Intelligence (BI), in termini piu`propriamenteinfor-
matici, viene utilizzato per indicare un insieme di strumenti e metodologie
per la raccolta e l’analisi dei dati, atti apresentareidatistessiinmaniera
tale che rappresentino un’informazione utile per gestire i processi decisionali
di un’azienda o di un’organizzazione.
Mentre i sistemi gestionali si occupano principalmente di inserire ed aggior-
nare i dati, lo scopo dei sistemi di Business Intelligence e`diestrarredaquesta
“materia prima”costituita dai dati tutte le informazioni piu`omenonascoste
che questi contengono. Chiaramente le due categorie di sistemi hanno scopi
erequisitidiversi,erichiedonotecnichediprogettazionecompletamentedi-
verse.
La BI si rivolge principalmente al management (strategico, tattico, operati-
vo) o ai knowledge worker,fornendoloroglistrumentinecessariaprendere
decisioni e risolvere problemi.
1.1 Caratteristiche, obiettivi e vantaggi
Un sistema di BI deve rispondere a requisiti di funzionalita`eprogettazio-
ne che vanno ben oltre quelli propri di un normale ambiente di reportistica
1
21.LaBusineItlgc
facente parte di un’applicazione gestionale. In particolare, un sistema di BI
deve possedere le seguenti caratteristiche:
Faci l i ta`d’uso:presentareidatiinunformatochesiafaciledaleggereeda
interpretare, dove sia possibile navigare sui dati seguendo dei percorsi
di analisi e che faccia un ampio uso di grafici. I nomi dei campi devono
essere facilmente comprensibili dall’utente finale
Velocit a` :possibilit`aditrattaregrandivolumididaticontempidirispo-
sta quasi istantanei grazie all’uso di tecniche di modellazione, memo-
rizzazione e indicizzazione dei dati orientate all’analisi piuttosto che
all’aggiornamento dei dati.
Integrazione :integraretralorodatiprovenientidafontidifferenti, sia
interne che esterne all’azienda. Se i dati provenienti dai sistemi opera-
zionali non sono puliti ed affidabili, prima di essere inseriti nel databa-
se devono passare attraverso un processo di pulizia (data cleansing) e
certificazione.
Storicizzazione :mantenerelastoriadeicambiamentisubitidacertiat-
tributi selezionati, per permettere analisi storiche contestualizzate.
Simulazione scenari :incerticasi(applicazionidi budgeting, forecasting
and planning) deve essere possibile impostare degli scenari e confron-
tarli poi con i valori reali.
Indipendenza dal reparto I.T. :glistrumentidianalisiereportistica
devono dare la possibilita`agliutentifinalidicrearsidasoliireportdi
cui hanno bisogno.
Adattabilita`neltempo,intesacomelacapacit`adiresisterealleinevi-
tabili evoluzioni della realta`aziendale,deisistemioperazionaliedelle
esigenze di analisi.
1.1 Caratteristiche, obiettivi e vantaggi 3
Sicurezza :deveesereposibilecontrolareinmanieraaltempostes-
so accurata e flessibile l’accesso ai dati, che in molti casi includono
informazioni altamente riservate.
Soprattutto, nel disegnare un sistema di BI e`necessarioricordarsicheilsoft-
ware che verra` realizzato deve svolgere bene il suo compito originario, che e`
quello di supportare le decisioni.
Analizzando i requisiti di partenza e gli obiettivi di un software per la
BI, emergono dunque alcune importanti caratteristiche che lo differenziano
da software destinati al controllo operativo quali ad esempio CRM, SCM o
ERP:
• Per quel che riguarda la destinazione d’uso, un software di BI si diffe-
renzia dagli altri in quanto e`destinatoadunnumeromoltoristretto
di persone. Gli obiettivi, infatti, vengono definiti avendo ben presente
chi dovra`utilizzarlo.Laprogettazionesar`afunzionalealleesigenzedi
chi dovra`utilizzarlo,enonalprocessochedovr`aesseremodellato.
• Per quel che riguarda l’aggiornamento dei dati, la strutturazione e la
granularita`richiesta,ledifferenze non sono poche. Se per tutti i soft-
ware relativi a sistemi operazionali si ha bisogno di dati strutturati,
dettagliati, non ridondanti e soprattutto sempre aggiornati, per la BI
tali requisiti cambiano radicalmente. I dati, infatti, non hanno prete-
se di non ridondanza o di aggiornamento in tempo reale, ma vengono
denormalizzati.
Per soddisfare nel miglior modo possibile tutti i requisiti precedentemente
descritti, sorge la necessita`diorganizzareleinformazioniinunabasedati
che abbia due caratteristiche principali:
1. riorganizzare i dati sorgente secondo schemi che meglio si adattano ai
processi decisionali.
41.LaBusineItlgc
Figura 1.1: La struttura generale di un software di Business Intelligence
2. essere registrata su dei supporti fisicidiversirispettoaquelliincuisono
memorizzate le basi di dati transazionali
1
Inoltre, per un progetto di BI, oltre alle fonti di dati gestionali o comun-
que interne all’azienda, si puo`averbisognodiricorrereadellefontididati
esterne (analisi di marketing, andamenti valutari o borsistici). Questo, ad
esempio, per rispondere a possibili domande circa il posizionamento dell’a-
zienda all’interno del mercato di riferimento, per le quali i soli dati aziendali
possono non essere sufficienti.
Questo tipo di basi di dati e`chiamataDataWarehouse.
1
Acausadell’elevatolivellodicomplessit`a delle query che interrogheranno la base dati,
infatti, non e`convenientemanteneretuttiidatisullostessosupporto.Questoporterebbe
infatti a dei problemi di banda e di occupazione del processore, portando ad una evidente
aumento dei tempi di risposta.
1.2 Il data warehouse 5
1.2 Il data warehouse
Un Data Warehouse, secondo la definizione fornita da Bill Inmon, con-
siderato il padre dei data warehouser, e`“asubject-oriented,integrated,
time-variant and non-volatile collection of data in support of management’s
decision making process”
2
.Entrandoneldettaglio:
• Subject-Oriented: un data warehouse e`utilizzatoperanalizzareun
particolare argomento (subject). Ad esempio, le “vendite”puo`essere
un argomento particolare.
• Integrated: un data warehouse deve integrare i dati provenienti da mol-
teplici sorgenti. Ad esempio due sedi distaccate di una azienda possono
avere due modalita`diversedimemorizzareleinformazionirelativeal
prodotto, ma nel data warehouse ci dovra`essereunsolomodoper
identificare un prodotto.
• Time-Variant: un data warehouse deve contenere informazioni storiche.
Questa e`unaimportantedifferenza rispetto ai db transazionali, nei
quali e`spessosufficiente memorizzare solo le informazioni piu`recenti.
Ed esempio, un sistema transazionale ha necessita`dimemorizzaresolo
l’indirizzo piu`recentediuncliente,mentreundatawarehousepu`o
contenere tutti gli indirizzi associati ad un cliente nel tempo.
• Non-volatile: dal momento in cui i dati vengono inseriti nel data ware-
house, non verranno modificati. Quindi i dati storici nel data warehouse
non verranno mai alterati.
Ralph Kimball, altra voce autorevole nel mondo dei data warehouse, for-
nisce una definizione molto piu`concisa,machetuttaviarendemoltol’idea:
2
Bill Inmon, 1990. Fonte: http://www.1keydata.com/datawarehousing/data-
warehouse-definition.html
61.LaBusineItlgc
“A data warehouse is a copy of transaction data specifically structured for
query and analysis.”.
La struttura dati di un data warehouse modellera`dunquedeifenomeni
aziendali, come ad esempio le vendite, chiamati fatti.Ognifatto`ecarat-
terizzato da un insieme di misure,attributinumericicheriguardanouna
prestazione o il comportamento di un fenomeno aziendale, come ad esempio
l’importo della vendita.
Nel progettare lo schema logico dei dati, si dovra`tenereinconsiderazione
il fatto che gli utenti del data warehouse ragionano in modo multidimen-
sionale
3
,ovverosonointeressatiadanalizzarelemisuredeifattisecondo
prospettive diverse di analisi, piu`propriamentedettedimensioni,pervalu-
tare i risultati del business nel contesto aziendale al fine di trovare soluzioni
ai problemi critici o cogliere nuove opportunita`.
Nel seguito si andra`adescriverepi`udettagliatamentecosasiintendecon
iterminifatti, dimensioni, attributi, misure,cercandodievidenziarnele
caratteristiche principali.
1.2.1 Tabella di fatti
Una tabella di fatti e`latabellaprincipalediunmodellodimensionalein
cui vengono memorizzate le misure delle prestazioni numeriche dell’azienda.
Si utilizza il termine fatto per rappresentare un evento aziendale (come ad
esempio la vendita di un prodotto ad un cliente). Questo evento potrebbe
essere considerato come la piu`dettagliatainformazionechel’aziendaintende
ricavare dal data warehouse; ad ogni evento, memorizzato in una riga della
tabella dei fatti, vengono associate delle misure numeriche. Tutte le misure
devono avere la stessa grana. Non potranno essere memorizzate infatti mi-
sure con diverse granularita`, come ad esempio la registrazione di una singola
3
Antonio Albano, Basi di dati di supporto alle decisioni -Dispense
1.2 Il data warehouse 7
fattura o l’incasso totale della giornata,inquantoinfaseanalitica,poi,non
sara`possibileeffettuare delle aggregazioni che abbiano un senso.
Circa la scelta della granularita`dautilizzarenelletabelledeifatti,e`pre-
Figura 1.2: Un esempio di tabella dei fatti
feribile sviluppare modelli dimensionali che memorizzino le informazioni piu`
atomiche catturate dalla base di dati aziendale. Piu`e`dettagliataeatomica
la misura dei fatti, piu`sar`apossibileeffettuare un’analisi accurata. Per effet-
tuare delle analisi, i dati atomici sono perfetti, perche´nonsiperdenessuna
informazione. Sara`infattipossibilefiltrareidatisecondotuttiipossibili
criteri disponibili, e nessuna informazione verra`persa.
In conclusione, dunque, un data warehouse richiede quasi sempre dati espressi
alla grana piu`bassapossibilediognidimensione,nonperch´elequeryneces-
sitino di vedere le singole righe di basso livello, ma perche´devonoanalizzare
idettagliinmodopreciso.