Analisi comparativa delle piattaforme Open Source per la Business Intelligence

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Analisi comparativa delle piattaforme Open Source per la Business Intelligence"

Transcript

1 ALMA MATER STUDIORUM - UNIVERSITA DI BOLOGNA SEDE DI CESENA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN SCIENZE DELL INFORMAZIONE Analisi comparativa delle piattaforme Open Source per la Business Intelligence Relazione finale in: Laboratorio di Basi di Dati Relatore Presentata da Chiar.mo Prof. Matteo Golfarelli Mattia Camporesi Sessione III Anno Accademico 2007/2008

2

3 Indice Indice INTRODUZIONE BUSINESS INTELLIGENCE E SISTEMI OPEN SOURCE COS'È UN DATA WAREHOUSE ARCHITETTURA E MODULI PRINCIPALI DI UN DATA WAREHOUSE Reportistica Analisi OLAP Dashboard PRINCIPALI PIATTAFORME COMMERCIALI DI BUSINESS INTELLIGENCE Microstrategy Il resto del mercato SISTEMI OPEN SOURCE Verso un mondo Open Source Un nuovo modello di business Definizione formale di Open Source Le Licenze LE PIATTAFORME OPEN SOURCE PER LA BUSINESS INTELLIGENCE SPAGOBI Architettura Il modello dei Metadati Reportistica Analisi OLAP Dashboards ETL Funzionalità e informazioni aggiuntive PENTAHO Architettura Il dominio dei Metadati Reportistica Analisi OLAP Dashboards ETL Funzionalità e informazioni aggiuntive JASPERSOFT Architettura Reportistica Analisi OLAP ETL Funzionalità ed informazioni aggiuntive LE PIATTAFORME A CONFRONTO ARCHITETTURA FUNZIONALITÀ ANALISI COMPARATIVA DEI REQUISITI IL VALORE AGGIUNTO PRINCIPALI LACUNE DA COLMARE...80 CONCLUSIONI... 83

4 BIBLIOGRAFIA RINGRAZIAMENTI... 87

5 Introduzione Introduzione Negli ultimi dieci anni si sono diffuse tecnologie di analisi e raccolta dati che costituiscono nel loro insieme il concetto, molto più ampio, di Business Intelligence. Se prima la disciplina trovava interesse tipicamente negli studi teorici o in organizzazioni di grandi dimensioni o con esigenze del tutto particolari, recentemente la diffusione dei data warehouse e la crescente disponibilità di una sempre più grande mole di dati ha ampliato il numero di organizzazioni interessate all'introduzione di una piattaforma di Business Intelligence. L'allargamento di questa richiesta si scontra però con la realtà di un mercato dove i prodotti di questo tipo sono prevalentemente proprietari e dai costi decisamente elevati e non sempre idonei per una azienda di medio o piccole dimensioni. Tuttavia a fronte di questa domanda crescente, sono nati una serie di strumenti Open Source specializzati nella creazione di pressochè tutte le tipolgie di documenti analitici, quali ad esempio Report, Analisi OLAP, Dashboard e procedure ETL. Questi però sono moduli a sé stanti, indipendenti gli uni dagli altri e che quindi non permettono all'utente di avere quella visione globale e quella consistenza informativa che solo una piattaforma di Business Intelligence può offrire. Fortunatamente, sono di recentissima creazione una serie di piattaforme Open Source, che di fatto hanno aperto le porte della Business Intelligence anche alle piccole imprese caratterizzate da esigenze e capitali limitati. Queste prodotti stanno diventando una realtà sempre più importante per il mercato, anche se ancora non c'è molta chiarezza per quel che riguarda la gamma di funzionalità offerte e l effettiva affidabilità degli strumenti. Scopo di questa tesi è appunto quello di valutare tre prodotti Open Source per la Business Intelligence, quali SpagoBI (prodotto da Engineering Ingegneria Informatica), PentahoBI (prodotto dalla software house Pentaho) e JasperSoft (prodotto dall'omonima software house), con l'obiettivo di compiere una ricognizione degli

6 Mattia Camporesi aspetti architetturali e funzionali, in modo da poter delineare nello specifico le varie ed effettive caratteristiche delle tre piattaforme prese in esame. La tesi include anche un'analisi comparativa, che verrà effettuata sulla base di una griglia di requisiti che noi crediamo un buon prodotto di Business Intelligence debba soddisfare ed utilizzando un caso di studio che permetta di sottoporre i sistemi ad un opportuno carico di lavoro, valutandone la reale usabilità. La tesi è organizzata in tre capitoli: Nel primo capitolo verrà approfondito il concetto di Business Intelligence ed in particolare quello di data warehouse. Verranno a tal proposito esaminate l'architettura tipica \e quelli che possono essere considerati i moduli principali che caratterizzano un sistema di data warehousing. Nella seconda parte del capitolo troviamo invece una panoramica sui prodotti di Business Intelligence proprietari, ponendo maggiore attenzione su Microstrategy, una delle soluzioni tecnologicamente più avanzate ed integrate del settore. Nel secondo capitolo verranno prese in esame singolarmente le tre piattaforme Open Source oggetto di questo lavoro di tesi, ossia SpagoBI, PenathoBI e JasperSoft, cercando di approfondire maggiormente gli aspetti architetturali e funzionali e compiendo un'analisi, soprattutto in termini di utilizzabilità, dei vari moduli (ossia gli strumenti che mettono a disposizione per creare le varie tipologie di analisi) che le caratterizzano. Nel terzo ed ultimo capitolo troviamo invece un'analisi comparativa, dove le piattaforme verranno messe a confronto, dapprima dal punto di vista architetturale e funzionale, ed in seguito in risposta ad una griglia di requisiti che noi crediamo una buona piattaforma di Business Intelligence debba soddisfare. Chiude il capitolo una dissertazione su quelle che, secondo noi, sono le principali lacune da colmare nei prodotti esaminati.

7 Introduzione

8 Mattia Camporesi

9 Business Intelligence e Sistemi Open Source 1 Business Intelligence e Sistemi Open Source 1.1 Cos'è un Data Warehouse Con la Business Intelligence nasce l'esigenza da parte dei vertici aziendali di avere una visione sintetica e di insieme di quelle che sono le problematiche dell'impresa, senza però rinunciare ad arrivare ad un elevato livello di dettaglio. Per tale scopo non posso essere utilizzati i comuni database operazionali, in quanto estendere queste basi di dati pre-esistenti sarebbe proibitivo sia in termini di costo che di complessità dell'operazione. Risulta invece molto piu semplice e flessibile separare i database operazionali da un insieme di strumenti software con fini puramente analitici. Il database di destinazione per la raccolta di questi dati prende il nome di Data Warehouse. Un Data Warehouse è una collezione di dati, finalizzata a fornire un supporto al processo decisionale aziendale, che va ad affiancare i consueti database operazionali. Scopo di un Data Warehouse è quello di permettere alle aziende di effettuare analisi di tipo analitico sulle informazioni delle comuni basi di dati transazionali, trasformando i dati operazionali in conoscienza a supporto delle decisioni. Pertanto la costruzione di un sistema di data warehousing non comporta l'inserimento di nuove informazioni, ma la riorganizzazione di quelle esistenti [GOL05]. Più precisamente il Data Warehouse si alimenta e appoggia a più sorgenti dati, anche di natura diversa tra loro, fornendone una visione totalmente integrata, consistente e storicizzata. Infatti, in linea di principio, i Data Warehouse vengono aggiornati ad intervalli regolari con opportune procedure di alimentazione a partire 5

10 Mattia Camporesi dalle fonti dati operazionali e non subiscono mai operazioni di cancellazione, in questo modo sarà possibile effettuare analisi di tipo analitico e statistico con prospettive di alcuni anni. Da questo deriva la considerazione che i Data Warehouse si possono considerare delle basi di dati di sola lettura. Ciò comporterà una filosofia di progettazione completamente diversa da quella utilizzata nei database operazionali, infatti se nei sistemi transazionali l'accento è posto sulla minimizzazione della quantità di informazioni da memorizzare, nei Data Warehouse lo scopo principale è la massimizzazione della velocità di reperimento delle informazioni, ed è proprio in nome di questo miglioramento delle prestazioni che nei progetti di data warehousing troveremo una parziale denormalizzazione. Il motivo per cui si avverte una cosi forte necessità di impennata delle prestazioni è molto semplice: le interrogazioni che normalmente vengono lanciate su un Data Warehouse non vanno ad eseguire transazioni che interessano un ridotto numero di record, ma bensì richiedono la scansione di un'immensa quantità di tuple con lo scopo di estrapolarne dati quantitativi di sintesi. Questo genere di interrogazioni, che stanno alla base di un'analisi analitica e dinamica, vengono chiamate OLAP (On line Analytical Processing). Il modello di memorizzazione dei dati che viene utilizzato è quello multidimensionale, in quanto è quello che meglio si adatta alle problematiche e alle esigenze che caratterizzano un Data Warehouse, dove i dati vengono rappresentati come punti di uno spazio definito da un insieme di dimensioni. Gli oggetti che influenzano il processo decisionale vengono definiti fatti di interesse, quali ad esempio le vendite o le spedizioni, e ciascuna occorrenza di questi fatti determina un evento. Ad ogni fatto corrisponderanno poi un'insieme di misure che ne descriveranno, sotto l'aspetto quantitativo, i vari eventi. Per riuscire a non perdere l'orientamento nell'inevitabile moltitudine di eventi che caratterizzano il mondo aziendale, il modello multidimensionale pone tutte queste occorrenze in uno spazio n-dimensionale, caratterizzato da un certo numero di assi, chiamati appunto dimensioni, che forniscono al manager diverse prospettive di analisi. Eventi, misure e dimensioni sono tra loro collegati a formare il cosidetto cubo multidimensionale, dove ogni evento è identificato da un valore per ogni dimensione ed è caratterizzato da un valore per ogni misura. 6

11 Business Intelligence e Sistemi Open Source Illustrazione 1.1: Esempio di cubo multidimensionale che modella la vendite del prodotto 'Off Active' 1.2 Architettura e moduli principali di un Data Warehouse Vediamo adesso qual'è la soluzione architetturale sono più adatta per ospitare un sistema di data warehousing. Prima però di analizzarla nello specifico, è bene soffermarsi su quelle che sono le caratteristiche irrinunciabili che un'architettura che ospita un Data Warehouse deve avere, a prescindere dalla tipologia: Separazione: l'elaborazione transazionale e quella analitica devono essere mantenute il più possibile separate; Scalabilità: l architettura hardware e software deve poter essere facilmente ridimensionata a fronte della crescita nel tempo dei volumi di dati da gestire ed elaborare e del numero di utenti da soddisfare; Estendibilità: deve essere possibile accogliere nuove applicazioni e tecnologie senza riprogettare integralmente il sistema; Sicurezza: il controllo sugli accessi è essenziale a causa della natura strategica dei dati memorizzati; Ammissibilità: la complessità dell attività di amministrazione non deve risultare eccessiva[kel97]. 7

12 Mattia Camporesi Generalmente un'architettura per il data warehousing è caratterizzata dalla presenza di quattro livelli fondamentali, che descrivono il percorso del flusso di dati. Al livello più basso abbiamo il livello delle sorgenti, ovvero dove risiedono tutte le fonti dati, generalmente di tipo operazionale ed eterogenee tra loro, che vanno ad alimentare il Data Warehouse. Subito sopra troviamo il livello dell'alimentazione, dove, utilizzando gli strumenti ETL, i dati memorizzati nelle sorgenti vengono estratti, ripuliti da inevitabili incosistenze ed imprecisioni, integrati in un unico schema comune ed infine caricati nel databse analitico. A questo punto troviamo il livello del warehouse vero e proprio, ovvero dove risiede il contenitore dei dati ripuliti, consistenti ed integrati. Esso può essere direttamente consultato, oppure anche utilizzato come sorgente per la creazione di svariati data mart, che ne costituiscono una parziale replica, orientati verso specifiche aree aziendali [GOL05]. Accanto al Data Warehouse si trova il contenitore dei metadati, dove vengono mantenute informazioni sulle sorgenti e sulla corrsipondenza tra dati del database analitico e quelli del database operazionale. Al livello più alto troviamo il livello di analisi dove avviene la consultazione e l'elaborazione dei dati consistenti ed integrati che popolano il Data Warehouse. Questa architettura viene generalmente chiamata Architettura a due livelli, per mettere enfasi alla separazione tra livello delle sorgenti e quello del Data Warehouse. Esiste una variante, denominata Architettura a tre livelli, che prevede un quinto livello, il livello dei dati riconciliati, posto tra il livello delle sorgenti e quello dell'alimentazione, con lo scopo di materializzare i dati operazionali ottenuti a valle del processo di pulizia e integrazione. In questo modo il Data Warehouse verrà alimentato dai dati riconciliati, creando un notevole vantaggio in termini di creazione di un modello di dati consistente e comune di riferimento per l'intera azienda. Vediamo adesso di approfondire le diverse tipologie di analisi che permettono all'utente finale di accedere alle informazioni contenute all'interno di un Data Warehouse. Gli approcci principali all'interrogazione di un database analitico sono fondamentalmente tre: la reportistica, l'analisi OLAP e le dashboards. Non bisogna dimenticare che spesso le informazioni contenute all'interno di un Data Warehouse vengono utilizzate come base di partenza per altre applicazioni di Business Intelligence, decisamente più complesse, quali l'analisi What If e il Data mining, che però non verranno approfondite in questo lavoro di tesi. 8

13 Business Intelligence e Sistemi Open Source Illustrazione 1.2: Architettura a tre livelli per un sistema di data warehousing. 9

14 Mattia Camporesi Reportistica La reportistica è certamente l'approccio piu semplice per fruire delle potenzialità offerte da un sistema si data warehousing. Essa consiste nella creazione di un report, ovvero di un interrogazione e di una presentazione, che viene lanciata ad intervalli di tempo regolari o comunque predefiniti. L'utente in questo approccio è generalmente passivo, in quanto una volta creata l'interrogazione e una volta strutturata la presentazione, queste vengono congelate all'interno di un'applicazione in modo tale che il report possa essere lanciato sui dati correnti con una tempistica totalmente a discrezione dell'utente. Tutti i report generati dalla stessa matrice saranno identici tra loro per quanto riguarda la forma, ma differiranno per quanto riguarda i contenuti, in quanto ogni rapporto va a fornire una rappresentazione attuale dei dati in questione. Le presentazioni sono prettamente di carattere grafico e le piu comuni sono la forma tabellare, il diagramma e lo schema a torta Analisi OLAP L'analisi OLAP (On-Line Analytical Processing) è certamente la principale modalità per accedere ai dati di un Data Warehouse e permette all'utente di effettuare analisi complesse e interattive sulla base del modello multidimensionale. A differenza della reportistica, questo genere di analisi sono di carattere estemporaneo e dipendono fortemente dalla capacità e dal livello di esperienza dell'utente, che qui ha un ruolo decisamente attivo. All'analista è infatti richiesta una profonda conoscenza sia del dominio applicativo sia degli operatori OLAP, in modo tale che si possa effettuare un vero e proprio percorso di navigazione interattivo all'interno della moltitudine dei dati, che si concretizza poi in una sequenza di interrogazioni per stadi successivi, dove la query OLAP precedente fa da base di partenza per quella successiva. Generalmente i risultati sono raffigurati in forma tabellare, dove una serie di intestazioni multiple vanno a raffigurare e ad esprimere la multidimensionalità. Vediamo adesso sinteticamente quali sono gli operatori OLAP principali: Roll up: questo operatore, che significa letteralmente arrotolare, va ad eliminare un livello di dettaglio da una gerarchia di una dimensione di analisi, provocando un aumento dell'aggregazione; 10

15 Business Intelligence e Sistemi Open Source Drill down: questo operatore è fondamentalmente l'inverso di quello precedente e provoca una diminuzione dell'aggregazione, andando ad introdurre un nuovo livello di dettaglio in una gerarchia; Slicing: questo operatore permette di ridurre la dimensionalità del cubo, fissando il valore di una dimensione, in modo da focalizzarsi solo sulla sezione di interesse del cubo; Pivoting: questo operatore permette di ruotare il cubo multidimensionale in modo da poter analizzare i medesimi dati sotto prospettive differenti; Drill across: questo operatore permette di effettuare un join tra due o piu cubi, in modo da stabilirne un collegamento, creandone un'intersezione; Drill-through:questo operatore consente di effettuare un passaggio dai dati aggregati multidimensionali del Data Warehouse a quelli operazionali presenti nelle sorgenti o nel livello riconciliato. Questo genere di analisi non sono particolarmente leggere e richiedono una sforzo di calcolo notevole, soprattutto nel caso in cui il database su cui vengono effettuate non sia innatamente multidimensionale (MOLAP) ma relazionale (ROLAP), ognuna delle operazioni sopra descritte provocherebbe la generazione e l'esecuzione di query SQL estremamente complesse, che richiedono molte risorse di elaborazione. Per funzionare in maniera efficiente, i motori OLAP richiedono una struttura denormalizzata, per il semplice fatto che per migliorare le prestazioni di accesso sono costretti a memorizzare chiavi ridondanti e sommarizzazioni [WIK08] Dashboard Le dashboards o cruscotti sono degli oggetti tecnologici multitematici, ovvero degli strumenti che permettono all'utente di monitorare dei particolari aspetti del dominio applicativo in modo visuale, sintetico e in real time. Una dashboard di per sé non è una soluzione finita: essa infatti va verticalizzata (può essere utilizzata a qualsiasi livello gerarchico, in qualsiasi funzione, ovviamente con livelli di dettaglio e contenuti diversi) e dal punto di vista architetturale è la punta dell iceberg, dato che serve sostanzialmente a presentare le informazioni e a consentirne l analisi. Proprietà fondamentale di questi strumenti è quella di fornire in modo semplice ed immediato un'informazione di sintesi che in realtà racchiude in sé molta conoscenza e riassume una serie di significati. Generalmente le dashboard vengono utilizzate per monitorare, con semplicità ed 11

16 Mattia Camporesi efficacia, i principali indicatori di performance aziendali (KPI) e ricevere segnalazioni di allarme qualora si presentino risultati anomali o al di fuori dell'intervallo previsto. Il cruscotto aziendale deve quindi contenere una collezione di importanti elementi visivi potenti quali istogrammi, tachimetri, mappe, trend-lines, che permettano al manager di poter costantemente monitorare, attraverso una rapida occhiata, tutti i fatti di interesse. Illustrazione 1.3: Esempio di dashboard 1.3 Principali piattaforme commerciali di Business Intelligence Dopo aver analizzato quella che è una componente fondamentale e imprescindibile di qualsiasi sistema di Business Intelligence, ovvero il sistema di data warehousing ed i suoi moduli principali, andiamo a vedere quali sono le aziende che mettono a dispozione i prodotti commerciali piu validi e conosciuti che offre il mercato Microstrategy Microstrategy [MIC08], è un'azienda americana, fondata nel 1989, leader mondiale per quanto riguarda la distribuzione di software per la Business Intelligence. Microstrategy è un caso molto particolare per quanto riguarda le aziende produttrici di software per la Business Intelligence, in quanto, contrariamente alla concorrenza, è assolutamente 12

17 Business Intelligence e Sistemi Open Source indipendente, nel senso che non è mai stata acquisita da nessun colosso dell'informatica, come invece spesso accade in questo settore. Come prova di quanto questa azienda abbia ormai radici profonde nel mercato e di quanto essa si sia espansa, basti pensare alla reazione che ebbe quando IBM annunciò l'acquisizione di Cognos e SAP quella di Business Objects: Microstrategy semplicemente presentò un nuovo ed aggressivo piano finalizzato all'acquisizione di nuovi dipendenti e clienti dalle aziende concorrenti. Microstrategy è caratterizzata da un archiettura relazionale (ROLAP), all'interno della quale si utilizza un modello multidimensionale virtuale, contraddistinto da una serie di cubi che descrivono i principali fatti di interesse e che possono facilmente essere compresi dagli utenti che possono quindi navigare senza troppi problemi all'interno della mole di dati e infomazioni. Dalla versione 7i (2003) però, Microstrategy supporta anche i sistemi puramente multidimensionali (MOLAP). Nel febbraio 2005, viene rilasciata è la versione 8, che tutt'oggi è la piu recente. MicroStrategy è impegnata a supportare i più alti standard di interoperabilità per la flessibilità dei sistemi aperti, in modo da consentire ai clienti di scegliere liberamente le piattaforme software senza costringerli a lavorare solamente con specifici software o hardware. MicroStrategy inoltre consente un facile scambio di componenti aperti come DBMS, ETL, Sistemi Operativi, Sistemi di Directory, ERP e software per il Web, per consentire ai clienti di scambiare facilmente un componente tecnologico con un altro. Mantenendo una stretta relazione con le tecnologie complementari, questo prodotto consente ai clienti di ottenere quella flessibilità necessaria per creare sistemi di Business Intelligence assicurando al contempo alte prestazioini e una gestione operativa stabile. Vediamo ora un po' più nel dettaglio quali sono le funzionalità dell'ultima release: Nuovo design dell interfaccia Web: MicroStrategy 8 introduce una nuova interfaccia utente, specificamente creata per l imprenditore e ottimizzata per elevata produttività. La nuova interfaccia utente include una nuova incredibile serie di azioni a clic singolo, incorporate attraverso l interfaccia per rendere gli utenti altamente produttivi nella visualizzazione e nell esplorazione dei dati. È progettata con un look nuovo e una visione più semplice, che espone la funzionalità agli utenti in modo graduale, secondo le loro necessità; 13

18 Mattia Camporesi Reporting completamente interattivo: MicroStrategy 8 ha esteso la capacità di report delle versioni precedenti, rendendo completamente interattivi tutti i report e le scorecard. Ora gli utenti possono riorganizzare qualunque report con semplici interventi di trascinamento o facendo clic sulle nuove icone della barra degli strumenti, per avere visualizzazioni completamente nuove dei dati, tutte per lo stesso report e senza richiedere assistenza; Accesso diretto ai dati di business: MicroStrategy 8 incorpora nella propria architettura un ulteriore motore dinamico di accesso ai dati. Questo nuovo motore è progettato per accedere a database multidimensioni, per esempio i database di Business Information Warehouse (BW) SAP. Il nuovo motore MDX dinamico genera sintassi MDX ottimizzata, completamente certificata con BW SAP, utilizzando interfaccia BAPI ad alta prestazione di SAP. Siccome l MDX di MicroStrategy è generato dinamicamente usando i modelli multidimensionali impliciti di SAP InfoCubes, QueryCubes e ODS, è possibile passare automaticamente e senza problemi nella BW SAP alla ricerca di ulteriori dati, senza previa programmazione o progettazione di percorsi di ricerca; Unione eterogenea dei dati di tutta l azienda: MicroStrategy 8 estende la flessibilità di modellazione dei dati delle versioni precedenti per includere viste integrate dei dati provenienti da memorie dati eterogenee. I dati possono provenire da qualunque sorgente, inclusi warehouse dei dati, centri dati, BW SAP e qualunque database di sistemi operativi; Integrazione della funzione di Data Mining migliore nei report e nelle analisi principali: MicroStrategy 8 ha allargato il proprio motore analitico alla capacità di Data Mining, che consente ai report e alle analisi di includere capacità predittive in ogni report o analisi. Ora il motore analitico può calcolare svariate funzioni di data mining, compresi algoritmi di rete neurale, algoritmi di cluster, di regressione e ad albero. Insieme a questa nuova capacità di calcolo, MicroStrategy 8 comprende anche la nuova possibilità di importare modelli di data mining direttamente dai migliori prodotti del settore. 14

19 Business Intelligence e Sistemi Open Source Il resto del mercato Sebbene, come abbiamo visto, Microstrategy sia universalmente riconosciuto come il prodotto di riferimento nel campo dei software di tipo commerciale per la Business Intelligence, esistono anche numerosi altri prodotti decisamente validi, che hanno un loro mercato e una clientela comunque molto vasta. Questo è infatti un settore in grande espansione e al giorno d'oggi tutte le aziende di una certa importanza si appoggiano o si stanno per appoggiare ad un sistema di Business Intelligence. Vediamo brevemente i principali protagonisti di questo mercato: Business Objects [BO08], azienda francese che crea e commercializza applicazioni di Business Intelligence per analizzare dati interni ed esterni col fine di aiutare i clienti ad aumentare l'efficienza, allinearsi alle strategie aziendali e migliorare i prodotti ed il servizi. Il massimo successo si ha nel 2003, quando venne lanciato Business Objects Enterprise 6, che divenne un prodotto leader del mercato. Nel 2007 è stata acquistata da SAP [SAP08]; Cognos [COG08], è una società canadese che vende un prodotto capace di consentire alle aziende di ogni dimensione di migliorare il proprio vantaggio competitivo attraverso il Performance Management, grazie a un utilizzo strategico della Business Intelligence. Fondata nel 1969, ha più di dipendenti e più di clienti in tutto il mondo. Cognos fa parte del gruppo IBM [IBM08]; SAS Institute [SAS08], è una società statunitense produttrice di software fondata nel La sua sede centrale è situata a Cary, in North Carolina ed ha sedi in diverse altre nazioni, compresa l'italia, con quasi dipendenti. Il suo nome deriva dall'acronimo di statistical analysis system in riferimento al suo primo software, che era dedicato all'analisi statistica. L'azienda è oggi attiva principalmente per soluzioni dedicate alle imprese, nel campo della Business Intelligence. Le soluzioni SAS sono certificate SAP NetWeaver e si propongono come una soluzione complementare alla tecnologia SAP, fornendo un supporto per l'instradamento diretto dei dati SAP verso la piattaforma SAS, per l'arricchimento, l'eleborazione e il pubblicamento dei dati 15

20 Mattia Camporesi immessi nei sistemi SAP e in generale per losfruttamento dell'intero patrimonio informativo SAP e non. 1.4 Sistemi Open Source Dopo aver visto quelle che sono le oppurtunità che offre il mercato dei prodotti proprietari, cerchiamo adesso di cambiare prospettiva, addentrandoci nel mondo Open Source. Prima però di andare ad analizzare le specifiche soluzioni, cerchiamo di spiegare da dove ha preso vita questo movimento e qual'è la sua filosofia Verso un mondo Open Source La maggior parte degli utilizzatori di programmi è abituata a considerare i software come delle scatole nere, dove il software è spesso un oggetto proprietario, chiuso, di cui difficilmente si può conoscere il codice sorgente, ovvero il suo DNA. Se al supermercato trovassimo sugli scaffali dei prodotti di cui sull etichetta si evidenziano pregi e qualità senza rivelare però con quali ingredienti sono fatti, sicuramente ci verrebbe almeno qualche dubbio. Se poi questi prodotti dovessero anche costare caro, a maggior ragione prima di decidere l acquisto ci interesseremmo circa le modalità di produzione e confezionamento. Nel caso dei software commerciali, ci comportiamo invece in modo poco razionale perché acquistiamo prodotti di cui non vengono resi noti gli ingredienti e qualunque modifica alla versione originale, attività peraltro considerata illecita, essendo questi prodotti protetti da leggi sul copyright, viene resa impossibile. Agli albori dell'informatica la situazione era però profondamente diversa. I codici sorgenti dei programmi erano aperti e quindi disponibili a tutti affinché ogni utente potesse intervenire migliorandone le prestazioni e personalizzare le funzioni dei singoli prodotti. I software nascevano da comunità di programmatori che ispiravano la propria attività secondo un attualissimo modello cooperativo, in grado di coinvolgere e portare il meglio della professionalità, dell ingegno e della creatività di ciascuno. Fortunatamente, negli ultimi tempi qualcosa sta cambiando e finalmente sono resi disponibili in modalità libera software di qualità estremamente raffinata, affidabile e robusta grazie al contributo di centinaia (a volte migliaia) di programmatori sparsi in tutto il mondo. Così come all'interno della comunità scientifica le scoperte di ogni 16

21 Business Intelligence e Sistemi Open Source singolo scienziato sono messe a disposizione di tutti, allo stesso modo nelle comunità Open Source il codice scritto è aperto, nessun programmatore possiede le singole righe di codice e neppure ne rivendica la paternità cercando di trarne un profitto. Tutti invece contribuiscono a migliorarne la qualità Un nuovo modello di business Si sta quindi sviluppando una modalità completamente alternativa di produrre, gestire e distribuire il software, e alternativi sono ovviamente anche i modelli di business che da questa tendenza hanno preso piede. Il software libero è generalmente reperibile su Internet, ma spesso necessita di conoscenze tecniche per la sua installazione, manutenzione e gestione. L utente non esperto è disposto a pagare una cifra ragionevole per disporre di un aiuto che ne semplifichi l utilizzo e in un discorso più globale le fonti di guadagno per le società informatiche non mancano di certo e possono essere riassunte in questo modo [FUR05]: supporto tecnico, installazione, configurazione e soluzione di problemi; personalizzazione, adattamento del software alla specifiche necessità del cliente; formazione, intesa come istruzione di personale tecnico per il supporto e istruzione degli utenti all utilizzo; consulenza per la scelta del prodotto e per l integrazione con altri sistemi già presenti; documentazione. Alcune aziende forniscono software Open Source pacchettizzato, cioè completo di manualistica e di strumenti per la sua installazione e configurazione guidata. Altre società producono e vendono materiale di supporto al software, quali manuali, libri, riviste. L attività può essere svolta direttamente dall azienda che ha sviluppato il progetto oppure da altre aziende che possiedono una buona conoscenza del prodotto. Altre aziende produttrici di prodotti hardware distribuiscono in formato libero il software di base necessario al loro funzionamento. La qualità di questi pacchetti in molti casi non ha nulla da invidiare alle soluzioni a pagamento, l unica differenza che continua a caratterizzarli è che solitamente l installazione e la personalizzazione richiedono competenze più elevate rispetto a quelle dei concorrenti. Concludendo si può sostenere che le soluzioni Open Source sono consigliabili a 17

22 Mattia Camporesi chi dispone di risorse in grado di mantenere e modificare il codice sorgente che si sta utilizzando. Queste piattaforme si rivelano l ideale per grandi aziende che le adottano come base per costruire soluzioni avanzate su misura grazie al proprio team interno di sviluppo. Per l utente finale piccolo o medio è spesso più conveniente rivolgersi a soluzioni del tipo commerciale supportate da aziende specializzate che non solo rivendono la licenza, ma possono anche installare e impostare inizialmente il sito che sarà poi mantenuto da persone preposte al solo inserimento e aggiornamento dei contenuti Definizione formale di Open Source L'Open Source Initiative (OSI) è una organizzazione senza fini di lucro che si dedica alla promozione di software open source. E' stata fondata nel febbraio 1998 da Bruce Perens e Eric S. Raymond quando Netscape rese pubblico il codice sorgente di Netscape Communicator (oggi dismesso) come free software, a causa della progressiva riduzione dei margini di profitto e della competizione con il programma Internet Explorer di Microsoft. Venne pubblicato un documento, denominato Open Source Definition", che specifica i requisiti necessari affinchè una licenza possa essere considerata Open Source. La prima bozza fu scritta da Bruce Perens, intitolata Linee guida per il software libero in Debian". L'attuale documento è il risultato della rimozione di ogni riferimento a Debian e della successiva pubblicazione del risultato. Vediamo adesso quali sono le condizioni necessarie affichè una licenza possa essere considerata Open Source: Libera distribuzione: la licenza non può limitare alcuno dal vendere o donare il software come componente di una distribuzione aggregata, inoltre non può richiedere diritti o altri pagamenti a fronte di tali vendite; Codice Sorgente: deve essere permessa la distribuzione del codice sorgente, in una forma facilmente modificabile da un programmatore, al fine di porre migliorie al programma; Prodotti Derivati: devono essere permessi prodotti derivati e la loro distribuzione sotto le stesse condizioni della licenza del software originale; Integrità del codice sorgente originale: deve essere permessa la distribuzione del software prodotto con un codice sorgente modificato, si 18

23 Business Intelligence e Sistemi Open Source può però imporre che i prodotti derivati portino un nome o una versione diversa dal software originale; Discriminazione contro persone o gruppi: la licenza non deve discriminare alcuna persona o gruppo di persone; Discriminazione per campo d'applicazione: la licenza non deve impedire di far uso del programma in un ambito specifico; Distribuzione della licenza: i diritti allegati a un programma devono essere applicabili a tutti coloro a cui il programma è redistribuito, senza che sia necessaria l'emissione di ulteriori licenze; Specificità ad un prodotto: i diritti allegati al programma non devono dipendere dal fatto che il programma sia parte di una particolar edistribuzione di software; Vincoli su altro software: la licenza non deve porre restrizioni su altro software distribuito insieme al software licenziato; Neutralità rispetto alle tecnologie: la licenza non deve contenere clausole che dipendano o si basino su particolari tecnologie o tipi di interfacce. Illustrazione 1.4: Logo ufficiale della comunità Open Source Le Licenze L'Open Source Initiative ha diramato una serie di licenze Open Source, che vanno a comporre una lista ufficiale. Affinchè una licenza vada in questa lista deve rispettare la 19

24 Mattia Camporesi Open Source Definition e deve seguire un processo di approvazione. La Free Software Foundation (FSF) ha a sua volta una lista di licenze ritenute libere (nella lista ci sono anche licenze ritenute da alcuni erroneamente libere e la spiegazione del perché non lo sono), per ognuna c'è scritto se è compatibile o no con la GNU General Public License, che rimane in ogni caso la piu famosa e conosciuta al mondo. La licenza GNU GPL sancisce e protegge le libertà fondamentali che permettono l'uso e lo sviluppo collettivo e naturale del software. Un'altra licenza, la GNU Free Documentation License (GNU FDL), è stata scritta per coprire la documentazione, ed è usata anche dal progetto Wikipedia. Per poter gestire alcuni casi, ad esempio lo sviluppo di librerie, il Progetto GNU ha creato anche la GNU Lesser General Public License (GNU LGPL), che permette di integrare software libero all'interno di software proprietario, specialmente per ragioni di compatibilità e portabilità. 20

25 Le piattaforme Open Source per la Business Intelligence 2 Le piattaforme Open Source per la Business Intelligence Dopo aver visto e compreso l'importanza di un sistema di data warehousing all'interno di una piattaforma di Business Intelligence, andiamo a concentrarci sull'oggetto vero e proprio di questo lavoro di tesi, focalizzando la nostra attenzione su tre prodotti Open Source quali Spago BI, Pentaho e Jasper Software. 2.1 SpagoBI SpagoBI [SPA08] è una soluzione per la Business Intelligence, in versione completamente open, ovvero senza distribuzioni a pagamento, realizzata dalla Engineering Ingegneria Informatica, una società per azioni italiana, costituita nel 1980, avente come attività lo studio, la progettazione e la realizzazione di prodotti software in particolare per i settori bancario, finanziario e assicurativo. SpagoBI è una piattaforma in grado di soddisfare l'intera gamma di esigenze analitiche: il reporting statico, la ricerca di informazioni nascoste attraverso tecniche di Data Mining, il controllo delle performance aziendali con cruscotti (dashboards) in grado di monitorare gli indicatori significativi (KPI) in tempo reale o differito, l'interrogazione libera dei dati tramite uno strumento visuale (QbE). Copre altri aspetti funzionali quali l'organizzazione dei dati (statici e dinamici) e la creazione di un ambiente di pubblicazione e di controllo strutturato e dinamico. Supporta inoltre i processi di estrazione, trasformazione e caricamento dei dati (ETL) ed inoltre l'interfaccia è interamente via web, compatibile con tutti i browser di ultima generazione. Attualmente questa funzionalità sono garantite dai seguenti applicativi: Mondrian/JPivot (Analisi OLAP); 21

26 Mattia Camporesi JasperReport e BIRT (Report); OpenLaszlo (Dashboards); Weka (Data Mining); Talend Open Studio (ETL); Hibernate (QbE Engine). Come si può notare, SpagoBI è sviluppato a componenti e realizza le singole funzionalità con moduli specifici. Esistono infatti numerosi prodotti Open Source che coprono particolari aspetti della Business Intelligence, tuttavia una soluzione completa che tratti l'intero contesto è offerta soltanto da grossi prodotti commerciali. SpagoBI fornisce un'infrastruttura comune che consente una visione globale della piattaforma, utilizzando le soluzioni Open Source ritenute più interessanti e sviluppando nuovi componenti, al fine di realizzare un'intera piattaforma realmente integrata. Questo prodotto offre diverse soluzioni per ogni area analitica, lasciando libero l'utente finale di scegliere la composizione della soluzione più adatta rispetto alle proprie esigenze, allo scopo di salvaguardare il patrimonio informativo aziendale. Il progetto SpagoBI è ambizioso e molto articolato, esso infatti non nasce come prodotto completo messo a disposizione della comunità di interesse, ma come soluzione progettuale da sviluppare e consolidare insieme ad essa. Per questo ogni componente viene rilasciata con licenza GNU LGPL, così da permetterne la condivisione, lo sviluppo e l'estensione Architettura SpagoBI presenta un'architettura modulare, in questo modo un nuovo progetto potrà 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. L'integrazione della applicazioni è legata alla interazione delle stesse con portali generici, che possono essere specifici per la Business Intelligence o per l'intera azienda, e permette dunque la navigazione e l'utilizzo dei servizi offerti. Le applicazioni di Business Intelligence costituiscono il nucleo analitico della piattaforma e gestiscono la navigazione, attivazione e gestione dei parametri dei vari motori BI, che producono i documenti analitici a partire dai dati e dai metadati estratti dalle sorgenti. SpagoBI fornisce supporto per le funzionalità di amministrazione dell'intera piattaforma, sia degli utenti che degli oggetti. Ogni oggetto BI è distribuito 22

27 Le piattaforme Open Source per la Business Intelligence all'utente finale mediante portlet, in modo tale che sia i portlet che gli oggetti siano gestiti e incapsulati nel portale scelto per la specifica soluzione aziendale, anche qualora dovesse trattarsi di un prodotto commerciale. Questi oggetti sono Report, analisi OLAP, modelli di Data Mining, ciascuno con un proprio motore di esecuzione, di cui SpagoBI gestisce i cicli di produzione e validazione,la navigazione, la selezione, l'attivazione dei parametri e il versionamento. Illustrazione 2.1: Architettura di SpagoBI Grazie alla natura a portale della piattaforma, lo sviluppatore degli applicativi come pure l'amministratore di sistema possono accedere direttamente via web ai rispettivi strumenti di lavoro. La registrazione di nuovi documenti analitici avviene con procedure guidate dove l'utente il più delle volte fornisce il file progetto realizzato con i rispettivi strumenti di sviluppo come JasperReport o Mondrian e completa le informazioni della videata per integrarli nella piattaforma. L'utente, dopo aver inizializzato il server e dopo avere realizzato la connessione a SpagoBI, dovrà semplicemente effettuare il login per accedere alle varie funzionalità. Ovviamente ci saranno vari profili e conseguentemente diversi privilegi. Una volta autenticati, se si 23

28 Mattia Camporesi posseggono i privilegi necessari, l'utente potrà utilizzare le varie funzionalità offerte dalla piattaforma in modo del tutto trasparente, senza dover mai riinserire le proprie credenziali. SpagoBI eredita da Spago, un J2EE Framework realizzato da Engineering che permette lo sviluppo di applicazioni Web e l'integrazione di infrastrutture, l'aderenza al pattern architetturale MVC. 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) [SAR05]. I due assunti di fondo che hanno guidato la progettazione di SpagoBI sono l'adattamento del pattern architetturale MVC alle esigenze implementative della Business Intelligence e la possibilità di portare in primo piano i metadati, con lo scopo di farli divenire il fondamento per la guida ed il controllo di tutta la piattaforma. Il modulo Model deve incapsulare la logica applicativa, che si delinea in questo caso come logica dei documenti analitici, quali ad esempio Report o analisi OLAP. Gli oggetti BI, ovvero gli applicativi che permettono la creazione dei documenti analitici, vengono trattati come generici Componenti BI con una propria logica di controllo e con un motore di esecuzione specifico, essi governano la logica di business in quanto il business nel contesto di interesse è l'analisi stessa. Una nota particolare riguarda il dominio dei dati, che si posiziona a livello di Data Warehouse e non di sistema operazionale. In tale dominio sono compresi anche i metadati per la gestione semantica dei dati stessi e per l'espressione della logica di controllo. Il livello View, che deve incapsulare la logica di presentazione, affronta le problematiche relative alle componenti di pubblicazione e distribuzione delle informazioni tipicamente caratterizzanti le applicazioni web. Infine il livello Controller assume nella Business Intelligence l'onere del coordinamento e della navigazione all'interno dei singoli componenti e tra componenti differenti. SpagoBI adatta l'architettura di Spago al contesto di interesse, definendo tre livelli logici sui quali è strutturata l'intera piattaforma [SAR05]: il livello distribuzione, per la distribuzione dei modelli di informazione e analisi; 24

29 Le piattaforme Open Source per la Business Intelligence Illustrazione 2.2: Approccio MVC per SpagoBI il livello analitico, per la trasformazione dei dati grezzi in informazioni significative, quindi in conoscenza; il livello dati e metadati, per ricevere i dati e strutturarli per scopi analitici. Gli scopi principali del livello Distribuzione sono quelli di rendere utilizzabili i servizi BI e di permettere ad applicazioni esterne di interagire con essi. I portlet sono il primo strumento di accesso e permettono di costruire un'interfaccia personalizzata in un nuovo portale di Business Intelligence. Per l'interazione con altre applicazioni aziendali sono previsti anche i Web Service, per l'abilitazione dei processi analitici i messaggi JSM. I modelli e le strutture di tipo XML permettono infine una semplice trasmissione dell'informazione e dei risultati. Il livello Analitico è il nodo centrale della piattaforma, esso coordina le attività analitiche, fornendo anche gli strumenti necessari a supportarle. Le componenti centrali (Componenti BI) sono i moduli di Report, OLAP, Data Mining e Dashboards: ognuna 25

30 Mattia Camporesi di queste risponde ad una serie di funzionalità specifiche, ma la piattaforma le tratta secondo gli stessi principi architetturali, consentendone cosi un facile utilizzo ed un uso modulare. Alcune applicazioni di servizio supportano le componenti BI predisponendo l'ambiente di lavoro nei suoi aspetti collaterali: BIParameter, che gestisce i valori di input per l'attivazione dei moduli analitici e regola la visibilità dei dati e il comportamento del sistema a seconda dei privilegi dell'utente corrente; BIProfling, responsabile della registrazione dei documenti analitici nel rispetto di standard definiti; BIFunctionality, che definisce e gestisce i servizi BI permettendone inoltre l'organizzazione ad albero, il versionamento, la visibilità a seconda dei ruoli utente e la produzione dei documenti in accordo con le regole determinate da BIProfiling; BISearch, il motore di ricerca dei documenti; BIQbE, una componente per l'interrogazione visuale dei dati; BINotify, uno strumento per notificare eventi; Controllore dei Contesti, che ha la responsabilità di garantire il corretto coordinamento dell'interazione sia fra le varie Componenti BI, sia fra questi ultimi e le applicazioni di servizio. Il livello dei dati e metadati si posiziona a livello di Data Warehouse e fornisce una meta-descrizione dei suoi aspetti tecnici e dei contenuti di business. E' anche fornito un repository di servizio al fine di supportare la gestione dei documenti e la profilatura degli oggetti. L'interazione con i BI Core Components può avvenire o in maniera nativa o attraverso un livello semantico di interfaccia. La relazione con i sistemi sorgenti è gestita da un modulo ETL, che fornisce vari servizi quali l'estrazione, la trasformazione e il caricamento dei dati Il modello dei Metadati Da un punto di vista di flusso dei dati la struttura di SpagoBI è analizzabile individuando quattro livelli di astrazione che, partendo dalle sorgenti fisiche dei dati, ad esempio il database, arrivano a trattare l'intera piattaforma come un insieme di funzionalità, in modo tale da delinearne le funzioni di gestione. Intenzione degli 26

31 Le piattaforme Open Source per la Business Intelligence sviluppatori, sarebbe quindi quella di definire un meta-modello globale. L'illustrazione 2.3 ci illustra i livelli di astrazione in questione. Le funzionalità che permettono all'utente di connettersi alla piattaforma e accedere ai documenti analitici sono caratteristiche del livello L3, che offre una visione globale della piattaforma, fornendo anche la gestione della sicurezza. Una volta che l'utente richiede un documento, il livello L2 si occupa di utilizzare le strutture analitiche di SpagoBI adatte a soddisfare il bisogno informativo espresso. Le strutture selezionate dovranno recuperare i dati dalle sorgenti, pertanto il livello L1 permetterà loro di riferirsi alle risorse fisiche, quali ad esempio le tabelle relazionali. Infine il livello più basso, L0, esegue l'interrogazione sulla risorsa, ad esempio il database relazionale. L'illustrazione 2.3 illustra anche le diverse tipologie di metadati che descrivono e supportano le attività dei vari livelli. Illustrazione 2.3: Livelli del meta-modello di SpagoBI 27

32 Mattia Camporesi Al livello L0 troviamo i metadati che descrivono fisicamente la risorsa sorgente, ad esempio il nostro database. Questi dati, al livello L1, devono essere organizzati secondo una logica utilizzabile dalle strutture analitiche del livello successivo, individuando ad esempio concetti come fatti e dimensioni. Al livello L2 i metadati descrivono come il Data Warehouse viene utilizzato per la produzione dei documenti analitici (Report, OLAP, Dashboards). Infine i metadati a livello L3 descrivono come la piattaforma di SpagoBI viene utilizzata dagli utenti, specificando le interfacce di navigazione e accesso, i ruoli degli utenti e le conseguenti visibilità di dati e applicazioni [SAR05]. Per poter continuare la trattazione, è necessario introdurre due concetti molto importanti: il modello analitico e quello comportamentale. Definiamo come modello analitico l'insieme dei documenti analitici sviluppati sulla piattaforma e delle regole che descrivono come essi siano associati agli utenti in base al loro ruolo e alle loro capacità. Definiamo invece come modello comportamentale l'insieme delle regole che gestiscono, sempre in funzione dei ruoli utente, la visibilità sui dati mostrati attraverso i documenti analitici e i parametri di validazione. Il modello comportamentale garantisce quindi la sicurezza e facilita la manutenzione del sistema, in quanto le regole relative a ogni concetto analitico sono codificate una sola volta e condivise da tutti i motori, indipendentemente dalla loro natura. Sarà possibile dunque produrre nuovi documenti analitici e registrarli nella piattaforma riferendosi al modello comportamentale. Per spiegare come questo agisce, immaginiamo che un utente si autentichi nella piattaforma e scelga un documento analitico da eseguire, il sistema automaticamente leggerà la configurazione esecutiva del documento e produrrà una pagina per l'input dei parametri in accordo con il ruolo dell'utente. In questo modo i valori di input saranno dunque controllati e validati, sempre a seconda del ruolo, e verrà prodotto il documento finale. La direzione che gli sviluppatori intendono intraprendere è l'adozione di un meta-modello che consenta la descrizione astratta di tutte le aree analitiche. Poichè allo stato attuale SpagoBI non si avvale di un meta-modello, sia il modello analitico che quello comportamentale attingono i dati e metadati direttamente dalle fonti. Per quanto concerne il primo i documenti analitici implementano al loro interno il livello dei metadati (ad esempio i tipi dei dati), le logiche multidimensionali ed eventuali valori di soglia sui dati, per quanto invece riguarda il secondo le regole di visibilità sui dati vengono ricavate deducendole direttamente dalle fonti dati. Ragionando in questo modo, risulta evidente come la meta-conoscenza possa essere collocata a fianco di ogni 28

33 Le piattaforme Open Source per la Business Intelligence singolo modulo di Business Intelligence, che avrà un contatto diretto con le fonti dati. L'introduzione del meta-modello globale invece, porterebbe a dei grandi vantaggi, infatti esso permetterebbe di definire una vista consistente ed omogenea sia delle entità che compongono il Data Warehouse, sia delle regole di visibilità del modello comportamentale, vista che sarebbe peraltro condivisa da tutti i motori analitici. In questo modo la meta-conoscenza sarebbe collocata all'interno della piattaforma e le varie applicazioni di Business Intelligence, oltre a doversi interfacciare con SpagoBI per poter attingere i metadati, andrebbero tutte a consultare il medesimo patrimonio meta-informativo, che quindi potremmo definire globale. Il meta modello globale è previsto a partire dalla versione 2.0 di SpagoBI, attualmente disponibile in versione beta Reportistica Come detto in precedenza, la creazione dei documenti analitici avviene per lo più utilizzando degli strumenti esterni a SpagoBI, che poi verranno importati all'interno di piattaforma per essere eseguiti. Per quanto riguarda la reportistica, SpagoBI è compatibile con questi due strumenti Open Source: Jasper Reports; BIRT. Entrambi permettono la stampa nei comuni formati HTML, PDF e XLS. C'è inoltre la possibilità di visualizzare grafici, eseguire funzioni di raggruppamento e parametrizzazione, opzione questa che permette di pilotare i report direttamente da un documento analitico. JasperReports [JAS08] è un prodotto della Jasper Forge e si può definire come una libreria scritta in Java che legge un file tracciato con estensione.jrxml e produce il rispettivo report. Il file.jrxml è in formato XML opportunamente strutturato, che può essere anche compilato garantendo la protezione del codice sorgente nel rilascio dei report. Invece che scrivere a mano il file.jrxml, si può utilizzare il completo e utilissimo strumento di design ireport, che permette la realizzazione di report anche complessi in modo semplice e intuitivo. In pratica si tratta di definire la query dei dati sorgente e trascinare all'interno dell'area i vari componenti come campi di testo, valori di database, tabelle, grafici, eccetera, usando uno stile di sviluppo con un approccio decisamente visuale e user friendly. JasperReport è quello che offre i maggiori formati 29

34 Mattia Camporesi di esportazione, contando oltre ai classici HTML, PDF e XML anche Excel (fogli multipli e singoli), CSV, RTF e TXT. Come database può essere utilizzato qualunque database relazionale con supporto JDBC. Il prodotto si dimostra molto completo, curato nei particolari, competitivo anche rispetto ai software commerciali più rinomati, forte anche della maturità e supporto acquisito nel tempo. BIRT (Business Intelligence and Reporting Tool) [BIR08] è il progetto che conferisce al noto Eclipse la funzionalità di reportistica. L'utilizzo dei CSS (Cascading Style Sheets) per la formattazione grafica dei componenti e di un linguaggio per la generazione di valori dinamici simile a JavaScript, rende BIRT un prodotto intuitivo ai programmatori web. Le funzionalità rilevanti per un software di reportistica sono tutte presenti, dai grafici alla parametrizzazione del comportamento del report. Salvato il report dal designer quello che si ottiene è un file XML con estensione.rptdesign, interpretato dalla libreria Java di BIRT per produrre report in formato HTML, PDF o CSV. BIRT, progetto relativamente giovane rispetto a JasperReport, fa dei suoi punti di forza l'integrazione con Eclipse, la completezza di funzionalità e un notevole supporto da parte della comunità Open Source. Illustrazione 2.4: Form di importazione di un documento analitico in SpagoBI Indipendentemente da quale di questi due strumenti l'utente voglia utilizzare, il funzionamento è il medesimo e prevede due modalità: dopo la generazione del report, 30

35 Le piattaforme Open Source per la Business Intelligence sarà possibile o lanciarlo all'interno dello strumento stesso (dopo aver opportunamente creato una connessione con il data source) oppure importarlo nella piattaforma e mandarlo in esecuzione attraverso l'interfaccia di SpagoBI. La procedura di importazione è molto semplice, basta infatti accedere all'elenco dei documenti analitici salvati sulla piattaforma e compilare un form dove occorre effettuare l'upload del template costruito ad esempio con ireport e specificare, tra le altre cose, il data source che il report stesso dovrà utilizzare durante la sua esecuzione. Sarà compito del Web Service di SpagoBI, nel momento il cui il report viene lanciato, creare una connessione con il data source specificato e passarla al componente Jasper Report (nel caso si fosse utilizzato ireport) per l'esecuzione vera e propria. Illustrazione 2.5: Esempio di un semplice report lanciato all'interno di SpagoBI Ovviamente è possibile lanciare report differenti utilizzando lo stesso data source. Importare il report dentro la piattaforma permette all'utente di avere a disposizione una serie di comode funzionalità offerte da SpagoBI, quali: 31

36 Mattia Camporesi la possibilità di stampare ed inviare via mail il documento in modalità immediata; la gestione del versionamento; la possibilità di dare risalto al documento in questione segnalandolo nei preferiti o assegnandogli un punteggio; la possibilità di scrivere una serie di note che affianchino il documento stesso; la possibilità di accedere ai metadati, dove risiederanno tutte le informazioni tecniche del documento Analisi OLAP L'analisi OLAP si basa fondamentalmente su due componenti: uno è Mondrian, per quel che riguarda la gestione del cubo multidimensionale, l'altro è Jpivot, inerente invece alla parte di visualizzazione dei risultati. Mondrian [MON08] è un motore OLAP scritto in Java per la creazione di server Relational-OLAP usando database relazionali verso cui vengono mandate query SQL per generare il cubo multidimensionale. Trattandosi in pratica di un server OLAP virtuale su una base di dati relazionale, le prestazioni di Mondrian sono fortemente influenzate dalla capacità di aggregazione e capienza del RDBMS sottostante. Influiscono positivamente sulle prestazioni l'affinamento dei parametri della memoria e un buon design dello schema relazionale, che può essere a stella o a fiocco di neve. A livello di libreria Java è previsto un efficace meccanismo di caching, con la possibilità di invalidare regioni del cubo multidimensionale che andranno rigenerate dal RDBMS alla successiva query. Questa soluzione, causa la difficile implementazione tecnica, non è di fatto quasi mai utilizzata. Il modo in cui Mondrian si interfaccia con l'rdbms per caricare il cubo multidimensionale viene dapprima definito in un file XML di configurazione creato a mano oppure usando strumenti di sviluppo quali Mondrian Schema Workbench, disponibile nella pagina di download dello stesso Mondrian. L'interprete delle query per l'interrogazione del cubo multidimensionale è basato sul linguaggio MDX (Multidimensional Expressions), un codice orientato alla manipolazione di dati multidimensionali. Mondrian, quando nacque, non avendo a disposizione la definizione completa del linguaggio MDX, introdusse un dialetto che differisce in piccola parte dalla recente sintassi ufficiale. 32

37 Le piattaforme Open Source per la Business Intelligence Se Mondrian si occupa del reperimento dei dati, la parte di visualizzazione è demandata all'altro componente, Jpivot [JPI08]. Queste due applicazioni costituiscono un binomio molto diffuso nelle applicazioni di analisi OLAP. JPivot è una libreria JSP per interagire con cubi OLAP che consente di eseguire le tipiche operazioni di navigazione descritte in precedenza nel paragrafo Viene impiegato un comune Application Server Java J2EE come ambiente di esecuzione e Mondrian come Server OLAP. Alcune funzioni di layout, come la colorazione delle celle a seconda del loro valore, vengono definite nella query MDX sorgente, producendo tabelle con un buon impatto visivo. Possono essere configurate dall'interfaccia web di JPivot la selezione delle dimensioni e dei fatti da visualizzare, come pure la query MDX. Completano le funzionalità di JPivot la visualizzazione di grafici di epilogo, la stampa su file pdf e, seppure migliorabile, su Excel. Bisogna però precisare che in SpagoBI la creazione di interrogazioni JPivot su schemi Mondrian è molto agevolata da una completa procedura assistita, che di fatto evita la scrittura a mano della laboriosa query MDX. Una volta creato il file schema Mondrian, per registrarlo all'interno della piattaforma, occorre copiare questo stesso file all'interno della cartella webapps\spagobijpivotengine\web-inf\queries e censirlo nel file engine-config.xml, come mostrato di seguito. <SCHEMAS> <SCHEMA cataloguri= /WEB-INF/queries/Foodmart.xml name= Foodmart /> <SCHEMA cataloguri= /WEB-INF/queries/DW_TPCD.xml name= DW_TPCD /> </SCHEMAS> Il file schema Mondrian DW_TPCD.xml, descrive la struttura del data warehouse utilizzato per effettuare i test necessari alla stesura di questo lavoro di tesi. In questo caso di studio sono presenti i due cubi LineItem e PartSupp, e le dimensioni Supplier, Part, Order, Shipdate, Commitdate, Receiptdate ed Orderdate. Una porzione del file schema Mondrian in questione viene proposta di seguito. <Schema name="dw_tpcd"> <Dimension type="standarddimension" name="supplier"> <Hierarchy name="supplier_hierarchy" hasall="true" allmembername="all supplier" primarykey="dts_suppkey" primarykeytable="dt_supplier"> <Table name="dt_supplier"> 33

38 Mattia Camporesi </Table> <Level name="phone" table="dt_supplier" column="dts_phone" parentcolumn="dts_suppkey" type="string" uniquemembers="true" leveltype="regular" hidememberif="never"> </Level> <Level name="address" table="dt_supplier" column="dts_address" parentcolumn="dts_suppkey" type="string" uniquemembers="true" leveltype="regular" hidememberif="never"> </Level> <Level name="nation" table="dt_supplier" column="dts_nation" parentcolumn="dts_suppkey" type="string" uniquemembers="true" leveltype="regular" hidememberif="never"> </Level> <Level name="region" column="dts_region" parentcolumn="dts_region" type="string" uniquemembers="true" leveltype="regular" hidememberif="never"> </Level> </Hierarchy> </Dimension> <Cube name="lineitem" cache="true" enabled="true"> <Table name="ft_lineitem"> </Table> <DimensionUsage source="supplier" name="supplier_dimension Usage" foreignkey="ftli_suppkey"> </DimensionUsage> <DimensionUsage source="part" name="part_dimension Usage" foreignkey="ftli_partkey"> </DimensionUsage> <DimensionUsage source="shipdate" name="shipdate_dimension Usage" foreignkey="ftli_shipdate"> </DimensionUsage> <DimensionUsage source="commitdate" name="commitdate_dimension Usage" foreignkey="ftli_commitdate"> </DimensionUsage> <DimensionUsage source="receiptdate" name="receiptdate_dimension Usage" foreignkey="ftli_receiptdate"> </DimensionUsage> <DimensionUsage source="order" name="order_dimension Usage" foreignkey="ftli_orderkey"> </DimensionUsage> <Measure name="quantity" column="ftli_quantity" aggregator="sum" visible="true"> </Measure> <Measure name="extended price" column="ftli_extendedprice" aggregator="sum" visible="true"> </Measure> <Measure name="discount" column="ftli_discount" aggregator="sum" visible="true"> </Measure> <Measure name="tax " column="ftli_tax" aggregator="sum" visible="true"> </Measure> <Measure name="discprice" column="ftli_discprize" aggregator="sum" visible="true"> </Measure> <Measure name="sum charge" column="ftli_sumcharge" aggregator="sum" visible="true"> </Measure> 34

39 Le piattaforme Open Source per la Business Intelligence In questa porzione di codice, viene modellata la dimensione Supplier, di cui viene specificata la tabella del data warehouse a cui fa riferimento. Inoltre viene definita la gerarchia relativa a questa dimensione. Come si può notare, essa è composta da quattro livelli ( Phone, Address, Nation e Region ) e per ognuno di essi viene specificata la colonna della tabella del data warehouse a cui fanno riferimento, il livello padre nella gerarchia e la tipologia. Inoltre riportiamo la modellazione del cubo LineItem, dove troviamo i riferimenti alla varie dimensioni (tra cui Supplier ) e misure che lo caratterizzano. Per ogni misura viene specificato il nome, il nome della colonna della fact table a cui si riferisce e la tipologia dell'aggregatore. Completata la creazione del file Schema Mondrian, non rimane che compilare un form del tutto simile a quello descritto nel paragrafo Registrate le informazioni generali del documento analitico, rimane da definire la query MDX per l'interrogazione del cubo in questione. Con le recenti versioni di SpagoBI, è a disposizione uno strumento per scegliere gli elementi del cubo che si vuole andare a visualizzare e generare la query MDX in automatico. Rimane comunque possibile intervenire direttamente sulla query per personalizzare l'analisi in base alle proprie esigenze. Illustrazione 2.6: Strumento per la creazione automatica di query MDX di SpagoBI 35

40 Mattia Camporesi Quando l'analisi OLAP viene lanciata, il Web Service di SpagoBI, crea una connessione con il data source specificato e la passa in primis al componente Mondrian e in seguito a Jpivot, che ne permette la visualizzazione all'interno delle pagine della piattaforma stessa. A questo punto, attraverso i principali operatori OLAP che Mondrian mette a disposizione in un semplice e pratico menù, l'utente potrà iniziare la navigazione interattiva sui dati. Ovviamente è anche possibile lanciare l'esecuzione dell'analisi OLAP esternamente a SpagoBI, sfruttando il binomio Mondrian/Jpivot in modalità stand alone. Concludendo è importante sottolineare come in ottica futura è previsto il progressivo accantonamento di questo binomio di applicativi, principalmente a causa dell'assenza di assicurazioni sull'impegno, da parte degli sviluppatori di Mondrian stesso, di proseguire nello sviluppo del prodotto, a favore di una nuova realtà del settore, chiamata Palo[PAL08] Dashboards Per quanto riguarda la creazione di cruscotti, SpagoBI si affida a un componente esterno chiamato OpenLaszlo [OPL08], una piattaforma Open Source per la creazione di applicazioni web usando file XML e codice JavaScript, che vengono compilati in modo del tutto trasparente in Adobe Flash. OpenLaszlo prevede due modalità di funzionamento: SOLO, ovvero tramite qualsiasi Web server, o con il Server OpenLaszlo tramite J2EE. In questo modo le applicazioni OpenLaszlo saranno già compilate e utilizzabili da qualsiasi server Web HTTP. Questa modalità supporta l'integrazione di dati tramite XML su HTTP e semplifica notevolmente la richiesta dei dati e minimizza i costi di risposta; OpenLaszlo Server, in questo modo le applicazioni saranno compilate e caricate nella cache a tempo di esecuzione all interno di un ambiente J2EE o un Container Java Servlet. Questo modalità supporta le applicazioni che richiedono l'integrazione dei dati tramite SOAP, XML-RPC o Java-RPC, che richiedono una capacità di connessione persistente o caricamenti di media a tempo di esecuzione. L architettura Java del Server supporta quindi la scalabilità e l affidabilità requisiti richiesti da un grosso volume siti Web. 36

41 Le piattaforme Open Source per la Business Intelligence Realizzare un grafico all'interno di un cruscotto in Spago BI richiede una procedura che possiamo sintetizzare in questo modo: preparare un nuovo grafico in formato Adobe Flash, o utilizzare uno dei molti template che offre l'applicazione; creare un file XML che specifichi l'origine dei dati, la scala e le informazioni supplementari al grafico; incorporare il file XML all'interno della piattaforma usando l'apposita procedura guidata. L'uso della tecnologia Adobe Flash consente un effetto visivo gradevole. Lo sviluppatore potrà decidere di realizzare nuovi componenti oppure utilizzare quelli preesistenti che sono grafici a barre, a linee, a lancetta, a griglia e a torta. Come nel caso del report, una volta creato il cruscotto, esso andrà importato all'interno della piattaforma in maniera del tutto analoga a quella precedente. In ogni caso SpagoBI sta progettando una gestione alternativa a OpenLaszlo per la generazione di cruscotti, meglio integrabile nella piattaforma. Illustrazione 2.7: Esempio di dashboard in SpagoBI 37

42 Mattia Camporesi ETL Extract, Transform, Load (ETL) è un'espressione che si riferisce al processo estrazione, trasformazione e caricamento dei dati in un Data Warehouse. I dati vengono estratti principalmente da sistemi quali database transazionali, ma a volte vengono utilizzate come sorgenti anche comuni file di testo o altri sistemi informatici. Una volta estratti, i dati subiscono un processo di trasformazione, che può consistere ad esempio nel selezionare solo quelli che sono di interesse per il sistema, nell'effettuare un processo di normalizzazione, nell'eliminazione dei duplicati, nel raggruppamento dei dati stessi. Tale trasformazione ha lo scopo di consolidare i dati, ovvero di rendere omogenei dati provenienti da sorgenti diverse e di fare in modo che siano più aderenti alla logica di business del sistema di analisi per cui viene sviluppato. Infine i dati, una volta resi consistenti, vengono memorizzati nelle tabelle del Data Warehouse [ETL08]. Per la fase di ETL, SpagoBI integra la soluzione Talend Open Studio [TOS08], pur consentendo qualunque altro meccanismo di ETL che di fatto è una operazione indipendente ed esterna alla piattaforma. Il software è completamente Open Source, disponibile in binari precompilati per Windows o Linux. Talend Open Studio genera codice Java (o Perl in alternativa), quindi i progetti ETL necessitano solamente di una JVM per essere eseguiti. Questo ovviamente li rende indipendenti dalla piattaforma, ne facilita l'esecuzione attraverso web service e l'integrazione in altre applicazioni. Come si nota dalla grafica, Talend Open Studio sfrutta l'ambiente di Eclipse, una nota piattaforma di sviluppo, ereditandone alcune funzionalità, tra le quali il debugger. Va però considerato che è comunque un debug del codice, quindi sta all'utente programmatore poi capire come ricondurre eventuali errori nell'ambito grafico. Per realizzare un progetto con Talend Open Studio, va innanzi tutto definita la connessione al data source in questione e va creato un progetto, che farà da raccoglitore non solo per le le procedure ETL ma anche per le librerie di funzioni personalizzate nonché gli schemi e tutta la documentazione a corredo. Open Studio grazie a questa e altre caratteristiche si può ritenere un IDE (Integrated Development Enviroment), che non si limita alla sola programmazione delle procedure ETL, ma fornisce una serie di strumenti utili all'intero processo, il tutto integrato in un unico ambiente. A questo punto si può passare alla definizione di un job, in cui sarà possibile trascinare i componenti e darne una sequenza di esecuzione. Se ad esempio lo scopo dell'utente fosse quello di definire l'aggiornamento di un Data Warehouse, allora si dovrebbero 38

43 Le piattaforme Open Source per la Business Intelligence creare una serie di job col compito di aggiornare la varie tabelle, ed infine un job conclusivo che integri il tutto, ed esegua in modo sequenziale le varie procedure di aggiornamento. L'applicazione provvederà 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 metadati, ossia lo schema delle sorgenti dati in entrata e uscita. Anche se così facendo si vincola lo sviluppatore a definire lo schema delle base dati prima di usare i componenti di Talend 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 , 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. A tal proposito è giusto specificare che 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 infatti sono disponibili una serie di schede per i documenti che vengono via via realizzati, suddivisi in: Business modeler: permette di disegnare graficamente i processi di ETL e la struttura dei dati, per esempio da parte degli analisti; Job designer: la parte principale, quella dove vengono creati i processi di lavorazione dei dati (job);metadata manager: gestisce gli schemi dei dati e le connessioni ai database, consentendone la centralizzazione ed il riutilizzo; Contexts: le procedure di ETL possono essere personalizzate facendo uso di parametri. La repository context prevede la definizione di questi parametri 39

44 Mattia Camporesi 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 Talend 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à. Illustrazione 2.8: Ambiente di lavoro di Talend Open Studio, dettaglio sull'aggiornamento della tabella DT_SUPPLIER 40

45 Le piattaforme Open Source per la Business Intelligence 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. Per registrare una procedura ETL all'interno della piattaforma, occorre importarla all'interno di SpagoBI, compilando, come nel caso degli altri documenti analitici, un semplice form Funzionalità e informazioni aggiuntive Completano la soluzione Spago BI altri interessanti strumenti di Business Intelligence quali: un modulo GEO che rende possibile la visualizzazione di dati in cartine geografiche; un modulo per la creazione di dossier analitici (BI Collaborativa) per la gestione degli iter documentali relativi al processo di budget; Discussione di gruppo dei documenti analitici; ToDo list. Illustrazione 2.9: Modalità GIS di SpagoBI 41

46 Mattia Camporesi Dalla versione in poi SpagoBI presenta una serie di funzionalità di auditing e scheduling che permettono di agevolare il monitoraggio dei documenti analitici, mettendo a disposizione servizi per il controllo funzionale e prestazionale della piattaforma. Accedendo al portale web è possibile effettuare una serie di operazioni di controllo e pianificazione su tutti i documenti, i parametri e i LOV. In particolare è anche possibile scegliere il formato di output del monitoraggio che si sta effettuando. Le analisi permettono di fare una elenco di quali parametri utilizzano un certo vincolo o una certa lista di valori, di monitorare le informazioni relative alle performance di esecuzione dei documenti (ad esempio il numero di esecuzioni richieste, il tempo medio di esecuzione etc.) e di reperire dati riguardanti le statistiche quali ad esempio le esecuzioni più lanciate e le relative modalità. Apriamo adesso una parentesi riguardante la documentazione e il supporto che Spago BI mette a disposizione dei suoi utenti. Per quanto riguarda la manualistica ufficiale, essa può essere trovata nel sito di riferimento del progetto [SPA08], non tanto nella sezione documentazione ma soprattutto nella sezione di download dell'applicazione, dove si possono reperire una grande quantità di documenti, che guidano l'utente sia nella fase di installazione sia nella fase dei primi utilizzi. Molto utili risultano anche una serie di tutorial tutorial animati che mostrano in modo tangibile, ad un utente alle prime armi, come muoversi all'interno della piattaforma. Nonostante il progetto sia italiano, tutta la documentazione è in lingua inglese. Molto vivace è anche il forum di riferimento, un ottimo strumento per chiedere o fornire chiarimenti agli altri utenti della community. Parlando si supporto tecnico invece, è importante dire che esso è messo a disposizione per i clienti che utilizzano la piattaforma all'interno della propria azienda, a quelli che stanno sviluppando un progetto per terzi, oppure che utilizzano tali soluzioni per scopi personali. Non è disponibile per ISV/VAR, ovvero aziende che integrano le soluzioni SpagoWorld nelle proprie distribuzioni commerciali La principale differenza tra il supporto gratuito fornito dalla Comunità (documentazione, forum) e la sottoscrizione del servizio a pagamento è data da: accesso a strumenti di progetto specifici per i clienti, quali forum, tracker, ; garanzia di qualità nelle risposte in quanto fornite dal team guida dei progetti; 42

47 Le piattaforme Open Source per la Business Intelligence accesso preferenziale ad aggiornamenti e correzione anomalie; priorità nella richiesta di nuove caratteristiche da rendere disponibili nelle nuove versioni del software SpagoBI; correzione delle anomalie alle ultime versioni delle soluzioni SpagoBI rilasciate nel sito di progetto e disponibili tramite download; supporto tramite per un predefinito numero di contatti; avvisi di notifica riguardo le ultime modifiche nel software e nella documentazione. 2.2 Pentaho Pentaho [PEN08] è una software house americana con sede ad Orlando, specializzata in strumenti completamente Open Source per la Business Intelligence, che negli ultimi anni ha integrato vari progetti di terze parti, proponendo al momento attuale un'ampia offerta di applicativi, quali: Pentaho Report Designer (JFree Report); Mondrian/JPivot (Analisi OLAP); Weka (Data Mining); Pentaho Data Integration (Kettle); Pentaho BI (Piattaforma per la Business Intelligence). Pentaho BI in particolare è la piattaforma di Business Intelligence, giunta alla versione 1.7, nata dall'integrazione dei progetti sopra elencati. Pentaho copre l'ampia gamma delle funzioni necessarie alla Business Intelligence, tra cui analisi OLAP, creazione di Report, dashboards, data mining ed ovviamente ETL. Il tutto attraverso una gestione centralizzata e integrata nel portale. Il cuore di Pentaho è implementato in tecnologia JSP (Java Servlet Pages) su Application Server Java JEE a scelta tra JBoss e Tomcat. Questo significa che la navigazione all'interno del portale avviene tramite tecnologia web, in modo tale che l'utente possa interfacciarsi con la piattaforma stessa attraverso un comune web browser. Oltre alla visualizzazione classica Pentaho prevede una modalità di funzionamento a portale, basata sull'uso di Portlet JSR-168. La modalità a portale funziona al momento solo con JBoss Portal, che è l'unico degli application server previsti da Pentaho aderente allo standard JSR-168. La scarsa documentazione e supporto della modalità a portale, unita alle competenze richieste nell'uso di JBoss 43

48 Mattia Camporesi Portal, fanno sì che questa particolare interfaccia venga tralasciata nell'ambito della tesi perché richiederebbe uno studio finalizzato alla programmazione di JBoss e ai dettagli implementativi di Pentaho, più che all'esame di una funzionalità utilizzabile da un tipico utente della piattaforma. Va inoltre aggiunto che la modalità completa e predefinita di Pentaho BI è l'interfaccia classica e non a portale. Quest'ultima, peraltro, non presenta alcune funzionalità rilevanti, come l'amministrazione e l'esplorazione delle repository degli applicativi. E' inoltre importante specificare che Pentaho gode semplicemente della licenza Open Source e non della licena GNU LGPL. Questo prodotto non è quindi da considerarsi un software libero, nel senso che non è legale effettuare modifiche al codice o effettuare delle estensioni al fine di migliorarlo. Ciò è in linea con l'idea di prevedere anche una versione Enterprise a pagamento, che offre una serie di funzionalità aggiuntive che verranno approfondite in seguito Architettura Illustrazione 2.10: Architettura funzionale di Pentaho 44

49 Le piattaforme Open Source per la Business Intelligence Come si può notare, Pentaho non dispone di un proprio database per la persistenza (salvataggio dei dati su memoria secondaria non volatile), ma si appoggia via JDBC ai più diffusi database relazionali, il che rende teoricamente possibile utilizzare un qualsiasi database con supporto JDBC (ad esempio Oracle, Microsoft SQL Server o MySQL). I documenti analitici (deshboards, Report, analisi OLAP) verranno quindi salvati in una semplice database, che chiameremo Solution Repository. Illustrazione 2.11: Architettura di Pentaho in dettaglio 45

50 Mattia Camporesi Alla base di tutto abbiamo il livello dei dati e dei metadati, che incarna fondamentalmente le funzioni dell'etl. Questa sezione fornisce ai vari tipi di analisi le fonti dati da utilizzare nella computazione. Al livello più alto troviamo ovviamente il livello della presentazione, che permette all'utente finale di fruire delle funzionalità analitiche offerte dalla piattaforma. Tra questi due livelli risiede il nucleo funzionale della piattaforma di Business Intelligence, ovvero il J2EE Server, dove viene gestita la creazione (da parte di specifici motori dedicati) e l'esecuzione dei documenti analitici, le politiche di sicurezza (Single Sign On) e le funzioni per l'auditing dei vari oggetti. Il cuore del sistema è il Solution Engine, che è il punto focale di ogni attività di Pentaho. Il Solution Engine è posto tra il mondo esterno (Broswer e Web Client) e il livello delle componenti. Importanza fondamentale in questo senso ha il concetto di Solution. Una Solution è un insieme di documenti (files), che definiscono sia i processi sia le attività che vanno a risolvere un problema di Business Intelligence. Questi documenti includono sia le Action Sequences, sia le risorse necessarie per eseguirli e sono mantenuti nel Solution Repository. I documenti analitici si basano quindi sul formato Pentaho Action Sequence, ossia file XML che vengono caricati e interpretati dalla piattaforma. Una Action Sequence definisce i parametri di ingresso e le azioni da compiere, il tutto in una logica procedurale. Possono in tal modo venire eseguite azioni in sequenza, come la visualizzazione di una form per la richiesta di dati in ingresso e la seguente stampa di un report. Per creare i documenti analitici è disponibile lo strumento Pentaho Design Studio, un plug-in per il noto IDE Eclipse che si propone come ambiente di riferimento per la parte di sviluppo della piattaforma [PAR08]. La logica funzionale è definita all'interno dell'area Process Actions del documento analitico elencando le operazioni che si vogliono eseguire. Tipiche azioni sono l'esecuzione di query, Report, processi ETL, analisi OLAP e grafici. Sono disponibili inoltre un ampio set di funzionalità accessorie come stampa di messaggi di debugging, esecuzione di codice JavaScript, spedizione dell'output via ed altri ancora. Possono essere aggiunti parametri che provengono da diverse fonti, ad esempio passati per URL, inglobati nella sessione corrente o salvati nell'ambiente di esecuzione. Interessante è la possibilità di combinare Action Sequence in modo sequenziale, così che l'output di una Action Sequence diventi l'input di un'altra, producendo applicazioni di notevole flessibilità. Oltre alla logica di funzionamento, una Action Sequence riporta 46

51 Le piattaforme Open Source per la Business Intelligence anche le informazioni descrittive (nome, descrizione, icona) che appaiono all'utente finale all'interno della piattaforma. Per alcune applicazioni, come ad esempio la creazione di Report o schemi Mondrian è richiesta la definizione dei template con strumenti esterni, per poi inglobare il file di configurazione all'interno di una Action Sequence Il dominio dei Metadati Pentaho utilizza un approccio innovativo basato sulla definizione di metadati per la descrizione ed il salvataggio dei processi di ETL. In particolare è possibile utilizzare il Pentaho Metadata Editor, una innovazione molto importante nella definizione a livello semantico della struttura dei propri dati, ovvero uno strumento per la costruzione di meta-domini e meta-modelli, che va a mappare la struttura fisica di un database in un modello logico orientato al business. Queste mappature vengono salvate e mantenute nel metadata repository. Per meta-dominio intendiamo una entità che contiene tutti gli oggetti creati, salvati ed usati nel livello dei metadati, come connessioni, tabelle, relazioni, categorie, concetti, ma soprattutto svariati meta-modelli, che chiameremo Business Model. Un Business Model è una entità che racchiude tutti gli oggetti di business e le relazioni che modellano gli oggetti del nostro database fisico. Fondamentalmente possiamo pensare ad un Business Model come ad un insieme di tabelle, relazioni e viste. Generalmente ci possono essere più Business Model per dominio, ma è buona norma associare ad ogni Business Model una sola connessione ad un database. Una volta creato, il passo successivo è quello di costruire una serie di business table e di relazioni, ovviamente ad ognuna di queste bisognerà associare una tabella fisica del database. Sfortunatamente, al momento è possibile utilizzare il Metadata Editor solo per creare una base su cui generare dei Report, ma dalla versione 2.0 di Pentaho, questo strumento potrà essere sfruttato in molteplici scenari, come ad esempio l'analisi OLAP e l'etl. Pentaho ha una visione del dominio dei metadati organizzata su tre livelli distinti (solo gli ultimi due sono compresi nel Business Model): Phisical Layer: questo livello comprende tutte le connessioni e le tabelle fisiche del database che si sta utilizzando e per convenzione non fa parte del Business Model, poiché non tutte le connessioni definite nel livello fisico saranno poi utilizzate nel modello di business. Come 47

52 Mattia Camporesi abbiamo accennato prima, è possibile avere svariati Business Model all'interno di uno stesso dominio, ma cisacuno di questi deve avere una connessione ad un solo database. Questo significa che all'interno dello stesso modello non sarà possibile intersecare o fondere tabelle fisiche provenienti da due connessioni differenti. Ovviamente questo rappresenta un limite che nelle prossime versioni di Penatho dovrebbe essere eliminato; Illustrazione 2.12: Il dominio dei metadati di Pentaho Abstract Business Layer: questo livello comprende tutte le business table e le relazioni che sussistono tra esse. Sarà possibile creare una o più tabelle di business per ciascuna tabella fisica che abbiamo definito nel Phisical Layer. Ovviamente le tabelle di business manterranno una referenza della tabella fisica che vanno a modellare, andando a creare una sorta di relazione di ereditarietà. In questo modo quando definiamo I metadati su una tabella fisica, la tabella di business li erediterà, a meno che la tabella di business stessa non li vada a sovrascrivere. Per quanto riguarda le relazioni invece, qui sono definite quelle che legano tra loro le tabelle di business. Il punto di 48

53 Le piattaforme Open Source per la Business Intelligence forza di questo approccio è che potremo scoprire dei legami tra business table che non sono affatto ovvi e scontati tra le tabelle corrispondenti nel livello fisico; Business View: questo livello rappresenta la parte di presentazione del Business Model, dove gli utenti possono visionare i risultati della mappatura della struttura fisica in un modello logico di business. In questo livello sarà semplicemente possibile organizzare le tabelle e le colonne che le compongono, in modo che siano di facile lettura e comprensione da parte dell'utente finale. In particolare è possibile condensare più colonne, anche appartenenti a business table diverse, in categorie, in modo da semplificarne la consultazione Reportistica Pentaho è assolutamente compatibile con i software di reportistica esaminati in precedenza (Jasper Report e BIRT), ma, come spesso vedremo, questa piattaforma ha fatto un passo in più, ovvero ha acquisito un progetto, integrandolo al suo interno. L'oggetto in questione è JFree Report [JFR08], un software di reportistica che Pentaho ha preso come riferimento. Allo sviluppatore sarà quindi possibile utilizzare Jasper Report e BIRT in modalità stand alone, ovvero creando il report esternamente alla piattaforma per poi importarlo all'interno in un secondo momento, oppure utilizzare JFree Report, che prende il nome di Pentaho Report Designer, lavorando in questo caso direttamente all'interno della piattaforma stessa. Il vantaggio di utilizzare JFree Report è sostanzialmente quello di utilizzare un prodotto che fa parte del pacchetto Pentaho, in questo modo una volta installata la piattaforma, l'utente avrà già a disposizione questa applicazione senza doverla recuperare in rete, come invece dovrebbe se volesse utilizzare un prodotto diverso. Inoltre è presente un wizard molto curato che introduce l'utente sia alla creazione del report sia alla sua importazione all'interno di Pentaho. In particolare, una volta creato il report, all'utente viene chiesto in quale cartella del Solution Repository (contenitore di tutti i documenti analitici di Pentaho) questo debba essere pubblicato. Per completare questa operazione viene però richiesta una publish password, che l'utente può trovare e settare nel file publisher_config.xml. A 49

54 Mattia Camporesi questo punto per lanciare il report, basterà accedere alla piattaforma, recuperare il file nel Solution Repository e mandarlo in esecuzione. E' importante anche specificare che, una volta che si è configurata la connessione della piattaforma al proprio data source, tale connessione sarà già presente ed utilizzabile all'interno di JFree Report. JFree Report è un'applicazione completa, che rende disponibili le funzionalità di reportistica più importanti, se si tralascia il supporto a grafici che richiede il passaggio dell'immagine da una libreria esterna come JFreeChart. Mancano invece e ne penalizzano la funzionalità gli strumenti accessori come l'editor assistito per la creazione di espressioni, la scelta dei valori delle proprietà da menù a tendina o comunque il controllo dei valori immessi. Tale lacuna unita alla scarsa documentazione di Pentaho Design Studio rallenta la creazione ed il collaudo dei report. Si tratta comunque di un progetto in stato di evoluzione, che potrebbe presentare nei prossimi rilasci delle migliorie significative. In ogni caso, JFree Report ha come grande vantaggio l'integrazione con Pentaho, consentendo l'utilizzo di connessioni e schemi Mondrian. Da Pentaho versione 1.5.0, è possibile creare report con JFree Report direttamente dalle pagine web della piattaforma con una procedura assistita. Questa modalità agevola anche la creazione di grafici sul report stesso, anche se non gode di tutte le funzionalità avanzate che sono invece disponibili nella modalità classica. Illustrazione 2.13: Recupero di un report dal Solution Repository Il formato del file corrispondente al report è XML, il che consente una notevole flessibilità implementativa, mentre il formato di stampa è a scelta tra XML, PDF, HTML, RTF, XLS e CSV. 50

55 Le piattaforme Open Source per la Business Intelligence Illustrazione 2.14: Esecuzione di un semplice report nella piattaforma Pentaho Ovviamente l'utente non è obbligato ad utilizzare JFree Report come strumento di reportistica per Pentaho. Come detto in precedenza, possono essere utilizzati anche altri prodotti quali Jasper Report o BIRT. Se si vuole procedere in questo senso però, l'importazione del report all'interno della piattaforma risulterà leggermente più complesso. Una volta creato il documento analitico infatti, sarà necessario compilare una nuova Action Sequence all'interno del Pentaho Design Studio e, una volta salvata questa procedura, l'utente, per mandarlo in esecuzione, dovrà recuperare il documento analitico nel Solution Repository Analisi OLAP L'analisi OLAP, come nel caso di SpagoBI, è principalmente demandata al binomio Mondrian/JPivot presentati nel paragrafo La definizione dello schema Mondrian rimane compito di strumenti appositi come Mondrian Schema Workbench, ma in alternativa si può anche utilizzare Pentaho Cube Designer, uno strumento fornito da Pentaho e accessibile direttamente dalle pagine web della piattaforma. Questo tool però, è ancora privo di funzionalità rilevanti e può risultare utile solo per utenti alle prima armi o in alternativa per tracciare una prima bozza dello schema Mondrian. Una volta definito, per registrare lo schema all'interno della piattaforma, occorre aprire il Design Studio e creare una nuova Action Sequence, relativa all'analisi OLAP che si sta andando a realizzare. Durante la compilazione dei vari form che 51

56 Mattia Camporesi caratterizzano l'action Sequence, vista la mancanza di uno strumento che supporti l'utente in questo passaggio, occorre inserire manualmente la query MDX che reperisca i dati e definisca con quali righe e colonne verrà avviata l'analisi OLAP, nel momento in cui verrà lanciata. Illustrazione 2.15: Definizione di una Action Sequence relativa ad un'analisi OLAP sul cubo LineItem Illustrazione 2.16: Esecuzioone di un'analisi OLAP in Pentaho 52

57 Le piattaforme Open Source per la Business Intelligence Una volta concluse queste operazioni, non rimane che andare a reperire il documento analitico che si è appena definito nel Solution Repository, selezionarlo e mandarlo in esecuzione. A questo punto, il Web Service di Pentaho creerà una connessione col data source specificato nella Action Sequence e la passerà al componente Mondrian/Jpivot (OLAP Engine) che produrrà l'output finale dell'analisi Dashboards Per la generazione di cruscotti Pentaho utilizza la libreria JFreeChart che prevede i classici formati a torta, barre, linee e area. Dalla versione 1.5 di Pentaho è possibile utilizzare la libreria alternativa XML/SWF Charts, basata sul formato Adobe Flash e che consente l'utilizzo di una più ampia gamma di grafici con eleganti effetti dinamici. Manca però la possibilità di creare indicatori a lancetta in maniera agevole come pure la costruzione di cruscotti con più grafici sono prerogativa di programmatori esperti. Per chi volesse realizzare una dashboard, anche non interattiva, è richiesta una notevole dimestichezza con JSP,XML, HTML, Action Sequence e JavaScript, in quanto il lavoro consiste nel creare una pagina JSP da zero. Per colmare questa lacuna è in cantiere il progetto, non ancora rilasciato, Pentaho Dashboard Designer, con cui sarà possibile generare cruscotti direttamente da applicativi web e che probabilmente sarà presente nella versione 2.0 di Pentaho. Alla luce della situazione attuale, per gli utenti che volessero realizzare cruscotti senza troppe complicazioni tecniche, il consiglio è di orientarsi verso uno strumento esterno ETL Pentaho, per il processo di ETL, propone Kettle [KET08], un prodotto che è stato poi acquisito ed integrato all'interno della piattaforma e che, a seguito di questo, ora viene anche chiamato Pentaho Data Integration. Una procedura ETL in Kettle è in essenza un file XML prodotto dall'editor grafico Spoon e che in seguito viene mandato in esecuzione. Inoltre, in presenza di una rete, gli utenti possono demandare l'avvio di procedure ETL anche ad altri computer usando il web service Carte. Con Spoon definire una tipica trasformazione ETL è molto intuitivo e si compie in semplici passaggi, quali: definire le connessioni JDBC al database; 53

58 Mattia Camporesi trascinare i componenti sull'area del progetto, collegandoli in senso sequenziale di esecuzione; testare l'applicativo realizzato; salvare il tutto e mandare in esecuzione il progetto con Kettle. Illustrazione 2.17: Ambiente di lavoro di Kettle, dettaglio di una trasformazione che va ad aggiornare la tabella DT_SUPPLIER Le funzioni specifiche del processo ETL sono demandate a componenti specializzati, trascinati sull'area di lavoro e collegati in ordine di esecuzione. L'utente ha a disposizione, nel menù a tendina Core Objects, un'ampia scelta di applicativi suddivisi in categorie, tra cui le principali sono: 54

59 Le piattaforme Open Source per la Business Intelligence Input: sono i componenti per definire flussi di dati in entrata, come i risultato di query su database relazionale ma anche file di testo Excel o XML. Nel processo di ETL questi componenti possono essere identificati nella fase di estrazione; Transform: comprende gran parte delle funzionalità di trasformazione di Kettle. Oltre a quelli della scheda Transform ci sono altri componenti per la manipolazione del flusso di dati come la modifica dei valori, il join di data set, il loockup dei campi ed altri ancora; Output: permette di aggiornare una base dati di destinazione che può essere un database relazionale oppure un file in formato testo, XML o Excel. Ciò rappresenta le procedure di loading del processo ETL. Oltre a questi componenti fondamentali, Kettle mette a disposizione altre funzionalità per il passaggio di dati via socket, scripting con linguaggio JavaScript, gestione avanzata delle connessioni con partizione dei data set, connessioni multiple, clustering e logging dettagliato sia su file che su RDBMS. Particolarmente interessante e completa è la funzionalità di debugging dei progetti. Una caratteristica che si potrebbe migliorare è il componente per lo scripting, ancora poco documentato e senza strumenti che agevolino la stesura del codice. Le trasformazioni in Kettle hanno un flusso molto semplice, cioè prelevano dati da una o più sorgenti, eseguono delle elaborazioni ed aggiornano una singola tabella di destinazione. Qualora si si presenti la necessità di aggiornare più tabelle di database, si crea una trasformazione per ogni tabella e tramite un progetto job si accorpano le singole trasformazioni per darne un senso sequenziale di esecuzione. Il job viene realizzato in maniera simile a un progetto trasformazione, solo che i componenti in questo caso hanno funzioni più generali, come ad esempio lo scheduling. In sostanza, occorre prima creare una serie di trasformazioni che vanno ad aggiornare le tabelle interessate, ed in seguito si dovrà integrare il tutto creando un job che manderà in esecuzione le trasformazioni in questione in modo sequenziale. Le opzioni di schedulazione del job appena creato vengono gestite direttamente in Kettle, senza richiedere un intervento dell'utente sulla piattaforma (ovviamente il job, una volta salvato, sarà presente e rintracciabile nel Solution Repository). 55

60 Mattia Camporesi Illustrazione 2.18: Creazione di un job in Kettle Funzionalità e informazioni aggiuntive La versione base di Pentaho, oltre alle funzionalità citate pocanzi, prevede anche: il supporto al GIS, basato sull'integrazione con Google Maps; un motore di Workflow; un'attività di Data Mining, supportata dall'applicativo Weka. Questa però è l'offerta della versione base, ovvero quella che è possibile scaricare gratuitamente da Internet. Pentaho infatti prevede anche una versione Enterprise, la cui offerta ovviamente è molto più articolata: supporto tecnico diretto; repository su database RBDMS, oltre che su directory di sistema; sottoscrizione alle Action Sequence: gli utenti possono schedulare le Action Sequence così da eseguirle a intervalli di tempo prestabiliti; possibilità di testare le Action Sequence in un ambiente di prova; report sulle performance di Pentaho BI e sull'utilizzo da parte degli utenti, particolarmente utili agli amministratori del sistema; 56

61 Le piattaforme Open Source per la Business Intelligence vincoli sulle sottoscrizioni delle Action Sequence; Single Sign-On con l'autenticazione a livello di Sistema Operativo usando LDAP, Kerberos o Active Directory; cancellazione dei contenuti obsoleti nelle varie Repository; Clustering di certi tipi di Action Sequence come i Report. Particolarmente interessante risulta il Single Sign-On (autenticazione unica), ovvero un sistema specializzato che permette ad un utente di autenticarsi una sola volta e di accedere a tutte le risorse informatiche alle quali è abilitato. Gli obiettivi di tale approccio sono i seguenti: semplificare la gestione delle password: maggiore è il numero delle password da gestire, maggiore è la possibilità che saranno utilizzate password simili le une alle altre e facili da memorizzare, abbassando così il livello di sicurezza; semplificare la gestione degli accessi ai vari servizi; semplificare la definizione e la gestione delle politiche di sicurezza. Su Pentaho, il Single Sign-On con l'autenticazione a livello di sistema operativo, viene principalmente ottenuto utilizzando la tecnologia CAS. Il CAS (Central Authentication Service) è un servizio Single Sign-On libero (originariamente sviluppato dall'università di Yale) che permette alle applicazioni web la possibilità di rinviare tutte le autenticazioni a un server centrale o a più server di fiducia. Quando gli utenti tentano di effettuare il login o quando richiedono una risorsa che necessita di una autenticazione, essi sono ridiretti all'applicazione CAS, che, una volta verificato il successo del login, permette all'utente di accedere alla risorsa richiesta. C'è da notare che l'applicativo CAS fornisce all'applicazione alla quale l'utente sta cercando di effettuare l'autenticazione solo il nome dell'utente, e che è in grado di capire i ruoli e i privilegi di cui tale utente gode all'interno dell'applicazione in questione. Una volta verificati tali privilegi, il CAS concede o meno il via libera all'utente [SSO08]. Andiamo adesso a vedere che tipo di documentazione e di supporto tecnico Pentaho mette a disposizione dei suoi utenti. La manualistica si può facilmente trovare in una particolare sezione del sito ufficiale della piattaforma [PEN08], in particolare nella sezione Wiki del menù a tendina Community. Qui si possono trovare una grande quantità di documenti che guidano l'utente sia nell'installazione sia nell'utilizzo delle varie componenti del progetto. Perdersi in questa grande quantità di informazioni 57

62 Mattia Camporesi e manuali è molto facile, occorre quindi prestare bene attenzione al reperimento delle nozioni, scegliendo quelle più coerenti al proprio livello di esperienza. Esterno a questa sezione, ma fondamentale per cominciare a ragionare in termini di Solution, è il manuale Creating Pentaho Solutions che si può facilmente reperire attraverso una ricerca in Internet. Nella sezione demo è possibile trovare delle animazioni che agevolano di molto il compito di un utente inesperto. Ovviamente esiste anche un forum dedicato alla piattaforma che può essere trovato all'interno della sezione Community del sito ufficiale di Pentaho. Lì sono raccolti una serie di strumenti molto utili, quali il forum ufficiale, la newsletter, le FAQ, i vari download, una serie di utili articoli e soprattutto la sezione Wiki, un vero e proprio contenitore di documenti che aiutano l'utente per quanto riguarda molti aspetti dell'utilizzo e installazione della piattaforma. Inoltre è di recentissima creazione una sezione del forum in italiano. Per quanto riguarda il supporto tecnico, Pentaho fornisce una serie di servizi a pagamento. Ultimamente la Studio Synthesis, la casa produttrice della piattaforma, ha fatto molti investimenti in Europa, creando un Centro di Supporto ubicato in UK e punti di riferimento in Germania e Francia. L'obiettivo è quello di fornire un supporto tecnico, una assistenza e un coordinamento di spessore e in tempi brevi, che garantisca il proseguire dell'espansione del mondo Pentaho nel vecchio continente. Per richiedere supporto basta collegarsi al sito ufficiale ed andare nella sezione Support del menù Service, dove, dopo aver compilato un piccolo form, si viene messi in contatto direttamente con la sezione di supporto tecnico più vicina. 2.3 JasperSoft JasperSoft [JAS08] è una software house californiana, con sede a San Francisco, specializzata nella Open Source Business Intelligence. Questo marchio è uno dei più noti del settore, basti pensare che ad oggi sono state scaricate dal sito di riferimento più di sette milioni di copie e che più di dieci mila aziende nel mondo utilizzano questo pacchetto. JasperSoft mette a disposizione tre differenti versioni del prodotto, una totalmente Open Source e soggetta alla licenza GNU GPL, chiamata Community Edition, una versione a pagamento, chiamata Professional Edition, su cui invece vige il divieto di redistribuzione e un'altra versione, chiamata Professional OEM, che offre oltre alle funzionalità aggiuntive della versione proprietaria, anche la possibilità della 58

63 Le piattaforme Open Source per la Business Intelligence redistribuzione. La suite per la Business Intelligence che JasperSoft offre in modalità Open Source (Community Edition) è articolata nel modo seguente: JasperReport e ireport (Reportistica); JasperAnalysis (Analisi OLAP); JasperETL (Software di ETL); JasperServer (la Piattaforma di Business Intelligence). Come si può notare, la componente fondamentale del pacchetto è JasperServer, ovvero la piattaforma vera e propria che supporta le altre componenti della suite, dalla quale sarà possibile importare, mandare in esecuzione e catalogare i vari documenti analitici, gestirne i permessi e i ruoli, definire lo scheduling e la gestione delle risorse. Inoltre JasperServer permette di definire e creare le connessioni con le fonti dati che verranno poi utilizzate per le esecuzioni delle applicazioni di Business Intelligence. A fianco di questa applicazione, troviamo gli strumenti che il pacchetto offre per soddisfare le esigenze analitiche più rilevanti della Business Intelligence, ovvero la creazione di Report, la navigazione dei dati attraverso l'analisi OLAP e la gestione delle procedure ETL (processo di estrazione, trasformazione e caricamento dei dati). Attraverso questi moduli, che sono utilizzabili in maniera indipendente dalla piattaforma vera e propria, l'utente potrà creare i propri documenti analitici, che saranno poi importati all'interno di JasperServer per una gestione globale del dominio applicativo in questione. La piattaforma è implementata con tecnologia JSP e viene supportata da Tomcat (o in alterntaiva JBoss) come Application Server. Di conseguenza la navigazione all'interno di JasperServer avviene attraverso un comune web browser. JasperServer 59

64 Mattia Camporesi dispone inoltre di due differenti Web Service per fruire delle potenzialità della suite, la cui comunicazione avverrà tramite messaggi SOAP (Simple Object Access Protocol), un protocollo leggero per lo scambio di messaggi tra componenti software. Il primo è il Repository Web Service, che avrà il compito di gestire le varie connessioni ai data source e permettere l'esecuzione dei vari documenti analitici, mentre il secondo è il Scheduling Web Service, che si occuperà invece della programmazione e gestione delle varie operazioni Architettura L'architettura di JasperSoft è caratterizzata da tre livelli fondamentali: livello dei dati; livello analitico; livello di presentazione. Il livello dei dati è caratterizzato dalla presenza di tutte le sorgenti di informazioni che andranno ad alimentare l'intera piattaforma e che forniranno supporto ai motori analitici (JasperReport, JasperAnalysis etc.) durante le varie computazioni. Attraverso lo strumento JasperETL, sarà possibile filtrare, riordinare e soprattutto rendere consistente la grande quantità di informazioni che generalmente un'azienda possiede e fornire quindi una base di dati globale, su cui appoggiarsi, a tutta la piattaforma. Sopra il livello dei dati troviamo il livello analitico, ovvero la componente più importante, il vero cuore funzionale di tutta l'architettura. In questo strato risiede il server delle piattaforma, che gestirà l'esecuzione di tutti i documenti analitici, le politiche di sicurezza, le funzioni di auditing e di scheduling. In questo livello troviamo anche i motori analitici che permetteranno l'esecuzione dei vari tipi di analisi. Generalmente infatti, un documento analitico viene creato e definito esternamente alla piattaforma, attraverso gli appositi strumenti che JasperSoft mette a disposizione e, in un secondo momento, importato dentro la piattaforma per l'esecuzione vera e propria. A questo punto, il documento analitico verrà associato dall'utente alla fonte dati desiderata e nel momento dell'esecuzione, verrà creata una connessione col data source in questione e questa verrà passata al motore analitico specificato. Se ad esempio si trattasse di un report, questa connessione verrebbe passata alla componente JasperReport che è inclusa nel Server di JasperSoft. 60

65 Le piattaforme Open Source per la Business Intelligence Al livello più alto sarà ovviamente presente il livello di presentazione, il quale avrà il compito di rendere fruibili, alle varie tipologie di utenti, i servizi di Business Intelligence (sono supportate praticamente tutte le tipologie di output più famose) Reportistica JasperSoft utilizza, come tool per la creazione e definizione di un report, lo strumento JasperReport, già ampiamente analizzato in precedenza. Come si può notare, questo prodotto appartiene alla famiglia Jasper ed è l'unico supportato dalla piattaforma, in quanto l'unica estensione accettata da JasperServer durante la procedura di importazione di un report è quella caratteristica di JasperReport, ovvero.jrxml. Questa, che a prima vista sembra una limitazione, in realtà non lo è, in quanto stiamo parlando senza ombra di dubbio del software open source più completo e famoso al mondo per quanto riguarda la creazione di report, di conseguenza la sua diffusione è pressochè totale. 61

66 Mattia Camporesi Come spiegato nel paragrafo 2.1.3, questo tool può funzionare in maniera assolutamente indipendente dalla piattaforma, nel senso che, una volta creato il report e definita la connessione col data source, questo potrà essere mandato in esecuzione direttamente da JasperReport, senza che l'output subisca modifiche di nessun tipo. Cosi facendo però, si perdono tutti i vantaggi che si avrebbero importando il report all'interno della piattaforma, in particolare: possibilità di esportazione del report nei fomati PDF,RTF,CSV ed EXEL; possibilità di pianificare una schedulazione delle esecuzioni, che potranno essere anche periodiche; possibilità di programmare un'esecuzione istantanea o futura; possibilità di ricevere una notifica di completamento dell'operazione via mail; possibilità di effettuare operazioni di auditing e gestione della visibilità del documento analitico; possibilità, una volta mandato in esecuzione il report, di visualizzarlo all'interno di una pagina Flash, che apporterà ovviamente grandi migliorie a livello di grafica e impatto visivo. possibilità di organizzare i vari report in cartelle ed effettuare un versionamento. La procedura di importazione, peraltro, è davvero molto semplice e lineare, adatta anche ad utenti alla prime armi. Una volta selezionata la cartella di destinazione all'interno di JasperServer, è sufficiente selezionare la voce JasperServer Report, che farà aprire un piccolo form da compilare. L'utente dovrà poi indicare la posizione del file.jrxml all'interno del file system locale e il data source (tra quelli già registrati all'interno della piattaforma) che dovrà essere utilizzato per l'esecuzione del report. Terminata questa semplice procedura, il report, pronto per l'esecuzione, verrà visualizzato nella cartella precedentemente selezionata. Nel momento in cui il report viene lanciato, il Repository Web Service di JasperSoft crea una connessione col data source selezionato e la passa alla componente JasperReport, che produrrà la visualizzazione del risultato [DAN07]. 62

67 Le piattaforme Open Source per la Business Intelligence Illustrazione 2.21: Esecuzione di un report all'interno di JasperServer Analisi OLAP L'analisi OLAP si basa sul binomio di applicativi Mondrian/Jpivot già analizzato in precedenza, che in questo contesto prende però il nome di JasperAnalysis. Segnaliamo però che nella versione Professional, questi due strumenti sono stati migliorati ed estesi, in quanto sono stati arricchiti da un potenziamento generale dell'interfaccia web e dalle possibilità di creare grafici interattivi. La definizione del file schema Mondrian rimane invece compito dello strumento Mondrian Schema Workbench, attraverso il quale è possibile creare in modo assistito il file.xml che definisce il cubo multidimensionale sul quale dovrà essere effettuata la navigazione OLAP. La procedura di creazione di una analisi anche in questo caso è molto semplice e, una volta scelta la cartella di destinazione, si articola nei seguenti passi: creazione di una OLAP Client Connection, dove si dovrà specificare sia il file schema Mondrian (il file.xml creato con Mondrian Schema Workbench) sia il data source che dovrà essere utilizzato durante l'esecuzione; 63

68 Mattia Camporesi creazione di una vista analitica, dove si dovrà specificare la connessione OLAP creata in precedenza e la query MDX (scritta a mano) che definirà il punto di vista sul cubo da cui partirà la navigazione interattiva. Una volta specificata la query MDX, sarà compito della componente Mondrian/Jpivot, inclusa dentro JasperServer, accedere ai dati, rendere disponibili i vari operatori OLAP e visualizzare i risultati della navigazione. Illustrazione 2.23: Esecuzione di un'analisi OLAP in JasperServer 64

69 Le piattaforme Open Source per la Business Intelligence ETL JasperSoft, per quanto riguarda le funzioni di ETL, si appoggia ad uno strumento esterno già peraltro analizzato in precedenza nel paragrafo 2.1.6, ovvero Talend Open Studio. Qualche anno fa infatti, JasperSoft e Talend hanno dato vita ad una collaborazione che ha portato alla nascita di JasperETL, una sorta di versione particolare di Talend Open Studio, adattata alla piattaforma in termini di grafica e logo, ma che nella sostanza e nelle potenzialità è del tutto simile al prodotto originale. Si tratta quindi di uno strumento esterno e assolutamente indipendente dalla piattaforma, attraverso il quale, una volta che è stato connesso al data source interessato, sarà possibile creare un'insieme di job, nei quali andranno trascinati i vari componenti in modo sequenziale, con lo scopo di effettuare una serie di operazioni di estrazione, trasformazione e caricamento dei dati. Una volta creati i job relativi all'aggiornamento di tutte le tabelle di cui è composto il Data Warehouse in questione, si potrà creare una procedura che esegue sequenzialmente questi job, in modo da mantenere aggiornata e consistente l'intera base di dati Funzionalità ed informazioni aggiuntive JasperSoft, oltre alle funzionalità classiche legate alla Business Intelligence, offre anche una serie di strumenti molto utili, soprattutto nell'ambito di un utilizzo aziendale, legati alla sicurezza e alle politiche di profilazione degli utenti. JasperSoft ha infatti integrato un Framework dedicato interamente alla sicurezza, che permetterà non solo di identificare gli utenti che accedono ai vari servizi di Business Intelligence attraverso una procedura di autenticazione, ma anche di definire una serie di ruoli e relativi privilegi sui vari documenti. Il Framework in questione è Acegi [ACE08], uno 65

70 Mattia Camporesi strumento Open Source portabile e configurabile che fornisce servizi di sicurezza per applicazioni J2EE che supporta, oltre a quelli standard, i seguenti metodi di autenticazione: Central Authentication Service (CAS); SiteMinder; Java Authentication and Authorization Service (JAAS). Il tutto si traduce in una serie di funzionalità legate alla sicurezza molto utili e, fatto non trascurabile, di rapido accesso e semplici da impostare ed utilizzare anche per un utente alle prime armi. In JasperServer sarà possibile infatti: creare una serie di ruoli caratterizzati da privilegi differenti; creare una serie di profili utente di diversa natura con relativa assegnazione differenziata di ruoli; assegnare ad ogni cartella o risorsa presente in JasperServer una serie di permessi e privilegi, in modo da limitarne la visione del dominio applicativo. Questa assegnazione può essere fatta o per ruolo o per tipologia di utente; monitorare l'esecuzione dei vari documenti analitici attraverso una funzione di auditing molto semplice da utilizzare. Illustrazione 2.25: Assegnazione di privilegi ai vari profili utente sulla cartella TPCD 66

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L. DATA WAREHOUSE Un Dataware House può essere definito come una base di dati di database. In molte aziende ad esempio ci potrebbero essere molti DB, per effettuare ricerche di diverso tipo, in funzione del

Dettagli

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,

Dettagli

DSCube. L analisi dei dati come strumento per i processi decisionali

DSCube. L analisi dei dati come strumento per i processi decisionali DSCube L analisi dei dati come strumento per i processi decisionali Analisi multi-dimensionale dei dati e reportistica per l azienda: DSCube Introduzione alla suite di programmi Analyzer Query Builder

Dettagli

Introduzione data warehose. Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa. Data Warehouse

Introduzione data warehose. Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa. Data Warehouse Introduzione data warehose Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa Data Warehouse Che cosa e un data warehouse? Quali sono i modelli dei dati per data warehouse Come si progetta

Dettagli

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita;

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita; .netbin. è un potentissimo strumento SVILUPPATO DA GIEMME INFORMATICA di analisi dei dati con esposizione dei dati in forma numerica e grafica con un interfaccia visuale di facile utilizzo, organizzata

Dettagli

La suite Pentaho Community Edition

La suite Pentaho Community Edition La suite Pentaho Community Edition GULCh 1 Cosa è la Business Intelligence Con la locuzione business intelligence (BI) ci si può solitamente riferire a: un insieme di processi aziendali per raccogliere

Dettagli

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

RRF Reply Reporting Framework

RRF Reply Reporting Framework RRF Reply Reporting Framework Introduzione L incremento dei servizi erogati nel campo delle telecomunicazioni implica la necessità di effettuare analisi short-term e long-term finalizzate a tenere sotto

Dettagli

SOLUZIONE Web.Orders online

SOLUZIONE Web.Orders online SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo

Dettagli

Requisiti della Business Intelligence

Requisiti della Business Intelligence Realizzazione di un sistema informatico on-line bilingue di gestione, monitoraggio, rendicontazione e controllo del Programma di Cooperazione Transfrontaliera Italia - Francia Marittimo finanziato dal

Dettagli

WorkFLow (Gestione del flusso pratiche)

WorkFLow (Gestione del flusso pratiche) WorkFLow (Gestione del flusso pratiche) Il workflow è l'automazione di una parte o dell'intero processo aziendale dove documenti, informazioni e compiti vengono passati da un partecipante ad un altro al

Dettagli

Data warehouse Introduzione

Data warehouse Introduzione Database and data mining group, Data warehouse Introduzione INTRODUZIONE - 1 Pag. 1 Database and data mining group, Supporto alle decisioni aziendali La maggior parte delle aziende dispone di enormi basi

Dettagli

REALIZZARE UN MODELLO DI IMPRESA

REALIZZARE UN MODELLO DI IMPRESA REALIZZARE UN MODELLO DI IMPRESA - organizzare e gestire l insieme delle attività, utilizzando una piattaforma per la gestione aziendale: integrata, completa, flessibile, coerente e con un grado di complessità

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

OmniAccessSuite. Plug-Ins. Ver. 1.3

OmniAccessSuite. Plug-Ins. Ver. 1.3 OmniAccessSuite Plug-Ins Ver. 1.3 Descrizione Prodotto e Plug-Ins OmniAccessSuite OmniAccessSuite rappresenta la soluzione innovativa e modulare per il controllo degli accessi. Il prodotto, sviluppato

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

lem logic enterprise manager

lem logic enterprise manager logic enterprise manager lem lem Logic Enterprise Manager Grazie all esperienza decennale in sistemi gestionali, Logic offre una soluzione modulare altamente configurabile pensata per la gestione delle

Dettagli

L a p i p at a taf a or o ma a p e p r e ga g r a an a t n ire e l ef e fici c en e za za e n e e n r e ge g t e ica Powered By

L a p i p at a taf a or o ma a p e p r e ga g r a an a t n ire e l ef e fici c en e za za e n e e n r e ge g t e ica Powered By La piattaforma per garantire l efficienza energetica Powered By L efficienza energetica come nuovo punto di forza Secondo la norma ISO EN 50001, l efficienza energetica rappresenta il modo per ottimizzare

Dettagli

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8 Ogni organizzazione possiede un sistema di regole che la caratterizzano e che ne assicurano il funzionamento. Le regole sono l insieme coordinato delle norme che stabiliscono come deve o dovrebbe funzionare

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Addition X DataNet S.r.l. www.xdatanet.com www.xdatanet.com

Addition X DataNet S.r.l. www.xdatanet.com www.xdatanet.com Addition è un applicativo Web che sfrutta le potenzialità offerte da IBM Lotus Domino per gestire documenti e processi aziendali in modo collaborativo, integrato e sicuro. www.xdatanet.com Personalizzazione,

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Data Warehousing (DW)

Data Warehousing (DW) Data Warehousing (DW) Il Data Warehousing è un processo per estrarre e integrare dati storici da sistemi transazionali (OLTP) diversi e disomogenei, e da usare come supporto al sistema di decisione aziendale

Dettagli

Business Intelligence. strumento per gli Open Data

Business Intelligence. strumento per gli Open Data Business Intelligence strumento per gli Open Data Progetti di innovazione Progetti di innovazione negli Enti Locali Perchè? Forte cultura dell'adempimento Minore sensibilità per la verifica dei servizi

Dettagli

HR - Sicurezza. Parma 17/12/2015

HR - Sicurezza. Parma 17/12/2015 HR - Sicurezza Parma 17/12/2015 FG Software Produce software gestionale da più di 10 anni Opera nel mondo del software qualità da 15 anni Sviluppa i propri software con un motore completamente proprietario

Dettagli

IBM Software Demos The Front-End to SOA

IBM Software Demos The Front-End to SOA Oggi, imprese piccole e grandi utilizzano software basato sull'architettura SOA (Service-Oriented Architecture), per promuovere l'innovazione, ottimizzare i processi aziendali e migliorare l'efficienza.

Dettagli

Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015]

Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Realizzato e distribuito da LeggeraSoft Sommario Premessa... 2 Fase di Login... 2 Menù principale... 2 Anagrafica clienti...

Dettagli

Attività federale di marketing

Attività federale di marketing Attività federale di marketing Gestione e certificazione delle sponsorizzazioni Il Feedback Web Nel piano di sviluppo della propria attività di marketing, la FIS ha adottato il sistema Feedback Web realizzato

Dettagli

DATA WAREHOUSING CON JASPERSOFT BI SUITE

DATA WAREHOUSING CON JASPERSOFT BI SUITE UNIVERSITÁ DEGLI STUDI DI MODENA E REGGIO EMILIA Dipartimento di Ingegneria di Enzo Ferrari Corso di Laurea Magistrale in Ingegneria Informatica (270/04) DATA WAREHOUSING CON JASPERSOFT BI SUITE Relatore

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

Analisi funzionale della Business Intelligence

Analisi funzionale della Business Intelligence Realizzazione di un sistema informatico on-line bilingue di gestione, monitoraggio, rendicontazione e controllo del Programma di Cooperazione Transfrontaliera Italia - Francia Marittimo finanziato dal

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

IL CASO DELL AZIENDA. Perché SAP. www.softwarebusiness.it

IL CASO DELL AZIENDA. Perché SAP. www.softwarebusiness.it LA SOLUZIONE SAP FOR PROFESSIONAL SERVICES IL CASO DELL AZIENDA Perché SAP Grazie a SAP siamo riusciti a pianificare meglio e ad ottenere tempestive informazioni su tempi e costi delle nostre commesse.

Dettagli

Scenario di Progettazione

Scenario di Progettazione Appunti del 3 Ottobre 2008 Prof. Mario Bochicchio SCENARIO DI PROGETTAZIONE Scenario di Progettazione Il Committente mette a disposizione delle risorse e propone dei documenti che solitamente rappresentano

Dettagli

Dematerializzare per Semplificare

Dematerializzare per Semplificare 1 Dematerializzare per Semplificare Dematerializzare non significa solamente il passaggio dalla carta al digitale. La semplificazione si ottiene solo con una profonda comprensione della complessità dei

Dettagli

CONTENT MANAGEMENT SYSTEM

CONTENT MANAGEMENT SYSTEM CONTENT MANAGEMENT SYSTEM P-2 PARLARE IN MULTICANALE Creare un portale complesso e ricco di informazioni continuamente aggiornate, disponibile su più canali (web, mobile, iphone, ipad) richiede competenze

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati Affidabilità nel servizio precisione negli strumenti Chanda LPR Chanda LPR è una piattaforma

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Retail L organizzazione innovativa del tuo punto vendita

Retail L organizzazione innovativa del tuo punto vendita fare Retail L organizzazione innovativa del tuo punto vendita fareretail è una soluzione di by www.fareretail.it fareretail fareretail è la soluzione definitiva per la Gestione dei Clienti e l Organizzazione

Dettagli

OLAP Evolus Suite. Analsysis and Reporting per tutte le Imprese

OLAP Evolus Suite. Analsysis and Reporting per tutte le Imprese Analsysis and Reporting per tutte le Imprese Di cosa si tratta INTRODUZIONE 3 OLAP EVOLUS 4 OLAP BUILDER 5 CONSOLE BUILDER 6 Fattori chiave Soluzione Plug&Play Analisi Predefinite Point & Click Personalizzabile

Dettagli

Software per la pianificazione finanziaria

Software per la pianificazione finanziaria Software per la pianificazione finanziaria FUNZIONALITÀ Specifiche Tecniche di Professional Planner È la soluzione di budgeting e pianificazione per aziende di tutte le dimensioni, indipendentemente dal

Dettagli

COSTI E CONSUMI SOTTO CONTROLLO

COSTI E CONSUMI SOTTO CONTROLLO Energia Elettrica Traffico Telefonico Carburanti Gas COSTI E CONSUMI SOTTO CONTROLLO COME NASCE ELETTRAWEB è un programma interamente progettato e implementato da Uno Informatica in grado di acquisire

Dettagli

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

DATAMORFOSI. E la sintesi della strategia di prodotto di Webgate400.

DATAMORFOSI. E la sintesi della strategia di prodotto di Webgate400. DATAMORFOSI E la sintesi della strategia di prodotto di Webgate400. Indica tutte le trasformazioni di forma e di struttura che si possono applicare alle soluzioni software RPG per IBM Power System, attraverso

Dettagli

Ciclo di vita dimensionale

Ciclo di vita dimensionale aprile 2012 1 Il ciclo di vita dimensionale Business Dimensional Lifecycle, chiamato anche Kimball Lifecycle descrive il framework complessivo che lega le diverse attività dello sviluppo di un sistema

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

EasyMACHINERY ERPGestionaleCRM. partner

EasyMACHINERY ERPGestionaleCRM. partner ERPGestionaleCRM partner La soluzione software per le aziende di produzione di macchine Abbiamo trovato un software e un partner che conoscono e integrano le particolarità del nostro settore. Questo ci

Dettagli

Business Intelligence CRM

Business Intelligence CRM Business Intelligence CRM CRM! Customer relationship management:! L acronimo CRM (customer relationship management) significa letteralmente gestione della relazione con il cliente ;! la strategia e il

Dettagli

È evidente dunque l'abbattimento dei costi che le soluzioni ASP permettono in quanto:

È evidente dunque l'abbattimento dei costi che le soluzioni ASP permettono in quanto: Sitea Easy Events Il software gestionale per organizzare eventi fieristici Sitea Information Technology presenta Sitea Easy Events, il software gestionale studiato per ottimizzare il processo di organizzazione

Dettagli

Progettazione della componente applicativa

Progettazione della componente applicativa 7 Progettazione della componente applicativa In questo capitolo illustreremo la progettazione della componente applicativa di un sistema informativo. La metodologia da noi utilizzata sarà basata sull utilizzo

Dettagli

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili Il servizio di registrazione contabile che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili Chi siamo Imprese giovani e dinamiche ITCluster nasce a Torino

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

L ergonomia dei sistemi informativi

L ergonomia dei sistemi informativi Strumenti non convenzionali per l evoluzione d Impresa: L ergonomia dei sistemi informativi di Pier Alberto Guidotti 1 L ergonomia dei sistemi informativi CHI SONO Pier Alberto Guidotti Fondatore e direttore

Dettagli

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Il raggruppamento e la struttura dei dati sono due funzioni di gestione dati di Excel, molto simili tra

Dettagli

Anagrafica. Check-List. Autocomposizione guidata

Anagrafica. Check-List. Autocomposizione guidata L elaborazione del bilancio delle aziende nell attività di uno studio comporta una serie di attività complesse e ripetitive nel tempo, manipolando dati di provenienza esterna, elaborando dei modelli frutto

Dettagli

InfoTecna ITCube Web

InfoTecna ITCube Web InfoTecna ITCubeWeb ITCubeWeb è un software avanzato per la consultazione tramite interfaccia Web di dati analitici organizzati in forma multidimensionale. L analisi multidimensionale è il sistema più

Dettagli

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova RIFERIMENTI ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 I riferimenti devono essere precisi

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

ascoltare ispirare e motivare miglioramento problem solving Flex360 pianificare comunicare la vision organizzare

ascoltare ispirare e motivare miglioramento problem solving Flex360 pianificare comunicare la vision organizzare Flex360 La valutazione delle competenze online comunicare la vision ascoltare problem solving favorire il cambiamento proattività pianificare miglioramento organizzare ispirare e motivare Cos è Flex360

Dettagli

Sfrutta appieno le potenzialità del software SAP in modo semplice e rapido

Sfrutta appieno le potenzialità del software SAP in modo semplice e rapido Starter Package è una versione realizzata su misura per le Piccole Imprese, che garantisce una implementazione più rapida ad un prezzo ridotto. E ideale per le aziende che cercano ben più di un semplice

Dettagli

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio Documento Tecnico Light CRM Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 11 Luglio 2006. Redatto da: Michela Michielan, michielan@prosa.com Revisionato

Dettagli

Dematerializzare per Semplificare

Dematerializzare per Semplificare 1 Dematerializzare per Semplificare Dematerializzare non significa solamente il passaggio dalla carta al digitale. La semplificazione si ottiene solo con una profonda comprensione della complessità dei

Dettagli

Manuale Utente. Programma di Sviluppo Rurale 2007 2013. Compilazione del Business Plan ridotto. Versione A

Manuale Utente. Programma di Sviluppo Rurale 2007 2013. Compilazione del Business Plan ridotto. Versione A Manuale Utente Programma di Sviluppo Rurale 2007 2013 Compilazione del Business Plan ridotto Versione A Indice Indice... 2 Indice delle figure... 3 1 Storia del documento... 4 2 Introduzione... 5 2.1 Scopo

Dettagli

Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET.

Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET. Nome soluzione Ruven S.r.l. Settore: Cosmetica Descrizione Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET. MediaFile

Dettagli

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software Volume GESTFLORA Gestione aziende agricole e floricole Guidaall uso del software GESTIONE AZIENDE AGRICOLE E FLORICOLE Guida all uso del software GestFlora Ver. 2.00 Inter-Ware Srl Viadegli Innocenti,

Dettagli

Data Mining a.a. 2010-2011

Data Mining a.a. 2010-2011 Data Mining a.a. 2010-2011 Docente: mario.guarracino@cnr.it tel. 081 6139519 http://www.na.icar.cnr.it/~mariog Informazioni logistiche Orario delle lezioni A partire dall 19.10.2010, Martedì h: 09.50 16.00

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

WebBi S.r.l offre consulenza e soluzioni per le seguenti aree: Data Warehousing. Business Intelligence. Disegno di architetture integrate

WebBi S.r.l offre consulenza e soluzioni per le seguenti aree: Data Warehousing. Business Intelligence. Disegno di architetture integrate Migliorare l organizzazione per migliorare la qualità delle decisioni. Migliorare la qualità dei collaboratori per migliorare il servizio alla clientela. WebBi S.r.l offre consulenza e soluzioni per le

Dettagli

Sistemi Informativi e Sistemi ERP

Sistemi Informativi e Sistemi ERP Sistemi Informativi e Sistemi Trasformare i dati in conoscenza per supportare le decisioni CAPODAGLIO E ASSOCIATI 1 I SISTEMI INFORMATIVI LI - E IMPRESA SISTEMA DI OPERAZIONI ECONOMICHE SVOLTE DA UN DATO

Dettagli

Indice. pagina 2 di 10

Indice. pagina 2 di 10 LEZIONE PROGETTAZIONE ORGANIZZATIVA DOTT.SSA ROSAMARIA D AMORE Indice PROGETTAZIONE ORGANIZZATIVA---------------------------------------------------------------------------------------- 3 LA STRUTTURA

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

Nuova funzione di ricerca del sito WIKA.

Nuova funzione di ricerca del sito WIKA. Nuova funzione di ricerca del sito WIKA. Il sito WIKA dispone ora di una funzione di ricerca completamente riprogettata. Essa è uno strumento particolarmente importante in quanto deve fornire al navigatore

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

I SISTEMI DI PERFORMANCE MANAGEMENT

I SISTEMI DI PERFORMANCE MANAGEMENT http://www.sinedi.com ARTICOLO 8 GENNAIO 2007 I SISTEMI DI PERFORMANCE MANAGEMENT In uno scenario caratterizzato da una crescente competitività internazionale si avverte sempre di più la necessità di una

Dettagli

Innovation Technology

Innovation Technology Innovation Technology Una naturale passione per Un partner tecnologico che lavora a fianco dei propri clienti per studiare nuove soluzioni e migliorare l integrazione di quelle esistenti. l innovazione.

Dettagli

Professional Planner 2011

Professional Planner 2011 Professional Planner 2011 Planning Reporting Analysis Data connection Professional Planner è la soluzione di budgeting e pianificazione per aziende di tutte le dimensioni, indipendentemente dal loro settore

Dettagli

Professional Planner 2008

Professional Planner 2008 Professional Planner 2008 Planning Reporting Analysis Consolidation Data connection Professional Planner è la soluzione di budgeting e pianificazione per aziende di tutte le dimensioni, indipendentemente

Dettagli

INDICAZIONI GENERALI

INDICAZIONI GENERALI INDICAZIONI GENERALI PER LA VALUTAZIONE, L ACQUISTO O LA REALIZZAZIONE IN PROPRIO DI SOFTWARE GESTIONALI PER LE SOCIETA DI RICERCA E SELEZIONE DEL PERSONALE, LE SOCIETA DI RICERCA DIRETTA E LE DIREZIONI

Dettagli

CAPITOLO CAPIT Tecnologie dell ecnologie dell info inf rmazione e controllo

CAPITOLO CAPIT Tecnologie dell ecnologie dell info inf rmazione e controllo CAPITOLO 8 Tecnologie dell informazione e controllo Agenda Evoluzione dell IT IT, processo decisionale e controllo Sistemi di supporto al processo decisionale Sistemi di controllo a feedback IT e coordinamento

Dettagli

Quel che ogni azienda deve sapere sul finanziamento*

Quel che ogni azienda deve sapere sul finanziamento* Quel che ogni azienda deve sapere sul finanziamento* *ma senza le note scritte in piccolo Allineare gli investimenti tecnologici con le esigenze in evoluzione dell attività Il finanziamento è una strategia

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata. Sommario A cosa serve InfoWEB?... 3 Quali informazioni posso comunicare o ricevere?... 3 Cosa significa visualizzare le informazioni in maniera differenziata in base al livello dell utente?... 4 Cosa significa

Dettagli

http://www.ilveliero.info veliero@samnet.it Il nuovo browser italiano dedicato alla navigazione e comunicazione sicura in internet per bambini

http://www.ilveliero.info veliero@samnet.it Il nuovo browser italiano dedicato alla navigazione e comunicazione sicura in internet per bambini http://www.ilveliero.info veliero@samnet.it Il nuovo browser italiano dedicato alla navigazione e comunicazione sicura in internet per bambini versione scuola SAM Via di Castro Pretorio, 30 00185 ROMA

Dettagli

La tecnologia cloud computing a supporto della gestione delle risorse umane

La tecnologia cloud computing a supporto della gestione delle risorse umane La tecnologia cloud computing a supporto della gestione delle risorse umane L importanza delle risorse umane per il successo delle strategie aziendali Il mondo delle imprese in questi ultimi anni sta rivolgendo

Dettagli

Business Intelligence

Business Intelligence Business Intelligence La business intelligence è l area dell informatica gestionale che si occupa di elaborare statistiche e report sui dati aziendali. Tra i principali settori aziendali interessati ci

Dettagli

SVILUPPO, CERTIFICAZIONE E MIGLIORAMENTO DEL SISTEMA DI GESTIONE PER LA SICUREZZA SECONDO LA NORMA BS OHSAS 18001:2007

SVILUPPO, CERTIFICAZIONE E MIGLIORAMENTO DEL SISTEMA DI GESTIONE PER LA SICUREZZA SECONDO LA NORMA BS OHSAS 18001:2007 Progettazione ed erogazione di servizi di consulenza e formazione M&IT Consulting s.r.l. Via Longhi 14/a 40128 Bologna tel. 051 6313773 - fax. 051 4154298 www.mitconsulting.it info@mitconsulting.it SVILUPPO,

Dettagli

AMMINISTRARE I PROCESSI

AMMINISTRARE I PROCESSI LE SOLUZIONI AXIOMA PER LE AZIENDE DI SERVIZI AMMINISTRARE I PROCESSI (ERP) Axioma Value Application Servizi Axioma, che dal 1979 offre prodotti software e servizi per le azienda italiane, presenta Axioma

Dettagli

Il modello di ottimizzazione SAM

Il modello di ottimizzazione SAM Il modello di ottimizzazione control, optimize, grow Il modello di ottimizzazione Il modello di ottimizzazione è allineato con il modello di ottimizzazione dell infrastruttura e fornisce un framework per

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli