Tips, Soluciones y Novedades en Tecnología

25/10/2014

Pentaho sobre Mysql



Cuando descomprimimos el server de pentaho, este viene por defecto con un DB HSQLDB, para ejecutar datos de pruebas y todo lo demás, Pero cuando queremos darle un mejor uso y potencia, es recomendable cambiar de gestor de base de datos.

En esta entrada voy a configurar los archivos necesarios para que pueda correr sobre Mysql,



Los siguientes archivos a modificar son:


  1. hibernate-settings.xml y mysql5.hibernate.cfg.xml  ubicados en /bi-server/pentaho-solutions/system/hibernate.

  2. applicationContext-spring-security-hibernate.properties y applicationContext-spring-security-jdbc.xml ubicados en /bi-server/pentaho-solutions/system

  3. context.xml ubicado en /bi-server/tomcat\webapps\pentaho\META-INF


Ahora vamos a cambiar el contenido de cada uno de esos archivos quedando de la siguiente forma:


hibernate-settings.xml

image


mysql5.hibernate.cfg.xml 

image


     applicationContext-spring-security-hibernate.properties


image

 applicationContext-spring-security-jdbc.xml

En este caso solo modificaremos una sección del archivo.

image

Una vez configurados los archivos dentro de /pentaho-solutions, configuramos el ultimo archivo faltante.


 context.xml

image



        Listo, Actualizados los 5 archivos ya podemos decir que nuestro servidor de pentaho bi, podra correr sobre Mysql.

   

  No olvidarse de agregar el jar  mysql-connector-java-5.1.17.jar   en  /bin de Tomcat y no se olviden de crear 3 bases de datos, pentaho_server,pentaho_quartz y sampledata

Para tener datos demos en la db, pueden ejecutar el script que esta en bi-server/data/mysql, allí están conexiones, usuarios y roles para comenzar a utilizar el servidor de pentaho bi.

Suerte a todos….

24/10/2014

Ejecutar .PRPTs desde java


 

Q tal, hoy voy a explicar como podemos integrar los informes de Pentaho report designer, desde nuestro proyecto java,  en el desarrollo java conocerá IREPORT,  un magnifico componente para desplegar nuestros reportes en proyectos java.

 

Pero en el mundo de Business Intelligence hay herramientas muy buenas sobre todo Open Source,de uno o muchas empresas de BI, en este caso vamos a integrar Pentaho PDR, y  lo vamos hacer de la manera mas fácil, solo basta de bajarse los jars necesarios e incluirlo en nuestro proyecto, y con una configuraciones simples estaremos ejecutando PDR, en nuestro proyecto, además que se puede pasar parámetros, conexión, y los formatos de salidas, tal como se hace con IREPORT.

 

<!-- PDR –>

<dependency>
            <groupId>pentaho-reporting-engine</groupId>
            <artifactId>pentaho-reporting-engine-classic-core</artifactId>
            <version>3.6.0-GA</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>pentaho-reporting-engine</groupId>
            <artifactId>pentaho-reporting-engine-classic-extensions</artifactId>
            <version>3.6.0-GA</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libbase</artifactId>
            <version>1.2.2</version>
        </dependency>
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libdocbundle</artifactId>
            <version>1.2.3</version>
        </dependency>
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libfonts</artifactId>
            <version>1.2.3</version>
        </dependency>
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libformat</artifactId>
            <version>1.2.4</version>
        </dependency>   
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libformula</artifactId>
            <version>1.2.3</version>
        </dependency> 
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libformula-ui</artifactId>
            <version>1.2.3</version>
        </dependency>
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libloader</artifactId>
            <version>1.2.3</version>
        </dependency>
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>librepository</artifactId>
            <version>1.2.3</version>
        </dependency>
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libpixie</artifactId>
            <version>1.2.3</version>
        </dependency>       
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libserializer</artifactId>
            <version>1.2.2</version>
        </dependency>
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libsparkline</artifactId>
            <version>1.2.10</version>
        </dependency>
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libxml</artifactId>
            <version>1.2.2</version>
        </dependency>
        <dependency>
            <groupId>pentaho-library</groupId>
            <artifactId>libswing</artifactId>
            <version>1.2.4</version>
        </dependency>
        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>2.1.7</version>
        </dependency>       
        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext-rtf</artifactId>
            <version>2.1.7</version>
        </dependency>
        <dependency>
            <groupId>poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.0.1-jdk122-final-20071014</version>
            <scope>compile</scope>
        </dependency>

<!-- /PDR-->

 

Agregan las siguientes dependencias a su proyecto y se descargaran todos los jar necesarios para la ejecución del PDR.

El siguiente paso es diseñar el informe para la demostración.

image

 

Ahora demos de ubicarlo al archivo en mi caso esta en:

D:\Herramientas BI\pdr\Consultas\demo.prpt

Para ejecutar un reporte pdr, crearemos un servlet.

En el Init del servlet agregar este codigo:

image

Le decimos que al inicializar el servlet también inicializamos una instancia del motor PDR.

 

Ahora solo basta con agregar este código al  ProcessRequest del servlet quedando de la siguiente forma.

 

image

 

Como verán se especifica la ruta absoluta del archivo, claro para la demostración se esta realizando de la forma mas básica, ya después podrán implementarlo como se debe,pero recalco solo ese código es necesario para ejecutar un reporte PDR desde un proyecto java.

 

Al ejecutar el servlet, el resultado se vera así.

image

 

Como se podrá ver, no es compleja la integración de herramientas que facilitan la ejecución de reportes en java.

 

Como comentaba en entradas anteriores, este tipo de herramientas no solo sirve cuando se tiene un Datawarehouse, o Datamarts en la empresa, también puedes preparar informes directamente desde tu DB, lo que facilita enormemente la labor del personal de TI, al momento de realizar reportes o informes requeridos.

Suerte a todos.