piattaforma open-source per il business intelligence · prodotti open source come pentaho data...

36
Capitolo: 1 D’Amato Angelo matricola : 0521/000698 SpagoBI Piattaforma Open-Source per il Business Intelligence

Upload: haxuyen

Post on 26-Apr-2018

228 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

1

D’Amato Angelo

matricola : 0521/000698

SpagoBI Piattaforma Open-Source per il Business Intelligence

Page 2: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

2

Sommario Introduzione ......................................................................................................................................... 3

La Business Intelligence ................................................................................................................... 3

Componenti principali ...................................................................................................................... 6

ETL ................................................................................................................................................ 7

Database analitico ........................................................................................................................ 7

Analisi OLAP ................................................................................................................................. 8

Reportistica .................................................................................................................................. 8

Cruscotti e grafici ......................................................................................................................... 9

Portali web ................................................................................................................................... 9

Caso di Studio : SpagoBI ..................................................................................................................... 10

Architettura di SpagoBI .................................................................................................................. 11

La Suite ........................................................................................................................................... 13

Esempio uso SpagoBI ......................................................................................................................... 15

Installazione ................................................................................................................................... 16

Esempio di progetto da realizzare ................................................................................................. 18

Piattaforma SpagoBI ...................................................................................................................... 19

Registrazione sorgente dati del DataMart ................................................................................. 22

ETL per il caricamento dei dati ................................................................................................... 22

Analisi OLAP ............................................................................................................................... 26

Fonti ................................................................................................................................................... 36

Page 3: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Intr

od

uzi

on

e

3

Introduzione

La Business Intelligence

Se consideriamo la quasi totalità delle aziende che fanno uso di strumenti informatici troveremo

almeno un database di supporto all'attività operativa. Più comunemente saranno presenti diversi

database dedicati a funzioni specifiche come ad esempio alla fatturazione, al processo operativo,

all'amministrazione, eccetera. Si tratta di database isolati l'uno dall'altro nel senso che lo scambio

di dati è ridotto, la ridondanza delle informazioni elevata e i dati sono spesso disallineati. Poi ci

possono essere informazioni provenienti da fonti esterne all'azienda, salvati su fogli di calcolo

(Microsoft Excel, OpenOffice Calc, ecc) o più raramente provenienti da web services (SOAP). La

struttura informatica si complica maggiormente se l'azienda è di grandi dimensioni con filiali

sparse per il mondo, ognuna delle quali con differenze organizzative. Se i database operazionali

sono adatti al loro campo specifico di utilizzo, nasce l'esigenza da parte dei manager aziendali di

avere una visione sintetica e di insieme, pur potendo arrivare ad un certo grado di dettaglio. In

pratica appaiono nuove problematiche di tipo tecnologico e nuove soluzioni legate al fatto che:

a) i dati provengono solitamente da sorgenti eterogenee come database, documenti di testo,

file XML

b) questi dati vanno estratti e rielaborati per adattarli ad uno schema comune

c) a parte l'aggiornamento del database, i dati raccolti sono acceduti in sola lettura e sono

tipicamente molto numerosi

d) i dati sono perlopiù di tipo storico, organizzati per argomento tematico

e) gli utenti finali hanno bisogno di strumenti di analisi flessibili, semplici e sintetici, che

consentano esplorazioni sui dati non completamente definite a priori

Estendere i database preesistenti è il più delle volte proibitivo per i vincoli imposti dalle case

produttrici e risulta di gran lunga più flessibile separare i database operazionali da un insieme di

strumenti software con fini puramente analitici. Queste problematiche erano piuttosto rare nei

primi elaboratori elettronici, ma con la diffusione dell'informatica nelle aziende e l'accumulo di

dati grezzi si sono dimostrate interessanti, tanto da costituire una disciplina che prende il nome di

Business Intelligence. Usando la terminologia della Business Intelligence, i punti a) e b)

vengono risolti nella fase di ETL (Extraction Transfromation Loading) che si occupa del

prelievo dei dati dalle sorgenti, la loro elaborazione e pulizia, nonché del caricamento e

aggiornamento del database analitico.

Page 4: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Intr

od

uzi

on

e

4

Il database di destinazione per la raccolta dei dati ha esigenze particolari rispetto ai comuni

database relazionali, come si può vendere nei punti c) e d). Pur potendo riadattare allo scopo un

classico RDBMS, si sono diffuse soluzioni specifiche per l'argomento che soddisfano il concetto di

DataWarehouse. Più formalmente secondo la definizione di Bill Inmon un DataWarehouse è una

collezione di dati in supporto al processo decisionale, dati che sono:

orientati al soggetto, ossia l'utente finale

nati dall'integrazione di fonti eterogenee

dipendenti dal tempo

non modificabili una volta inseriti

Particolarmente adatto alla memorizzazione è il modello multidimensionale, il quale rappresenta i

dati come punti nello spazio definito da dimensioni. Così è possibile calcolare una informazione di

sintesi come il fatturato totale (fatto) a seconda di molteplici aspetti come il periodo, l'area

geografica eccetera (dimensioni).

Fatti e dimensioni sono tra loro collegati a formare il cosiddetto cubo multidimensionale.

Page 5: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Intr

od

uzi

on

e

5

Molto particolare è la gestione del tempo nei DataWarehouse, dove per ogni record inserito sono

associate le informazioni temporali di registrazione. Dati aggiornati possono essere aggiunti alla

base dati senza modificare quelli precedenti, così da avere a disposizione durante le analisi tutte le

informazioni storiche fedeli a qualunque intervallo temporale considerato. Uno schema

multidimensionale può essere rappresentato da uno schema relazionale denormalizzato, dove i

fatti sono raccolti in una tabella relazionata con le tabelle delle dimensioni seguendo uno schema

a fiocco di neve o, più comunemente, a stella.

Ciò consente di immagazzinare cubi multidimensionali su comuni database relazionali sfruttando

la diffusione e le capacità di archiviazione che li caratterizzano. Un modello alternativo a quello

relazionale sfrutta le proprietà delle matrici sparse, più simili alla rappresentazione concettuale del

cubo e con un miglioramento delle performance, a discapito di alcune caratteristiche come la

capacità di archiviazione. Il modello multidimensionale viene impiegato nella tecnologia OLAP

(Online Analytical Processing) che consente una esplorazione dei dati seguendo le esigenze

di flessibilità e semplicità rilevate nel punto e). Se il cubo è realizzato da un modello relazionale si

parlerà più precisamente di Relational-OLAP, mentre si parla di Multidimensional-OLAP quando si

utilizza la tecnologia a matrice sparsa e Hybrid-OLAP con una combinazione delle due tecniche.

L'analisi OLAP nasce come strumento per scoprire il comportamento generale dei fatti a seconda

delle dimensioni, pur consentendo di andare nel dettaglio a isolare informazioni particolareggiate.

Completano le esigenze di analisi della Business Intelligence strumenti quali cruscotti, grafici,

report e, nei casi più avanzati, data mining.

Page 6: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Intr

od

uzi

on

e

6

Componenti principali

Quando si desidera implementare un sistema di Business Intelligence nascono principalmente tre questioni da risolvere:

Da dove raccoglierle queste informazioni

come raccoglierle e infine come analizzarle

Per rispondere alla prima domanda basta considerare qualsiasi sorgente dati presente dell'organizzazione. I database dei software gestionali, i web services su Internet come pure i log dei server sono ottimi candidati a fornire informazioni.

La parte più interessante è rispondere alla domanda su come raccoglierli, trattandosi perlopiù di dati su formati e tecnologie eterogenee come ad esempio database relazionali, file XML oppure formati testo come i log dei server.

A queste necessità provvede il processo ETL, sigla che tradotta in italiano diverrebbe estrazione, trasformazione e caricamento (Extraction, Transformation, Loading). Come illustrato nella figura seguente, si tratta di creare una procedura automatizzata che estragga i dati dalle sorgenti, esegua eventualmente delle elaborazioni intermedie come la pulizia dei dati e alla fine carichi il flusso in un nuovo database che chiameremo d'ora in poi database analitico.

Come si sarà fin qui intuito un ambiente di Business Intelligence viene implementato considerando

vari aspetti tecnici (ETL, database analitici, reportistica, analisi OLAP, eccetera). Fortunatamente il

panorama Open Source mette a disposizione componenti per realizzare sistemi di Business

Intelligence in tutte le loro parti. Sia ben chiaro che integrare da soli vari software in una soluzione

personalizzata è un compito assai arduo, per cui conviene affidarsi a una piattaforma di Business

Intelligence che già preveda gli strumenti necessari. In questa tesina ci limiteremo a fare una

panoramica generale non di certo esaustiva dei componenti Open Source disponibili.

Page 7: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Intr

od

uzi

on

e

7

ETL

La fase di ETL, ossia l'alimentazione e l'aggiornamento del database analitico, costituisce di per sé

la parte più delicata e caratteristica dell'intera disciplina. Sebbene possano essere usate procedure

scritte in qualunque linguaggio di programmazione, nella pratica ci si affida a framework specifici. I

vantaggi in termini di tempo e di robustezza dell'applicazione finale sono notevoli, per cui vale la

pena di imparare a usarli. Senza spendere capitali per soluzioni commerciali ci si può affidare a

prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open

Studio. Tutti offrono il supporto ai maggiori database relazionali e a fonti dati alternative come file

di testo o XML. La particolarità di questi strumenti è che le procedure ETL vengono realizzate in

ambienti visuali molto intuitivi. Come si vede nella seguente figura è sufficiente trascinare i

componenti disponibili nel foglio di lavoro e collegarli in senso sequenziale di esecuzione per

realizzare procedure di aggiornamento anche complesse.

Per chi si accinge a provare uno degli ambienti sopra elencati rimarrà piacevolmente sorpreso

delle prestazioni di elaborazione, che consentono di aggiornare grosse quantità di dati in pochi

minuti o addirittura secondi.

Database analitico

Il database analitico, periodicamente aggiornato nella fase di ETL, viene il più delle volte realizzato

con comuni database relazionali. Se non si hanno particolari esigenze si possono benissimo

utilizzare database come MySQL o PostgreSQL, che tra l'altro prevedono delle estensioni per

trattare i dati geografici. Se ben configurati la robustezza e le performance di questi database ben

si adattano a carichi di lavoro anche rilevanti.

Page 8: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Intr

od

uzi

on

e

8

Analisi OLAP

Quando si parla di Business Intelligence spesso si sottintende la presenza dell'analisi OLAP. Come

architettura la forma più semplice è la Relational-OLAP (ROLAP), che si basa su modelli relazionali

di tabelle e consente di utilizzare i comuni database relazionali. Una tecnologia alternativa è la

Multidimensional-OLAP (MOLAP) in cui i dati vengono rappresentati con strutture come matrici

sparse che si avvicinano di più alla rappresentazione concettuale di un cubo. Senza dilungarci

troppo, solitamente i sistemi MOLAP sono più performanti e sofisticati, ma soffrono di limitazioni

quando la quantità di dati è notevole. Da un combinazione delle due tecnologie nascono i sistemi

Hybrid-OLAP (HOLAP), poco diffusi nell'open source causa della loro complessità. Per quanto

riguarda i sistemi di interrogazione dei server OLAP molte sono le alternative proposte, come il

linguaggio MDX, XML for Analysis che di fatto si appoggia su MDX, oppure ancora JOLAP.

Fortunatamente ci si sta indirizzando verso XML for Analysis come tecnologia di riferimento, per

cui si potrebbe parlare di una specie di SQL per i server OLAP. Come applicazione software quella

più diffusa è certamente Mondrian tanto che quasi tutte le piattaforme di Business Intelligence

Open Source la implementano. Mondrian è una libreria Java che interpreta query inviate con una

specifica come l'XML for Analysis e le traduce nelle rispettive interrogazioni SQL. In questo senso

di parla di un sistema ROLAP perché le query di interrogazione vengono inviate direttamente ai

database relazionali. Mondrian non fornisce un'interfaccia visuale e solitamente questo compito lo

si affida a Jpivot, che permette l'esplorazione di cubi OLAP in pagine web . L'interfaccia di Jpivot è

più funzionale che intuitiva, comunque dopo un primo periodo di ambientamento si potrà

apprezzare la flessibilità di questo strumento. In alternativa è disponibile Free Analysis, una

soluzione completa basata su Mondrian che lo estende con ulteriori funzionalità e implementa

una propria interfaccia grafica web. Nella categoria MOLAP invece troviamo il prodotto Palo, un

vero e proprio server OLAP che fa uso principalmente di Microsoft Excel per l'esplorazione dei dati

tramite un apposito plugin. Per chi non volesse usare Microsoft Excel può fare uso di Palo Client o

Palo Web Client, due interfacce intuitive per analisi OLAP, la prima basata su Eclipse e la seconda

su web con AJAX. Oltre a supportare il server Palo questi due strumenti possono interfacciarsi ad

altri sistemi compatibili con XML for Analysis, come ad esempio Microsoft Analysis Services, SAP

BW o Mondrian.

Reportistica

Per reportistica intenderemo i documenti che vengono prodotti da interrogazioni dei database per

essere stampati o consultati su monitor, un po' come accade nelle pagine web di prima

generazione. Li distingueremo dai cruscotti perché solitamente sono molto più sintetici e

interattivi, anche se esistono report che praticamente funzionano come cruscotti. Fatta questa

premessa è piacevole riscontrare che nell'Open Source ci sono strumenti ottimi per report di ogni

complessità, competitivi anche con i software commerciali più rinomati. In particolare

JasperReports è una libreria Java molto diffusa che grazie allo strumento di design iReport

permette di creare reports in modo semplicissimo ed intuitivo .

Page 9: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Intr

od

uzi

on

e

9

I documenti possono essere esportati in vari formati come PDF, HTML, CSV, XML, Excel, RTF, TXT e

perfino compilati per proteggerne il codice. Come sorgenti dati si può utilizzare qualunque

database con supporto JDBC mentre per i calcoli più avanzati l'editor consente l'uso un linguaggio

compatibile con Java, ossia Groovy. Paragonabile come funzionalità, capacità di esportazione e

flessibilità è il progetto BIRT, lo strumento di reportistica ufficiale per l'IDE Eclipse. Come iReport

anche BIRT dispone di un comodo editor visuale per la creazione dei report, che con BIRT sembra

come creare una pagina web con tanto di fogli di stile CSS e JavaScript. Leggermente meno maturo

ma sicuramente valido e promettente è JfreeReport, ora integrato nel progetto Pentaho Reporting

per la piattaforma Pentaho.

Cruscotti e grafici

La realizzazione di cruscotti si può implementare con pagine interattive su cui si visualizzano grafici

o tabelle sintetiche. Fra le librerie grafiche più note nel mondo Java c'è JFreeChart, con cui è

possibile realizzare i grafici. Interessanti sono anche i framework basati su Adobe Flash come ad

esempio OpenLazlo, Adobe Flex o XML/SWF Charts. Per chi volesse rimanere sulla tecnologia AJAX

può prestare attenzione al giovane progetto FreeDashboards.

Portali web

Qualcuno avrà notato che quasi tutti gli strumenti finora elencati sono scritti in linguaggio Java e

sono quasi tutti eseguibili in portali web. La tecnologia web come pure Java sono gli ambienti più

gettonati nella Business Intelligence Open Source, diventando una scelta di riferimento. Il successo

è dovuto anche alla disponibilità di server web eccellenti e ampiamente diffusi come Apache

Tomcat, Jetty, JOnAs, JBoss, GlassFish, eccetera. Chi poi è interessato a un ambiente multiutente e

a portale può far uso delle apposite estensioni come JBoss Portal, Liferay, eXo Portal o, ancora,

Stringbeans. In pochi passaggi sarà così possibile realizzare un sito aziendale personalizzato per

singolo utente.

Page 10: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Cas

o d

i Stu

dio

: Sp

ago

BI

10

Caso di Studio : SpagoBI

SpagoBI è il primo Java Enterprise Wide Framework1, progettato e realizzato in Italia nel 2004. E’

una soluzione completa e open-source per lo sviluppo di progetti di Business Intelligence in un

ambiente integrato; sviluppata interamente in accordo alla filosofia FOSS (free and open source

project), ed è stato questo il motivo determinante che mi ha portato a realizzare questa relazione

proprio su questo framework, senza parlare del fatto che risulta ampliamente usata

nell’amministrazione pubblica italiana, francese e da molte aziende. E’ un prodotto realizzato da

Engineering Informatica Spa, ed è in grado di soddisfare l'intera gamma di esigenze analitiche,

dall'analisi OLAP al reporting statico, dalle tecniche di data mining, dal controllo delle performance

aziendali con cruscotti (dashboard) è in grado di monitorare gli indicatori significativi (KPI) in

tempo reale o differito all’interrogazione libera dei dati tramite uno strumento visuale (QbE).

Supporta inoltre i processi di estrazione, trasformazione e caricamento dei dati (ETL). SpagoBI

offre anche diverse soluzioni per ogni area analitica, lasciando libero l'utente finale di scegliere la

composizione della soluzione più adatta alle proprie esigenze, allo scopo di massimizzare il ritorno

degli investimenti (ROI2) e di salvaguardare il patrimonio informativo aziendale.

E’ basato su Behavioural model :

• Rappresenta le regole del comportamento dell’utente finale in relazione alle

proprie responsabilità di business

• Fornisce una unica rappresentazione di ogni concetto analitico

1 È un’infrastruttura software riutilizzabile che può essere specializzata nel produrre soluzioni applicative complete;

non rende quindi disponibili delle funzionalità applicative ma un’architettura ed un insieme di servizi le cui caratteristiche tecnologiche ne facilitano la realizzazione. 2 ROI : un acronimo che indica l’indice di redditività del capitale investito.

Page 11: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Cas

o d

i Stu

dio

: Sp

ago

BI

11

Architettura di SpagoBI

SpagoBI presenta una struttura modulare; un nuovo progetto può richiedere il coinvolgimento di

alcuni moduli soltanto, con la garanzia che eventuali estensioni saranno facilmente realizzabili

dato che la piattaforma integra i vari moduli in una visione globale. Nella successiva figura è

introdotta l'architettura di SpagoBI.

Il livello di integrazione è legato alla interazione delle applicazioni con portali generici, che

possono essere specifiche per la Business Intelligence o per l'intera azienda, e permette

dunque la navigazione e l'utilizzo dei servizi offerti.

Il livello delle applicazioni BI costituisce il nucleo analitico della piattaforma e gestisce la

navigazione, attivazione e gestione dei parametri dei vari motori BI, che producono i

documenti analitici a partire dai dati e metadati estratti dalle sorgenti. SpagoBI fornisce

supporto per le funzionalità di amministrazione dell'intera piattaforma, sia degli utenti che

degli oggetti.

SpagoBI eredita da Spago l'aderenza al pattern architetturale MVC. Ricordiamo che il pattern

Model-View-Controller (MVC), si basa sulla linea guida generale che l' applicazione debba separare

i componenti software che implementano il modello delle funzionalità di business (model), dai

componenti che implementano la logica di presentazione (view) e di controllo che utilizzano tali

funzionalità (controller). SpagoBI adatta l'architettura di Spago al contesto di interesse, definendo

tre livelli logici sui quali µe strutturata l'intera piattaforma

Il livello distribuzione, per la distribuzione dei modelli di informazione e analisi

il livello analitico, per la trasformazione dei dati grezzi in informazioni significative

il livello dati e metadati, per ricevere i dati e strutturarli per scopi analitici.

Page 12: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Cas

o d

i Stu

dio

: Sp

ago

BI

12

SpagoBI si articola nei seguenti moduli principali:

SpagoBI Server, la piattaforma che comprende tutti gli strumenti analitici, la gestione della

sicurezza e delle regole di visibilità, i tools di amministrazione

SpagoBI Studio, l'ambiente di sviluppo integrato

SpagoBI Meta, l'ambiente dei metadati

SpagoBI SDK, il layer di integrazione per usare SpagoBI da applicazioni esterne

SpagoBI Applications, che accoglie tutti i modelli analitici verticali sviluppati con SpagoBI.

Page 13: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Cas

o d

i Stu

dio

: Sp

ago

BI

13

La Suite

SpagoBI è l'unica suite interamente open source per lo sviluppo di progetti di Business Intelligence

in un ambiente integrato ed estremamente flessibile. Copre tutte le aree analitiche tipiche della

Business Intelligence, aggiungendo temi e soluzioni innovative.

Sfrutta lo stack tecnologico FOSS BI

Page 14: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Cas

o d

i Stu

dio

: Sp

ago

BI

14

SpagoBI offre la più ampia copertura analitica completamente Open Source, con la seguente

gamma di soluzioni:

Page 15: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

15

Esempio uso SpagoBI

SpagoBI è una piattaforma Open Source per la Business Intelligence italiana e completamente

LGPL, senza versioni “professional” a pagamento.

Gli sviluppatori hanno posto particolare attenzione all'aderenza agli standard e alla modularità

dell'applicazione, tanto che le funzionalità di Business Intelligence sono integrabili tramite plugin.

Chi volesse implementare nuovi strumenti analitici può creare un apposito plugin con le estensioni

volute. Le funzionalità coprono praticamente tutte le comuni esigenze come il reporting, l'analisi

OLAP e quella geografica, i cruscotti, gli alerts e anche il Data Mining. Lo sviluppo dei documenti,

come molte delle altre piattaforme di Business Intelligence qui elencate, avviene utilizzando i

rispettivi strumenti di sviluppo, per poi integrare i documenti all'interno della piattaforma. Anche

lo strumento di ETL è a libera scelta dell'utente, SpagoBI fornisce il maggior supporto all'eccellente

Talend Open Studio.

Page 16: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

16

Installazione

Requisiti per installare Spago BI

o JDK: 1.5 o versioni maggiori

o Sistema operativo: Sistemi che supportano JVM 1.5 come Windows o Linux

o DBMS per I Metadata: MySQL, Postgres, Oracle, HSQL, Ingres, MS SQL Server

o Application Server: J2EE come Tomcat, JBoss, WebSphere...

Scaricare scriptbd e binary

http://forge.ow2.org/project/showfiles.php?group_id=204

In questa relazione io ho installato :

o Demo-SpagoBI-2.3.0-apache-tomcat-6.0.18-XXXX.zip

Che comprende già le componenti:

o SpagoBI-bin-2.3.0_XXX.zip : the core web application

o SpagoBIBirtReportEngine-bin-2.3.0_XXX.zip : the BIRT Engine

o SpagoBIGeoEngine-bin-2.3.0_XXX.zip : the GEO Engine

o SpagoBIJasperReportEngine-bin-2.3.0_XXX.zip : the Jasper Report Engine

o SpagoBIJPaloEngine-bin-2.3.0_XXX.zip : the JPalo Engine

o SpagoBIJPivotEngine-bin-2.3.0_XXX.zip : the JPIvot Engine

o SpagoBIJPXMLAEngine-bin-2.3.0_XXX.zip : the XML/A Engine

o SpagoBIQbeEngine-bin-2.3.0_XXX.zip : the QBE Engine

o SpagoBITalendEngine-bin-2.3.0_XXX.zip : the Talend Engine

o SpagoBIWekaEngine-bin-2.3.0_XXX.zip : the Weka Engine The SQL script to create the DB Schema:

o mysql-dbscript-2.3.0_XXX.zip : for My SQL

o mysql-dbupgradescript-2.2.0-to-2.3.0_XXX.zip

Installare il DB dei Metadata di SpagoBI

o ho creato database spagobi

o MySQL_create.sql

o MySQL_create_fk.sql

o MySQL_create_quartz_schema.sql

Page 17: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

17

Bisogna adattare questi parametric nel file my.ini

Deploy di SpagoBI WebApplication su Tomcat

Copia tutti i war nella cartella WEBAPP di Tomcat, avvia Tomcat con start.bat. Questa operazione

estrae I file WAR e ci permette poi di editare i file di configurazione.

Run & Test

Apri la pagina : http://localhost:8080/SpagoBI

Puoi usare I seguenti utenti:

o biadmin

o bitest

o bimodel

o bidev

o biuser la password è la stessa dello username scelto.

I dettagli di configurazione sono presenti su :

https://wiki.spagobi.org/xwiki/bin/view/spagobi_server/Configure+SpagoBI

Page 18: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

18

Esempio di progetto da realizzare

Lo scopo del progetto è quello di analizzare il numero di iscritti per ogni università italiana. I dati

sono stati reperiti dal sito delle statistiche MIUR

http://statistica.miur.it/scripts/TC_UNIV_BD/vTC_UNIV1a.asp in formato excel.

Lo schema fisico del database analitico è una realizzazione di uno schema a stella.

Strumenti utilizzati :

database analitico : Mysql

strumento ELT : Talend Open Studio 4.1

motore olap : Mondrian (integrato in SpagoBI)

motore grafico olap : JPivotEngine (integrato in SpagoBI)

tool grafico per la scrittura dello schema Mondrian : Schema Workbench (Pentaho Suite)

Page 19: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

19

Piattaforma SpagoBI

A differenza di Pentaho BI dove i moduli software tendono ad essere fusi in un'unica soluzione,

Spago BI si propone come una piattaforma di integrazione. Analisi OLAP, reporting, grafici e gli altri

strumenti di Business Intelligence rimangono componenti esterni ma collegati alla piattaforma

tramite driver software. Lo sviluppatore che volesse aggiungere funzionalità di un nuovo

strumento software può creare il proprio driver che interagisca con le rispettive librerie.

Attualmente SpagoBI supporta tutte le funzionalità di Business Intelligence più rilevanti quali:

Analisi OLAP (usando Mondrian/JPivot)

Report (JasperReport e BIRT

Grafici e Cruscotti (OpenLaszlo)

GIS (CartoWeb e MapServer)

Data Mining (Weka)

ETL (viene integrato Talend Open Studio)

Completano la gamma delle funzionalità le query QbE (Query by Example), la generazione di

presentazioni Power Point e lo strumento Booklet per la condivisione e discussione di documenti

in gruppo. L'interfaccia è interamente via web, compatibile con i browser di ultima generazione.

ETL

Per la fase di ETL SpagoBI integra la soluzione Talend Open Studio, pur consentendo qualunque

altro meccanismo di ETL che di fatto è una operazione indipendente dalla piattaforma. Il software

è completamente Open Source, disponibile in binari precompilati per Windows o Linux. Al primo

avvio si nota che il programma sia basato su Eclipse, come nel caso di Kettle.

Page 20: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

20

Esempio di utilizzo di tMap.

Gerarchia esecuzione dei job

Per realizzare un progetto con Open Studio va creato un job, in cui è possibile trascinare i

componenti e darne una sequenza di esecuzione. A differenza di Kettle, dove il progetto viene

salvato in file XML e quindi eseguito da un interprete, Open Studio provvede a generare

direttamente il codice della procedura in Java o in Perl. Per eseguire il progetto si può utilizzare il

comodo strumento integrato di debugging oppure compilare l'applicativo finale. Con questa

ultima opzione verrà generata una cartella con il programma compilato che può essere mandato in

esecuzione da Windows o Unix, previa l'installazione dell'ambiente Java o, a seconda dei casi, Perl.

Molto marcato è l'approccio basato sui meta dati, ossia lo schema delle sorgenti dati in entrata e

Page 21: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

21

uscita. Anche se così facendo si vincola lo sviluppatore a definire lo schema delle base dati prima

di usare i componenti di Open Studio, la manutenibilità del progetto a seguito dei cambiamenti

viene molto agevolata perché gli schemi appartengono a una repository comune, riducendo le

possibilità di incompatibilità fra flussi sorgente e destinazione. Come ogni buon software di ETL i

componenti a disposizione sono molti. Oltre ai classici strumenti di estrazione, mappatura e

aggiornamento delle base dati sono previsti strumenti per il logging, connessione a server web o

email, loop condizionale, filtraggio e aggregazione dei record e tanti altri. Passaggi complessi

possono avvalersi del potente linguaggio di programmazione sottostante, che può essere Java o

Perl a seconda di come viene inizializzato il progetto. Se Kettle ha il vantaggio di essere più

semplice da usare nei classici casi di aggiornamento di base dati, Open Studio è uno strumento che

mostra tutta la sua flessibilità in progetti complessi, merito del linguaggio di programmazione Java

o Perl e delle scelte progettuali che agevolano l'evoluzione di grossi progetti. Più che un semplice

strumento per la creazione di applicazioni ETL Talend Open Studio ha tutte le caratteristiche di un

vero e proprio ambiente integrato. Nel pannello “Repository” in alto a sinistra infatti sono

disponibili una serie di schede per i documenti che vengono via via realizzati, suddivisi in:

Job Designs Raccoglie le procedure ETL definite dall'utente

Metadata Gestisce le connessioni alle fonti dati e i rispettivi schemi, che si tratti di RDBMS

oppure di file fisici

Business Models Come documentazione aggiuntiva l'utente può creare dei diagrammi

direttamente da Open Studio, che vengono poi raccolti in questa scheda

Contexts Le procedure di ETL possono essere personalizzate facendo uso di parametri. La

repository context prevede la definizione di questi parametri all'interno di scenari di

utilizzo, come ad esempio il debugging o l'installazione su ambienti differenti

Code L'utente può creare delle routine personalizzate, in codice Java o Perl a seconda di

come viene configurato il progetto. La repository Code raccoglie queste funzioni in librerie

che possono venire richiamate dagli strumenti di Open Studio

Documentation File esterni possono essere integrati nel progetto per documentare le

scelte adottate

Recycle bin I documenti cancellati nelle repository finiscono in un cestino, in attesa che

l'utente ne svuoti il contenuto di sua spontanea volontà

Come sorgenti dati possono essere utilizzati database relazionali oppure file in vari formati (tra cui

testo, XML, XLS, ZIP, ecc.) o anche protocolli web come POP3, FTP, HTTP e così via. I database

relazionali supportati sono praticamente tutti quelli noti, merito di componenti personalizzati oltre

ai classici componenti per connessioni JDBC e ODBC. Completano le opzioni di esecuzione le ricche

funzioni di scheduling. Verrà in tal modo generato un file batch che imposta lo scheduler UNIX

cron, di cui è disponibile anche il porting su Windows.

Page 22: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

22

Registrazione sorgente dati del DataMart

In spagoBi è necessario registrare il DataMart. Dal menù Risorse -> sorgenti dati . Appariranno la

lista di sorgenti dati disponibili cliccare sulla lente di ingrandimento per aggiungerne una nuova,

come evidenziato in figura.

Inserire i dati necessari richiesti nel form di inserimento.

ETL per il caricamento dei dati

Kettle, software realizzato dalla Pentaho stessa, è fortemente integrato nella piattaforma

PentahoBI. La controparte per SpagoBI è Talend Open Studio, le quali procedure ETL possono

venire importate ed eseguite dalla piattaforma. Direttamente da Talend Open Studio è possibile

configurare il collegamento al server dove gira SpagoBI, il tutto tramite il menu Window ->

Preferences e sulla mascherina che appare scegliendo la voce Talend -> SpagoBI Server. Questa

videata consente di definire nuovi collegamenti a SpagoBI semplicemente cliccando sul pulsante

New e compilando le informazioni come nella seguente figura:

Page 23: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

23

Una volta confermate le nuove impostazioni, cliccando con il pulsante destro del mouse

sull'elenco “Job Designs” apparirà la voce “Deploy on SpagoBI“. La mascherina nella immagine

seguente consentirà quindi di installare il Job all'interno delle piattaforma SpagoBI.

Page 24: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

24

Nel nostro caso è stata installata la procedura MiurBI. Con questi passaggi Talend Open Studio

prepara un pacchetto con la procedura ETL e lo installa nella cartella del server. Viene inoltre

copiato un file XML con le informazioni necessarie alla registrazione della procedura nella

piattaforma. Quello che rimane ora è la creazione di un nuovo documento analitico che mandi in

esecuzione i job direttamente da SpagoBI, operazione questa che viene agevolata dalla presenza di

maschere guidate direttamente tra le pagine della piattaforma. Solitamente la pubblicazione di

nuovi documenti analitici si riduce alla compilazione dei seguenti campi:

nome e descrizione del documento analitico

file template generato dallo strumento di design (ad esempio Open Studio, iReport, BIRT,

eccetera)

eventuali parametri da richiedere all'utente prima dell'esecuzione del processo

repository dei documenti analitici dove pubblicare l'applicativo

Per registrare la procedura di ETL, una volta che è stata esportata da Talend Open Studio, si deve

semplicemente accedere con i diritti di sviluppatore all'elenco dei documenti analitici di per poi

cliccare sull'icona a forma di lente di ingrandimento.

Page 25: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

25

Apparirà una mascherina da completare come nella seguente figura:

Il file Template è il file XML generato da Open Studio, che nell'installazione predefinita viene

salvato in resources\talend\RuntimeRepository\java\miur\miur

I documenti così creati rimangono nello stato development, solitamente nascosti ai comuni utenti

ma accessibili agli sviluppatori per collaudarne le funzionalità. In SpagoBI nella maschera

”Documents Configuration” di “Document and tree management“ vengono elencati tutti i

documenti analitici registrati e cliccando sull'icona a forma di lente di ingrandimento appare una

maschera simile a quella vista per la registrazione di nuovi documenti. Con questa maschera è

inoltre possibile cambiare lo stato dei documenti tra le opzioni:

Suspended

Development

Test

Released

Page 26: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Ese

mp

io u

so S

pag

oB

I

26

Analisi OLAP

Come primo passo bisogna creare lo schema mondrian, io ho utilizzato il tool schema workbench

definendo il cubo multidimensionale. Il fatto sono il numero di studenti iscritti alle università

italiane divise per tipologia (triennale,specialistica, dottorandi, post dottornadi) e le mie

dimensioni sono tipologia studenti, tempo corrispondente all’anno di riferimento e università a cui

si riferiscono i dati.

Page 27: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

27

L’output di questa fase è uno schema XML mondrian: miurmart.xml <Schema name="miurmart">

<Dimension type="StandardDimension" highCardinality="false" name="Universita">

<Hierarchy name="Uni" hasAll="true" allMemberName="Tutte universita">

<Table name="universita" alias="">

</Table>

<Level name="Statale" table="universita" column="stataleLibera"

nameColumn="stataleLibera" type="String" uniqueMembers="false" levelType="Regular"

hideMemberIf="Never">

</Level>

<Level name="Uni" table="universita" column="idUni" nameColumn="nome" type="String"

uniqueMembers="false" levelType="Regular" hideMemberIf="Never">

</Level>

</Hierarchy>

</Dimension>

<Dimension type="TimeDimension" highCardinality="false" name="Tempo">

<Hierarchy name="Anno" hasAll="true" allMemberName="Tutti Gli Anni"

primaryKey="idtempo">

<Table name="tempo">

</Table>

<Level name="Anno" table="tempo" column="idtempo" nameColumn="anno" type="Integer"

uniqueMembers="false" levelType="TimeYears" hideMemberIf="Never">

</Level>

</Hierarchy>

</Dimension>

<Dimension type="StandardDimension" highCardinality="false" name="Studente"

<Hierarchy name="studente" hasAll="true" allMemberName="Tutti gli studenti">

<Table name="studenti">

</Table>

<Level name="Tipo" table="studenti" column="idStudente" nameColumn="tipo" type="String"

uniqueMembers="false" levelType="Regular" hideMemberIf="Never">

</Level>

</Hierarchy>

</Dimension>

<Cube name="Iscrizioni" cache="true" enabled="true">

<Table name="iscrizioni">

</Table>

<DimensionUsage source="Universita" name="Universita" foreignKey="idUni"

highCardinality="false">

Page 28: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

28

</DimensionUsage>

<DimensionUsage source="Tempo" name="Tempo" foreignKey="idTempo"

highCardinality="false">

</DimensionUsage>

<DimensionUsage source="Studente" name="Studente" foreignKey="idStudente"

highCardinality="false">

</DimensionUsage>

<Measure name="iscritti" column="numeroIscritti" datatype="Numeric" aggregator="sum"

visible="true">

</Measure>

</Cube>

</Schema>

L'analisi OLAP richiede come primo passaggio la copiatura del file schema Mondrian definito

precedentemente all'interno della cartella resources\Olap.

Bisogna andare a specificare poi il percorso dello schema definito. Il file di configurazione da

modificare è webapps\SpagoBIJPivotEngine\WEB-INF\classes\engine-config.xml. Modificare

come evidenziato da figura.

Page 29: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

29

Come tutti i documenti analitici, SpagoBI fornisce una semplice interfaccia per registrare nuovi

applicativi. Nel caso di applicativi OLAP la registrazione avviene nella videata seguente:

Registrate le informazioni generali del documento analitico rimane da definire la query MDX per

l'interrogazione del cubo Iscrizioni. Con le recenti versioni di SpagoBI è a disposizione all'interno

delle stesse videate uno strumento per scegliere gli elementi da visualizzare del cubo e generare la

query MDX in automatico. Cliccando sull’elemento evidenziato nella figura sovrastante appare la

successiva schermata, in cui andare a definire lo schema mondrian di riferimento.

Noi selezioneremo MiurMart definito precedentemente nel file di configurazione engine-

config.xml. Una volta premuto sulla V a fianco definiremo in maniera grafica l’interrogazione mdx

che servirà a jpivot per la visualizzazione del cubo dimensionale.

Page 30: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

30

Rimane comunque possibile intervenire direttamente sulla query per personalizzare l'analisi in

base alle proprie esigenze. Una volta salvato il documento analitico il risultato è il seguente:

Rimane comunque possibile intervenire direttamente sulla query per personalizzare l'analisi in

base alle proprie esigenze.

Page 31: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

31

Analisi Studenti iscritti all’Università degli studi di Salerno nel 2008.

Dati riferiti agli iscritti nel 2008 rispetto alle 94 università Italiane Private/Statali.

Page 32: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

32

Page 33: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

33

Page 34: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

34

Confronto anche con grafico del totale iscritti a università privata e università statale.

Dettagli iscrizioni riferite agli iscritti nelle diverse università Statali italiane rispetto alla categoria

studente per quanto riguarda l’anno 2008.

Page 35: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Esem

pio

uso

Sp

ago

BI

35

Dettagli iscrizioni riferite agli iscritti nelle diverse università Private italiane rispetto alla

categoria studente per quanto riguarda l’anno 2008.

Page 36: Piattaforma Open-Source per il Business Intelligence · prodotti Open Source come Pentaho Data Integration, Cover ETL o l'eccellente Talend Open Studio. Tutti offrono

Cap

ito

lo:

Fon

ti

36

Fonti

Dettagli su SpagoBI

o http://spagobi.eng.it/SpagoBISiteITA/target/docs/architecture.html

o http://www.robertomarchetto.com/files/spagobi_pentaho.pdf

Dettagli sullo strumento ETL utilizzato

o http://it.talend.com/index.php

Dettagli su pentahoBI

o http://www.pentaho.com/

demo online SpagoBI

o http://spagobi.eng.it/SpagoBI