Nel mercato delle piattaforme di Business Intelligence open source i principali tre prodotti sono Pentaho, SpagoBI e JasperForge (versione open source di JasperSoft). In questo articolo si descriveranno i tre prodotti, effettuando una comparazione su fattori discriminanti di modo da arrivare a scegliere quello idoneo alla realizzazione di un DWH.
Dopo aver presentato nel complesso il mondo dei Data WareHouse, con questa seconda parteaffrontiamo un’analisi dei prodotti open source attualmente presenti sul mercato che si pongono a supporto della Business Intelligence.
Principali funzionalità supportate dai prodotti BI
Prima di entrare nello specifico di ciascun prodotto Business Intelligence è bene introdurre le principali funzionalità che questi tipicamente mettono a disposizione.
OLAP
I prodotti supportano principalmente la definizione delle funzionalità OLAP (On-Line Analytical Processing), insieme di tecniche software per l’analisi interattiva e veloce di grandi quantità di dati. Esistono tre tipologie di sistemi OLAP:
- MOLAP (Multidimensional OLAP)
- ROLAP (Relational OLAP)
- HOLAP (Hybrid OLAP)
Il MOLAP è la tipologia più usata e in genere, quando si usa solo il termine OLAP, ci si riferisce ad essa. Utilizza un database di riepilogo avente un motore specifico per l’analisi multidimensionale e crea le dimensioni con un misto di dettaglio e aggregazione.
Il ROLAP lavora direttamente coi sistemi relazionali; i dati e le tabelle delle dimensioni sono memorizzate come tabelle relazionali e nuove tabelle sono create per memorizzare le informazioni aggiuntive.
L’HOLAP utilizza tabelle relazionali per memorizzare i dati e le tabelle multidimensionali per le aggregazioni “speculative”.
ETL
Un’altra delle principali funzionalità supportate è la fase di ETL (Extract, Transform, Load) che si riferisce al processo di estrazione, trasformazione e caricamento dei dati in un sistema di sintesi. I dati vengono estratti da sistemi sorgenti quali database transazionali, comuni file di testo o da altri sistemi informatici (ad esempio, sistemi ERP o CRM). Subiscono quindi un processo di trasformazione, che consiste ad esempio nel
- selezionare solo quelli che sono di interesse per il sistema;
- normalizzare i dati (per esempio eliminando i duplicati);
- tradurre dati codificati;
- derivare nuovi dati calcolati;
- eseguire accoppiamenti (join) tra dati recuperati da differenti tabelle;
- raggruppare i dati.
Tale trasformazione ha lo scopo di consolidare i dati (cioè 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 tutto ciò viene sviluppato. I dati vengono infine memorizzati nelle tabelle del sistema di sintesi (load).
OLAP ed ETL sono solamente le due principali funzionalità: in realtà i prodotti BI in genere ne supportano anche altre, quali il reporting e il data mining.
I prodotti
Prma di confrontarli sulla base di specifici parametri, facciamo una presentazione dei diversi prodotti open source presi in considerazione: Pentaho, SpagoBI, JasperForge.
Pentaho
Pentaho [1] propone una soluzione migliore rispetto alle offerte commerciali in termini di caratteristiche, funzioni e benefici, tramite l’integrazione in un’unica piattaforma di popolari progetti open source come JFreeReport, Kettle, Mondrian e Weka.
Le tecnologie utilizzate sostengono un’ampia serie di operazioni legate al business quali analisi delle vendite e del profitto, analisi del cliente, HR reporting, Financial reporting, KPI dashboards, analisi della Supply Chain e segnalazioni operative.
La piattaforma Pentaho BI è diversa dai prodotti tradizionali di business intelligence. Al di là di considerazioni che riguardano l’architettura in senso generale, la principale novità risiede nel fatto che le strutture ROLAP di un progetto vengono portate nella memoria RAM in modo tale che queste possano essere gestite con prestazioni paragonabili ai moderni motori MOLAP. Si parla quindi di HOLAP per indicare un sistema ibrido (HO, Hybrid OLAP), sottolineato peraltro dallo stesso nome della società “Penta-ho”. Al giorno d’oggi questa possibilità è praticabile grazie ai più potenti elaboratori in commercio e ai sempre più ridotti costi delle memorie RAM.
Pentaho graficamente si presenta come mostrato in figura 1.
Figura 1 – Interfaccia utente di Pentaho.
SpagoBI
SpagoBI [2] è 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 (dashboard) in grado di monitorare gli indicatori significativi (KPI) in tempo reale o differito, l’interrogazione libera dei dati tramite uno strumento visuale (QbE).
SpagoBI 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) e inoltre ci si interfaccia con esso interamente via web; tale interfaccia web è compatibile con tutti i browser di ultima generazione. Anche per SpagoBI le diverse funzionalità sono attualmente garantite da diversi applicativi: Mondrian/JPivot (analisi OLAP); JasperReport/BIRT (report); OpenLaszlo (data mining); Talend Open Studio (ETL); Hibernate (QbE engine).
SpagoBI è sviluppato a componenti e realizza le singole funzionalità con moduli specifici; 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.
L’interfaccia grafica è mostrata in figura 2.
Figura 2 – Interfaccia utente SpagoBI.
JasperForge
JasperSoft [3] mette a disposizione tre differenti versioni del prodotto:
- una versione totalmente open source, soggetta alla licenza GNU GPL, chiamata Community Edition;
- una versione su cui invece vige il divieto di redistribuzione e che viene licenziata a pagamento, chiamata Professional Edition;
- un’altra versione, chiamata Professional OEM, che possiede le funzionalità aggiuntive della versione proprietaria, ma dà anche anche la possibilità della redistribuzione.
La suite per la Business Intelligence che JasperSoft offre in modalità open source (Community Edition) è denominata JasperForge [4] ed è articolata nel modo seguente:
- JasperReport e iReport (reportistica);
- JasperAnalysis (analisi OLAP);
- JasperETL (software di ETL);
- JasperServer (la piattaforma di Business Intelligence).
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.
L’interfaccia grafica è mostrata in figura 3.
Figura 3 – Interfaccia utente JasperSoft.
Confronto fra le piattaforme
L’analisi comparativa fra tre piattaforme di Business Intelligence è di per se’ un argomento complesso e delicato. Molti sono infatti i fattori da tenere in considerazione, come ad esempio l’architettura software, le prestazioni, la metodologia di sviluppo, il supporto tecnico, la risposta a quelli che possono essere i requisiti fondamentali di un buon prodotto di Business Intelligence. La cosa si complica ancor di più, dato che le tre piattaforme sono il risultato di una integrazione di altri software e che ogni valutazione comparativa andrebbe supportata da risultati oggettivi.
Nell’analisi svolta, sono stati presi in considerazione i seguenti parametri per la valutazione:
- facilità d’uso
- documentazione e supporto
- differenza tra versione open e business
- installazione e configurazione
- funzionalità ETL
- funzionalità OLAP
- funzionalità di report
- performance
- sicurezza
Vediamo schematicamente che cosa è emerso a riguardo, parametro per parametro.
Facilità d’uso
Pentaho
Pentaho ha un’interfaccia grafica piuttosto intuitiva e con maggiore evidenza della funzionalità. L’idea è quella di un’interfaccia software, in modo da dare la sensazione all’utente di utilizzare una applicazione a se’ stante piuttosto che una semplice navigazione mediante browser.
JasperForge
Interfaccia molto semplice in cui i vari documenti sono strutturati ad albero e facilmente visibili. Lacuna evidente è la mancata possibilità di creare dashboard, per cui si darà solo visibilità a report e analisi OLAP
SpagoBI
Spago BI ha un’interfaccia grafica poco intuitiva e difficilmente comprensibile. Le complicazioni sono anche dovute alla struttura con cui vengono presentati analisi/report: infatti il tutto è strutturato a documenti, laddove un documento può essere un qualunque tipo di oggetto (analisi, report, dahsboard, modello data mining…).
Documentazione e supporto
Pentaho
Il sito dispone di un wiki completo e aggiornato alle ultime versioni del prodotto; presenta inoltre un forum molto attivo e con risposte dettagliate su vari problemi. In rete sono disponibili anche diverse guide e libri dei componenti di Pentaho (anche a pagamento). Oltre alle informazioni ufficiali, è possibile individuare e risolvere problemi di configurazione anche da fonti non ufficiali.
JasperForge
JasperForge fornisce documentazione aggiornata e completa in tutte le sue funzionalità. Non dispone propriamente di un wiki ma, tramite alcune guide, vengono fornite informazioni equivalenti ad esso. Molto bene anche il forum, seppur con meno attività rispetto a Pentaho.
SpagoBI
Documentazione e risorse praticamente assenti e aggiornate a versioni precedenti del prodotto. Anche gli script per database di prova non sono aggiornati per alcuni DBMS diversi da MySQL (ad esempio, SQL Server).
Differenza tra versione open e business
Pentaho
Pentaho dispone di una versione business dotata di alcune funzionalità in più (clustering su più server, strumenti per Performance Monitoring, Lifecycle Management) e offre inoltre l’opportunità di ottenere a pagamento delle features ad hoc richieste dal cliente.
JasperForge
JasperForge dispone di due versioni a pagamento, oltre alla versione free. Le tre versioni sono Community, Professional e Enterprise. Nella versione free le funzionalità disponibili sono molto ridotte rispetto alla enterprise che forse rappresenta la suite più completa fra i prodotti esaminati. Però, essendo a pagamento, rientrerebbe tra i prodotti commerciali, per cui confrontabile con software non studiati nell’ambito gratuito e open source
SpagoBI
Non esiste nessuna versione a pagamento per cui la versione free è la più aggiornata e con tutte le funzionalità disponibili. Mediante pagamento, si possono ottenere un’assistenza immediata sul prodotto, consulenza e formazione
Installazione e configurazione
Non senza difficoltà, tra le tre procedure di installazione, è sembrata più lineare e meno complicata quella di Pentaho, anche grazie al supporto web e al minor numero di configurazioni rispetto a SpagoBI. Ma vediamo questo aspetto nei dettagli.
Pentaho
L’installazione di Pentaho è simile a SpagoBI (vedi sotto), ma per facilitare il tutto viene fornita una versione con Apache Tomcat 5.5 integrato molto più facile da configurare rispetto a un application server esterno al pacchetto di installazione. Tra la documentazione disponibile, è presente anche passo per passo l’installazione per ogni tipo di DBMS e application server. Nel caso di problemi, non si ha difficoltà nell’individuare in quale punto è stato causato l’errore, sempre grazie al materiale reperibile on line.
JasperForge
JasperForge prevede due strade per l’installazione: se si vuole utilizzare MySQL + Apache Tomcat, allora si può utilizzare l’eseguibile che dispone di un semplice wizard. Pertanto, nel caso si scelga questa configurazione di componenti, JasperForge rappresenta la miglior scelta. Se si vuole configurare con diverso abbinamento dei componenti elencati in precedenza, bisogna scaricarsi il codice sorgente, configurare DBMS o application server voluto, compilare il codice e utilizzare il risultato della compilazione: tutto ciò rappresenta una complicazione non da poco.
SpagoBI
L’installazione di SpagoBI consiste nella semplice estrazione del pacchetto base e nel copiare e incollare il WAR estratto nella relativa cartella dell’application server utilizzato. A seconda dell’application server (nel nostro caso Apache Tomcat), il war verrà deployato sul server. Dopo aver effettuato il deploy, sarà necessario configurare tutti i file e dopo di ciò, lanciare gli script per la definizione del DB e del suo contenuto. In caso di problemi durante l’installazione, è molto complesso capire in che punto si è commesso l’errore a causa della carente documentazione di installazione.
Funzionalità ETL
Per quanto riguarda la fase di ETL, il confronto si riduce a due piattaforme, poiche’ sia SpagoBI che JasperForge utilizzano una medesima versione, seppur leggermente adattata ai due prodotti, di Talend Open Studio, strumento presente sul mercato open source ETL. Il confronto, pertanto, risulta essere tra Pentaho Data Integration e Talend Open Studio: entrambi permettono di effettuare le più comuni operazioni nell’ambito dell’ETL. Il prodotto Talend ha più futuro, dato l’aumento di risorse all’interno del gruppo di sviluppo. Il fatto di essere più aperto e più orientato al mondo Java, crea un vantaggio rispetto a Pentaho. Di contro, Pentaho Data Integration è molto intuitivo e facile da usare. La conferma della facilità di utilizzo si nota immediatamente nel modo in cui vengono realizzati i processi di ETL e di trasformazione. In molti aspetti, è più veloce ed efficiente di Talend, non dovendo effettuare generazione di codice Java tutto il tempo. Aspetto negativo è che manca un repository integrato del progetto e un sistema di metadati indipendente. A livello di performance, non c’è un vero vincitore. Talend è veloce nell’effettuare operazioni di somme o lookup, mentre Pentaho è veloce nel trattamento delle SCD (Slowly Changing Dimension) o nella parallelizzazione di processi.
Funzionalità OLAP
Tra i tre prodotti non esistono differenze poiche’ tutti e tre si basano sull’OLAP engine Mondrian, seppur con piccole differenze per adattamenti al prodotto. Mondrian implementa le funzionalità indispensabili all’analisi dati (aggregazione, drill-down, drill-through, slicing, dicing) ed è in grado di eseguire query espresse in MDX leggendo i dati da un RDBMS e presentando i risultati in forma multidimensionale per mezzo di API Java. La connessione alla base di dati di Data Warehouse avviene via JDBC, il che rende indipendente Mondrian dal particolare RDBMS utilizzato. Lo schema multidimensionale della base dati può essere sia “star schema” che “snowflake schema” e la sua descrizione viene fornita al motore sotto forma di un file XML.
Funzionalità report
Pentaho
Il componente di Pentaho per realizzare report è Pentaho Report Designer, nato nel 2007. Pentaho Report Designer è il più giovane e a lungo termine sarà uno dei prodotti più competitivi sul mercato. I punti di forza di PRD sono svariati: i report non devono essere compilati per essere eseguiti; i Pentaho report sono in formato XML, e ciò li rende più controllabili; al suo interno contiene un Report Design Wizard, davvero utile per i principianti. Non mancano anche punti di debolezza: se i dati non arrivano nel report nel giusto modo, Pentaho non ha l’abilità di manipolare ulteriormente i dati; il processo di creazione un grafico richiede di fornire molti valori da inserire in grandi dialog box, rendendo possibile la creazione di molti tipi di grafici, ma senza consentire di customizzare il contenuto, il look e il comportamento del report; inoltre non c’è nessuna preview del grafico; va notato che diverse proprietà del report non possono essere parametrizzate e che non si possono creare grafici interattivi, in modo da effettuare drill-down su elementi del grafico.
I grafici di Pentaho non sono “nativi”: provengono dalla libreria JFreeCharts.
JasperForge
JasperForge può sfruttare ben due componenti per la reportistica JasperReport (punto di forza della suite dell’azienda californiana) e iReport. JasperReports, nato nel 2001, è uno strumento per la reportistica open source fatto in Java per produrre report a monitor, stamparli direttamente su qualche dispositivo o in formato PDF, Microsoft Excel, RTF, ODT e XML. JasperReport legge le istruzioni da un XML o da un file con estensione .jasper. iReport, invece, è un programma che permette di definire report ed è in grado di eseguire report su tutti i data source supportati dal motore di JasperReports. JasperReports è il più datato ma fornisce strumenti solidi, capace di creare ed eseguire i più tradizionali report del mondo reale. Tra i punti di forza di JasperReport possiamo ricordare: una miglior connettività a tutti i tipi di database; la possibilità di creare “newspaper layouts”, cioè impaginazione con colonne multiple, una accanto all’altro nella pagina (ne’ BIRT ne’ Pentaho possono farlo); un’ottima documentazione. Va ricordato poi che Jasper iReport e JasperServer includono molti database driver che gli sviluppatori di BIRT e Pentaho devono individuare e installare. Non mancano anche i punti di debolezza: iReport è disponibile solo come plugin di Netbeans e non come plugin di Eclipse, che rappresenta l’IDE maggiormente utilizzato; la formattazione condizionale risulta piuttosto complessa da gestire. Jasper richiede che i report debbano essere compilati: ciò significa che gli sviluppatori devono avere l’intero SDK installato e la compilazione aggiunge uno step extra al processo di deploy.
SpagoBI
SpagoBI utilizza al suo interno BIRT (Business Intelligence and Reporting Tools), plugin di Eclipse atto alla reportistica. Comprende due componenti principali: report designer basato su Eclipse e un componente runtime che si può aggiungere al proprio application server. Con BIRT è possibile definire liste, grafici, lettere, documenti e report compositi. BIRT, basandosi su Eclipse, è un ottimo ambiente di sviluppo di report. Nella creazione di report si basa su definizione di tabelle e griglie, rispetto a un posizionamento dell’elemento, come si farebbe con un software di grafica. Rispetto ai diretti concorrenti, un piccolo problema è rappresentato dalla non elevata presenza di grafici complessi che devono essere definiti manualmente.
Performance
Dal punto di vista delle prestazioni e del tempo necessario per l’elaborazione dei dati, trattandosi in tutti e tre i casi di soluzioni Java, le performance si equivalgono tra i diversi strumenti, per cui nessuno risulta essere superiore agli altri. Basandosi sullo stesso motore OLAP, le prestazioni sono pressocchè uguali.
Sicurezza
Da questo punto di vista, SpagoBI permette tutti i tipi di configurazione di sicurezza. Permette di gestire sia LDAP che SSO (mediante CAS). È uno dei punti di forza di SpagoBI e in questo ambito prevale rispetto ai competitor open source.
Nella versione free, Pentaho non ha supporto a LDAP, mentre SSO è implementabile tramite componenti esterni e non direttamente dalla suite di Pentaho. Su questo particolare punto, Pentaho risulta essere inferiore ai diretti concorrenti.
JasperForge utilizza Acegi Security, sottoprogetto di Spring che permette LDAP e SSO.
Conclusioni
In questo articolo sono state messe a confronto le caratteristiche di Pentaho, JasperForge e SpagoBI e le nostre esperienze sul campo ci hanno portato a preferire Pentaho perche’ meglio risponde nel complesso ai parametri di valutazione. Riassumendo, Pentaho viene scelto in base alle seguenti considerazioni:
- miglior supporto ai diversi application server presenti sul mercato;
- gestione testata e verificata su diversi DBMS;
- documentazione più completa su tutti i componenti rispetto agli altri prodotti;
- forum e wiki sempre aggiornati all’ultima versione;
- installazione e configurazione più semplice per un utente principiante;
- interfaccia grafica intuitiva e facilmente comprensibile;
- poca differenza con la versione business;
- prodotto in miglioramento continuo.
Pertanto, per motivi di sintesi e di chiarezza, nel prosieguo di questa serie di articoli si farà riferimento a questo prodotto come supporto tecnologico alla realizzazione di un DWH.
Nel prossimo articolo presenteremo un modello progettuale per la realizzazione di un Data WareHouse.
Riferimenti
[1] Pentaho, Open Source Business Intelligence
[2] SpagoBI
http://www.spagoworld.org/xwiki/bin/view/SpagoBI/
[3] JasperSoft, Business Itelligence Software
[4] JasperForge
Mirco Gamberini è nato a Faenza (RA) e si è laureato in Scienze dell‘Informazione presso la sede di Cesena dell‘Università di Bologna, con una tesi sulla valutazione di prodotti di Business Intelligence, in particolare su SQL Server Analysis Services. Da ottobre 2009 svolge, presso il gruppo Imola Informatica, l‘attività di sviluppatore software in ambiente Java.