Tips, Soluciones y Novedades en Tecnología

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.

0 comments:

Publicar un comentario