Integrar Apache-Tomcat+BIRT+SQLite
julio 31, 2011 Dejar un comentario
Instalar lo necesario
Partimos de un Ubuntu Server 11.04 limpio, instalamos apache tomcat y samba:
#apt-get install tomcat6 tomcat6-admin samba samba-client smbfs smbclient
Configurar Apache-Tomcat
Una vez instalado,apache tomcat, modificamos los xml para poder acceder a la aplicación de administración así como para crear los usuario.
Acceder a la aplicación de administración, nos vamos al directorio
# cd /etc/tomcat6/
escribimos: #nano context.xml
En la etiqueta “Context” escribimos path=”/manager” privileged=”true”
docBase=”/usr/local/tomcat6/server/manager”
tiene que quedar así: 
Ya hemos dado acceso a la aplicación de administración, ahora tenemos que crear el usuario para la administración.
Escribimos: #nano tomcat-users.xml
Quitamos las líneas que comentan el bloque de roles y usuarios, y agregamos dos líneas
la primera:
<role rolename=”manager”/>
agregamos la segunda linea:
<user name=”mi_usuario” password=”mi_password” roles=”manager”/>
en mi caso he creado un usuario llamado frlx, por lo tanto escribí:
<user name=”frlx” password=”frlx” roles=”manager”/>
tiene que quedar así:
Reiniciamos tomcat, escribimos:
# /etc/init.d/tomcat6 restart
Ahora ya podremos acceder desde cualquier ordenador a la consola de administración, escribiendo la ip, y el puerto, en mi caso: 192.168.1.31:8080, ahora queda instalar BIRT
En la página que nos aparece por defecto, pinchamos sobre el link que dice “manager webapp”, nos pedirá el usuario y contraseña , escribimos la que hemos puesto anteriormente. Una vez logeados nos parecerá la consola de administración. 
Una vez logeados nos parecerá la consola de administración.

Instalar BIRT
Nos descargamos de la página de eclipse el runtime de BIRT
Descomprimimos el fichero zip con el runtime de BIRT, dentro de esa carpeta descomprimida, vamos a encontrar un fichero llamado birt.war.
Nos vamos a la consola de administración de tomcat, en la sección “Archivo war a desplegar”.
Damos al botón “Examinar”, y seleccionamos el fichero birt.war, una vez seleccionado, damos al botón desplegar y listo.
Para comprobar que BIRT esta desplegado en tomcat, hacemos click sobre /birt, luego sobre “View Example”, y tendrá que ejecutarse un informe de ejemplo que viene por defecto.
Bien ahora ya tenemos, desplegado BIRT en nuestro servidor de aplicaciones. Ahora queda realizar un par de pasos necesarios para poder trabajar cómodamente.
Configurar para trabajar con SQLite
En el servidor.
Vamos a crear tres directorios compartidos visibles desde nuestra red, uno será para dejar la base de datos , otro para dejar los informes y otro para dejar cosas que necesitaremos compartir.
Escribimos:
# mkdir /home/mi_usuario/compartido
cambiamos los permisos
#chmod 777 /home/mi_usuario/compartido
# mkdir /home/mi_usuario/dbSQLite
cambiamos los permisos
#chmod 777 /home/mi_usuario/dbSQLite
Ahora los compartimos, escribimos
# nano /etc/samba/smb.conf
Bajamos hasta el final y escribimos
[Compartido]
comment = Carpeta para intercambio de ficheros
path = /home/mi_usuario/compartido public = yes writable = yes
[DB]
comment = Carpeta que contiene la BD
path = /home/mi_usuario/dbSQLite public = yes writable = yes
[Informes]
comment = Carpeta que contiene los informes
path = /var/lib/tomcat6/webapps
public = yes
writable = yes
Guardamos los cambios, y listo, ya tenemos nuestros directorios compartidos.
Aunque ya tenemos BIRT desplegado y funcionando, tenemos que hacer una cosa más,
en el directorio compartido “Compartido”, copiamos la carpeta “WebViewerExample”, del runtime de BIRT, ahora en nuestra consola escribimos:
#cd /home/mi_usuario/compartido/
#mv -r WebViewerExample Birt
#cp -r ./Birt /var/lib/tomcat6/webapps/
Abrimos la consola de administración de tomcat, y paramos la aplicación web birt, aparecerá otra que se llamara Birt, que tendremos que desplegar, esa es la que nos servirá.
Ahora nos queda permitir escribir en la carpeta compartida en dónde se dejarán los informes, escribimos en consola:
# chmod 777 /var/lib/tomcat6/webapps/Birt
reiniciamos tomcat
# /etc/init.d/tomcat6 restart
Para comprobar que de verdad tenemos los directorios compartido abrimos firefox y escribimos:
smb://ip_servidor/
En mi caso escribí
el resultado tiene que ser algo así.
Ahora ya queda poco para terminar todo esto. Vamos a integrar los drivers de SQLite, para ello hacemos uso de la carpeta compartida que hemos llamado “Compartido”, nos descargamos los drivers de aquí , una vez descargados, presionamos la combinación alt+f2, y.
Escribimos smb://mi_servidor/compartido,
en mi caso escribí
copiamos el driver descargado en esa carpeta.
Ahora en nuestro servidor escribimos lo siguiente:
#cd /var/lib/tomcat6/webapps/Birt/WEB-INF/lib
una vez que estemos en ese directorio , escribimos.
# cp /home/mi_usuario/compartido/sqlitejdbc-v056.jar ./
hacemos un ls para ver si al final de la lista esta, esto sólo por despejar dudas.
Reiniciamos tomcat
# /etc/init.d/tomcat6 restart
Ahora vamos a copiar la base de datos. Para ello pulsamos alt+f2, y escribimos:
smb://mi_servidor/DB, en mi caso
en la ventana que se nos abrirá, copiamos nuestra base de datos SQLite.
Eso es todo, ahora cuando queramos subir un informe, hacemos lo siguiente.
alt+f2, escribimos
smb://mi_servidor/informes, en mi caso
y en la ventana que se abre pegamos el fichero .rptdesign
IMPORTANTE: antes de copiar el informe, tenemos que cambiar la url de la base de datos, como bien es sabido SQLite es una base de datos que no permite conexiones cliente, sólo permite conexiones locales, por lo que tenemos que cambiar lo siguiente:
<data-sources>
<oda-data-source extensionID=“org.eclipse.birt.report.data.oda.jdbc” name=“Data Source” id=“27″>
<text-property name=“displayName”></text-property>
<list-property name=“privateDriverProperties”>
<ex-property>
<name>contentBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
<ex-property>
<name>metadataBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
</list-property>
<property name=“odaDriverClass”>org.sqlite.JDBC</property>
<!–AQUI TENEMOS QUE DECIRLE DÓNDE SE ENCUENTRA NUESTRA BASE DE DATOS EN EL SERVIDOR–>
<!–EN NUESTRO CASO SERA jdbc:sqlite:/home/frlx/dbSQLite/ALMACEN.sqlite–>
<property name=“odaURL”>jdbc:sqlite:/home/mi_usuario/dbSQLite/mi_base_de_datos.sqlite</property>
</oda-data-source>
</data-sources>
Para ejecutarlo vamos a firefox y escribimos
http://192.168.1.31:8080/Birt/frameset?__report=mi_fichero.rptdesign
en mi caso tengo un informe que se llama testSqlite.rptdesign, entonces la url es
http://192.168.1.31:8080/Birt/frameset?__report=testSqlite.rptdesign
el resultado es este.

