Perchè SpagoBI su MySQL
SpagoBI Server nell'installazione di default utilizza un database interno, HSQLDB, per memorizzare le impostazioni degli utenti e dell'ambiente di lavoro. Se la soluzione di default è comoda per un ambiente di prova o una semplice installazione aziendale, nei casi di utilizzo più esigente della piattaforma è consigliabile passare direttamente a un database server SQL come ad esempio MySQL, Oracle, MS-SQL, eccetera. Per quanto riguarda i database dei dati da analizzare poi un database server SQL è praticamente indispensabile per analizzare i dati in maniera efficiente.
In questo tutorial si vedrà rapidamente come configurare SpagoBI su MySQL per la registrazione dei documenti/utenti e come aggiungere un datasource MySQL per analizzare i dati su un database MySQL. Cambiando il database delle configurazioni da HSQLDB a MySQL vengono cancellati i documenti registrati e gli utenti, per cui eventuali configurazioni dovranno essere reimportate per tornare a funzionare nel nuovo sistema.
Preparazione database MySQL
Il primo requisito è, ovviamente, un database MySQL correttamente funzionante, che può essere scaricato e installato dal sito http://www.mysql.com/downloads/mysql o con i classici strumenti di installazione per chi usa Linux.
Il secondo passaggio è scaricare gli script di connessione al database dal sito di SpagoBI (file mysql-dbscript-xyz.zip da http://forge.ow2.org/project/showfiles.php?group_id=204).
MySQL richiede una certo background tecnico e conoscenza dei database SQL, seppure si tratti di un database molto semplice da installare e usare. Per affinare le competenze si possono consultare i diversi tutorial in rete, in questa sede sarà solo trattato il caricamento di un nuovo database.
Per chi usa Windows è consigliabile installare gli strumenti MySQL Workbench scaricabili da http://www.mysql.com/downloads/workbench, grazie ai quali viene installato anche l'applicativo MySQL Query Browser.
Sempre nel caso di Windows si esegua il programma Start->Programmi->MySQL->MySQL Query Browser e fornire i dati di accesso username e password scelti in fase di installazione di MySQL Server. L'utente da usare è tipicamente root, se non si ha accesso al server controllare che il servizio server MySQL sia attivo e non ci siano firewall che impediscano il collegamento.

Ad accesso avvenuto create un nuovo database per SpagoBI digitando il seguente comando nell'area scrivibile dell'applicazione e premendo sul pulsante Execute.
create database spagobi character set utf8;

Viene così creato un nuovo database spagobi vuoto, il prossimo passaggio importante è di selezionarlo come database attivo per i prossimi comandi che andremo a digitare. A tal proposito premete F5 (Refresh) sulla lista a destra dei database, in modo che compaia anche il database spagobi. Cliccare due volte su spagobi in modo che il testo diventi grassetto a indicare che è il database scelto per i comandi.

Ora possiamo caricare gli script del database. Cliccare la voce di menu File -> Open Script.. e scegliete i file scaricati precedentemente. Il primo file da scegliere è MySQL_create.sql, fatto ciò il contenuto dovrebbe apparire in videata e premete il pulsante Execute per mandarlo in esecuzione. Ripetere l'operazione con i file MySQL_create_fk.sql e MySQL_create_quartz_schema.sql. Gli altri file contenuti nella cartella non sono necessari perchè servono ad altri scopi.
MySQL Query Browser è disponibile anche per il mondo Linux ma in questo caso viene spesso preferita l'opzione di caricamento da console. Qualsiasi strumento per MySQL si scelga di usare si tratta sempre di creare un nuovo database spagobi e caricare gli script, in ordine di esecuzione, MySQL_create.sql, MySQL_create_fk.sql e MySQL_create_quartz_schema.sql.
Configurazione SpagoBi per MySQL
Creato il database MySQL ora si tratta di collegare SpagoBI al nuovo database. Aprite, usando un editor di testo (es Notepad, vim, ecc), il file server.xml contenuto nella cartella <cartella SpagoBI>/apache-tomcat/conf e cercate il testo seguente
<Resource name="jdbc/spagobi" auth="Container"
type="javax.sql.DataSource" driverClassName="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:file:${catalina.base}/database/spagobi"
username="sa" password="" maxActive="20" maxIdle="10"
maxWait="-1"/>
Sostituitelo con:
<Resource name="jdbc/spagobi" auth="Container"
type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql//localhost/spagobi"
username="root" password="<PASSWORD> maxActive="20" maxIdle="10"
maxWait="-1""/>
Ovviamente al posto di <PASSWORD> mettete la password fornita in fase di installazione. In una installazione tipica è consigliabile usare un utente specifico che non sia root per accedere al database spagobi e con l'impiego di MySQL sono previste altre misure di sicurezza, ma si rimanda l'argomento all'ampia documentazione presente sui vari siti Internet.
Ora aprite il file jbpm.hibernate.cfg.xml contenuto nella cartella <cartella SpagoBI>/apache-tomcat/webapps/SpagoBI/WEB-INF/classes e modificate la stringa seguente:
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
con la seguente stringa:
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
Modificate anche il file spagobi.xml della cartella <cartella SpagoBI>/apache-tomcat/webapps/SpagoBI/WEB-INF/conf/config sostituendo la stringa:
<HIBERNATE-CFGFILE>hibernate.cfg.hsql.xml</HIBERNATE-CFGFILE>
con la seguente:
<HIBERNATE-CFGFILE>hibernate.cfg.mysql.xml</HIBERNATE-CFGFILE>
Un ulteriore passaggio consigliato, anche se non obbligatorio, è quello di aggiornare le librerie di connessione a MySQL che nell'installazione di default di SpagoBI potrebbero essere non molto recenti. A tal proposito scaricate le librerie Connector/J dal sito http://www.mysql.com/downloads/connector/j, scomprimete l'archivio ZIP (o tar.gz) e copiate il file mysql-connector-java-...-bin.jar nella cartella <cartella SpagoBI>/apache-tomcat/lib. Nella cartella apache-tomcat/lib dovrebbe essere già presente un file meno recente del tipo mysql-connector-java-3.1.13-bin.jar che può essere tranquillamente cancellato ora che avete copiato le nuove librerie mysql-connector.
Per ultimare il tutto avviate il server con il comando startup.bat (startu.sh su Linux) contenuto nella cartella <cartella SpagoBI>/apache-tomcat/bin. Ovviamente se il server era già attivo prima stoppatelo, in quanto non si possono avviare due istanze del server con l'installazione di default.
Se tutto va a buon fine sarà possibile accedere al server dall'indirizzo http://localhost:8080/SpagoBI, in caso contrario controllate i parametri di connessione al database username/password, la presenza delle librerie mysql-connector-...-bin.jar in apache-tomcat/lib, il blocco da parte di eventuali firewall/antivirus e che le stringhe sopra riportate siano scritte senza errori.

Post new comment