BIRT

Birt es un proyecto de la fundación eclipse . En pocas palabras, es un framework de informes que permite crear fácilmente informes visuales (que incluyen gráficos, gráficos y tablas) desde cualquier fuente de datos compatible con Java (JDBC, por ejemplo).

Los informes BIRT se crean y se visualizan con Eclipse. El único inconveniente de esto es que todo el mundo que quiere ver un informe BIRT necesita el informe real en su PC más Eclipse instalado. Para evitar esto, BIRT tiene un visor que se puede ejecutar desde cualquier contenedor de Java EE como Tomcat o JBoss. Otra forma de visualizar los informes generados , es ejecutar el motor de Birt desde un web service, servicio REST, clase java... pero eso lo veremos otro día.

Instalación Java

La versión que tenemos que utilizar es la JDK 1.8 que se puede descargar de la página , aseguramos que en las variables del sistema establecemos las variables JAVA_HOME y PATH con la nueva instalación de la máquina virtual.

JAVA_HOME ="RUTA HASTA LA INSTALACION"
PATH = %PATH%;%JAVA_HOME%\bin

Instalación y configuración de Tomcat

Descargar de la página de Apache tomcat. Estas pruebas han sido realizadas con la versión bajada 8.5.13. El nombre del archivo exacto fue apache-tomcat-8.5.13.zip que contiene el servidor.
Descomprimimos en una carpeta y realizamos la configuración para dar permisos al usuario.
apache-tomcat-8.5.13\conf\tomcat-users.xml

añadir, por ejemplo:

<role rolename="admin"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="admin,manager"/>
<user  username="tomcat" password="tomcat" roles="admin, manager-gui,manager"/>

Para comprobar que arranca de manera correcta, introducimos la url http://localhost:8080/ (si hemos cambiado el puerto, lo cambiamos por el 8080), tendremos el mensaje.

org.apache.coyote.AbstractProtocol start
INFORMACIÓN: Starting ProtocolHandler ["http-apr-8080"]
org.apache.coyote.AbstractProtocol start
INFORMACIÓN: Starting ProtocolHandler ["ajp-apr-8009"]
org.apache.catalina.startup.Catalina start
INFORMACIÓN: Server startup in 17313 ms

Instalación Birt Viewer

BIRT Viewer puede ser descargado desde el paquete Birt Engine, en nuestro caso hemos descargado la versión 4.6.0-20160607 que corresponde con el archivo birt-runtime-4.6.0-20160607.zip. Una vez descargado , descomprimimos el zip y copiamos el directorio WebViewerExample directory a la ruta de despliegue de aplicaciones, webapps, de nuestro tomcat, podemos renombrarlo como queramos, por ejemplo, birt.

Recuerda dar permisos suficientes al directorio de birt para el usuario que ejecuta el tomcat, en caso que estemos en una máquina linux.

Reiniciamos el tomcat y podemos comprobar que BIRT está desplegado correctamente , si entramos en el Manager del tomcat http://localhost:8080/manager/html. Si está bien (running), podremos acceder al Birt Viewer con la url http://localhost:8080/birt , si no ha arrancado correctamente, visualizar los logs del tomcat para detectar el problema.

Una vez está desplegado, deberemos copiar los reports que hayamos realizado en la raiz del war (.../apache-tomcat-7.0.53/webapps/birt) , ubicación por defecto, y podremos acceder a ellos a través de la url http://localhost:8080/birt/frameset?__report=example_report.rptdesign .
Puede ocurrir que por organización querramos tener todos nuestros reports en un directorio aparte, u organizarlos en subcarpetas (.../apache-tomcat-7.0.53/webapps/birt/path_report/) , en ese caso, en la url, añadiremos esa carpeta a través de la que se podrá acceder http://localhost:8080/birt/frameset?__report=path_report/example_report.rptdesign

Habilitar el acceso a base de datos

Si nuestros reportes acceden a base de datos, deberemos instalar el driver JDBC en el war de Birt Viewer.

Una vez descargados , copiar el jar correspondiente a la base de datos que esté utilizando, mysql-connector-java-3.1.14-bin.jar o ojdbc6-11g.jar a BIRT en la ruta:
.../apache-tomcat-7.0.53/webapps/birt/WEB-INF/platform/plugin/org.eclipse.birt.report.data.oda.jdbc_2.6.2.r262_v20110127/drivers/

Posibles errores

Si al desplegar y ejecutar Birt Viewer obtienes algunos de estos errores:

  • Caused by: java.lang.UnsupportedClassVersionError: org/eclipse/datatools/connectivity/oda/OdaException : Unsupported major.minor version 52.0 (no puedo cargar clase org.eclipse.datatools.connectivity.oda.OdaException)

  • Caused by: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

  • java.lang.SecurityException: class "org.eclipse.datatools.package..."'s signer information does not match signer information of other classes in the same package

    • La solución es eliminar los archivos META-INF/ECLIPSE_.RSA y META-INF/ECLIPSE_.SF de los jars de la carpeta WEB-INF\lib del war de Birt Viewer, por ejemplo, de org.eclipse.birt.runtime_4.6.0-20160607.jar, ya que este error es debido a que, el archivo org.eclipse.birt.runtime_4.6.0-20160607.jar has no tiene una firma válida. O bien bajarse la versión más reciente de org.eclipse.birt.runtime_4.6.0-20160607.jar
Copyright © 2016 runando