Instalación de Javabridge+ Php-Jru +jasper Report+IReports
Instalación de Javabridge+ Php-Jru +jasper Report+IReports
Instalación de Javabridge+ Php-Jru +jasper Report+IReports
Introduccin
Hola como estn, mi nombre es Hiber Tadeo Moreno Tovilla, soy Licenciado en Informtica Administrativa, actualmente radico en Villaflores, Chiapas, Mxico, el propsito de este tutorial , es ensearles como instalar desde cero la herramienta llamada Javabridge, en su versin actualizada, ya que en Internet hay tutoriales pero ya estn desactualizados en cuanto a procesos de instalacin, el otro propsito es tambin usar JavaBridge para poder interactuar con el servidor Web Apache y Tomcat sobre la plataforma OS Windows, adems utilizaremos la librera llamada php-jru de su autor llamado Roberto Bruno, cuya pagina web es: http://robertbruno.wordpress.com/ , que es donde descargaremos la librera que mas adelante nos servir para ahorrarnos cdigo en la generacin de los reportes con Ireports a travs de nuestra aplicacin Web.
ndice
Las Libreras:.................................................................................................................... 2 Configurando los componentes ........................................................................................ 5 A).-Java: ........................................................................................................................... 5 B).-Servidores Web y de aplicaciones XAMMP.............................................................. 7 C.-Instalando Javabridge.war ........................................................................................... 8 D).-TomCat ...................................................................................................................... 9 E).-Jasper Reports........................................................................................................... 12 F).-Ireport ....................................................................................................................... 12 G).- alticJasper.jar........................................................................................................... 14 H).-Librera PHP-JRU Configuracin e instalacin....................................................... 15 Ejecutando nuestro primer reporte Ireport desde PHP ................................................... 16 Otras Funciones de la librera PHP-JRU ........................................................................ 19 Otro Ejemplo de la librera Php-Jru................................................................................ 19 Resumen y notas importantes ......................................................................................... 20 Fuentes............................................................................................................................ 20
Las Libreras:
Antes que nada necesitamos de las siguientes Libreras: 1.- Java Jdk SE o superior, para este tutorial estoy utilizando Java SE 6 Update 23. Link: http://www.oracle.com/technetwork/java/javase/downloads/index.html Imagen:
4.-Xammp: En este caso puede ser cualquier otro como WampServer, etc. Yo uso este, por que a mi parecer viene mas completo, tiene ms funcionalidades que los otros, pero eso ya depende del gusto de cada uno, esta distribucin tiene Tomcat 7.0 integrada. Link: http://www.apachefriends.org/en/xampp-windows.html#641 Imagen:
5.- Php-jru Librera que nos ahorrara cdigo en la generacin de los reportes. Pagina Oficial: http://robertbruno.wordpress.com/ Link de descarga directa: http://sourceforge.net/projects/php-jru/files/PHPJRU/1.0/php-jru1.0.tar.gz/download 6.- alticJasper.jar Pagina de descarga: http://ftp-developpez.com/charly-clairmont/tutoriels/php-jasperreports/fichiers/ Nota: En Caso de no encontrarla pedir el fichero con: http://robertbruno.wordpress.com/
4.-Seleccionamos la pestaa Opciones Avanzadas , y despus damos clic en el botn: Variables de Entorno. Imagen:
En la imagen ya tengo configuradas las variables de entorno para Java, pero esto se hace con los siguientes pasos: a).- Clic en Nueva y poner la ruta donde esta instalado Java jdk en su equipo, en este caso mi instalacin quedo en la siguiente ruta: C:\Archivos de programa\Java\jdk1.6.0_23 Escribimos en el cuadro de dialogo JAVA_HOME y en la parte de abajo la ruta antes mencionada y damos clic en aceptar: Imagen:
b).-Agregaremos tambin el PATH: De la misma manera damos clic nuevamente en Nueva. Y agregamos lo siguiente: Nombre de Variable: PATH Valor de Variable: %JAVA_HOME%;%PATH% Imagen:
Por ultimo damos clic en aceptar y nuevamente aceptar, con esto ya tenemos las variables de entorno Java para Windows.
B).-Servidores Web y de aplicaciones XAMMP 1.- Procedemos a instalar Xampp (Apache y Tomcat 7.0 Integrados). 2.- Una vez Instalado, haremos unos pequeos cambios en PHP.INI Los Cambios: La directiva allow_url_include permite la ejecucin de archivos remotos y, por cuestiones de seguridad est desabilitada por defecto en nuestro servidor. a).- allow_url_include ponerlo en On allow_url_include=On Imagen:
b).-En la seccin Module Settings agregar las siguientes lneas, que apuntaran al directorio Java: [java] java.java_home ="C:\Archivos de programa\Java\jdk1.6.0_23\jre\bin" java.java = "C:\Archivos de programa\Java\jdk1.6.0_23\jre\bin\javaw.exe" Imagen:
C.-Instalando Javabridge.war 1.-Dentro de la Carpeta webapps de TomCat, simplemente colocar el archivo Javabridge.war, esto es con el fin de que cuando levante el servidor TomCat, automticamente reconozca el paquete y descomprima las fuentes. Imagen:
D).-TomCat Ingresamos a TomCat en la ruta en la que quedo instalada, en mi caso quedo en: C:\xampp\tomcat Nota: Antes que nada entramos a : C:\xampp\tomcat\conf Y editamos tomcat-users.xml, entre las llaves <tomcat-users> agregamos las siguientes lneas, que son para el acceso al panel de control de Tomcat (Usuario:tomcat, password:tomcat) <role rolename="admin"/> <role rolename="manager"/> <user username="tomcat" password="tomcat" roles="admin,manager"/> Imagen:
10
3.-Una vez levantado el servicio TomCat, verificar en la carpeta webapps, si Javabridge.war esta descomprimida. Imagen:
4.-Para verificar que todo esta bien, vamos al navegador y entrar a la pgina de bienvenida de TomCat con la siguiente ruta: http://localhost:8080/ Imagen:
Nota: Puedes Dar clic en TomCat Manager y ver que este levantado Javabridge o simplemente tecleamos: http://localhost:8080/JavaBridge/ Para visualizar los ejemplos: Imagen:
11
E).-Jasper Reports 1.- Descomprimir la carpeta Jasper Reports y copiar los archivos jar de la siguiente ruta: C:\ . \jasperreports-4.0.0\lib Imagen:
F).-Ireport 1.- Simplemente Instalar Ireport 2.-Copiar las libreras jar, que estn en la siguiente ruta: C:\Archivos de programa\Jaspersoft\iReport-4.0.0\ireport\modules\ext Imagen:
12
3.-Pegarlas dentro de: C:\xampp\tomcat\webapps\JavaBridge\WEB-INF\lib Nota: El sistema preguntara si sobreescribe algunos archivos, de clic en aceptar. Imagen:
4.-Copiar los Conectores o drivers para MySql y Postgress, junto con los otros archivos jar de la siguiente ruta: C:\Archivos de programa\Jaspersoft\iReport-4.0.0\ide10\modules\ext
13
14
H).-Librera PHP-JRU Configuracin e instalacin 1.-Por default el archivo php-jru tiene una extensin war, entonces procedemos a descomprimirlo y copiamos la carpeta php-jru a la siguiente ruta del lado del servidor Web: C:\xampp\htdocs Imagen:
2.- Dentro de la carpeta php-jru, hay un archivo llamado: php-jru.php; El cual editamos, modificando una lnea de cdigo. Cambiamos: http://localhost:8080/PHP-jru/java/Java.inc Por esta otra: http://localhost:8080/JavaBridge/java/Java.inc Realmente lo que hacemos es apuntar hacia la carpeta Java.inc que esta dentro de la carpeta JavaBridge de TomCat Imagen:
3.-Guardamos el Archivo. Con estos pasos ya podremos hacer las pruebas pertinentes para la generacin de archivos Pdf, Html, etc.
15
1.-Crea un reporte que contenga Base de datos, yo utilizo MySql, recuerden que dentro de Ireports, hay unos archivos Jar que copiamos a Tomcat, ah existe un driver Jdbc de Myslq que nos servir para hacer conexin. 2.- Suponiendo que ya tenemos el reporte creado en Ireports empezaremos a crear nuestro primer Script PHP y compilado,
<?php //Llamando las librerias require_once('http://localhost:8080/JavaBridge/java/Java.inc'); require('../php-jru/php-jru.php'); //Llamando la funcion JRU de la libreria php-jru $jru=new JRU(); //Ruta del reporte compilado Jasper generado por IReports $Reporte='C:/xampp/htdocs/Integra/Reports/TestIceberg.jasper'; //Ruta a donde deseo Guardar Mi archivo de salida Pdf $SalidaReporte='C:/xampp/htdocs/Integra/Reports/IcebergReport.pdf'; //Parametro en caso de que el reporte no este parametrizado $Parametro=new java('java.util.HashMap'); //Funcion de Conexion a mi Base de datos tipo MySql $Conexion= new JdbcConnection("com.mysql.jdbc.Driver","jdbc:mysql://localhost/integradatabas e","root","123"); //Generamos la Exportacion del reporte $jru>runReportToPdfFile($Reporte,$SalidaReporte,$Parametro,$Conexion>getConnection());
?> 3.-Lo guardamos con el nombre de TestReporte.php en Apache, para este ejemplo lo guarde en:
16
4.-Ejecutamos en el navegador el archivo Php que acabamos de crear: http://localhost/TestReporte.php Si todo salio bien deberan de tener un archivo Pdf en la ruta que ustedes asignaron como salida del reporte.pdf., en mi caso lo nombre IcebergReport.pdf' Con el uso de la librera PHP-JRU nos ahorraremos bastante cdigo, ya que de igual forma podra haber hecho un Script en Php. Para generar mi reporte escrib el siguiente cdigo: <?php require_once('http://localhost:8080/JavaBridge/java/Java.inc'); $dirInforme ='C:/xampp/htdocs/Integra/Reports/'; $Informe = " TestIceberg " ; $jrDirLib = "C:/xampp/tomcat/webapps/JavaBridge/WEB-INF/lib"; $handle = @opendir($jrDirLib); try { $Conexion=new java("org.altic.jasperReports.JdbcConnection"); //Driver MySql $Conexion>setDriver("com.mysql.jdbc.Driver"); //Conexion a la Base de Datos $Conexion>setConnectString("jdbc:mysql://localhost/integradatabase"); //Usuario $Conexion->setUser("root"); //Password $Conexion->setPassword("123"); //Compilacion del Reporte $JspCompil=new JavaClass('net.sf.jasperreports.engine.JasperCompileManager'); $Reporte=$JspCompil>compileReport($dirInforme.'\\'.$Informe.".jrxml");
17
$JspExport=new JavaClass('net.sf.jasperreports.engine.JasperExportManager'); $JspExport>exportReportToPdfFile($Imprime,$dirInforme.$Informe.".pdf"); if (file_exists($dirInforme.$Informe.".pdf")) { header('Contentdisposition:attachment;filename="'.$Informe.'pdf"'); header('ContentType:application/pdf'); header('Content-TransferEnconding:binary'); header('ContentLength:'.@filesize($dirInforme.$Informe.".pdf")); header('Pragma:no-cache'); header('Cache-Control:mustrevalidate,post-check=0,pre-check=0'); header('Expires:0'); set_time_limit(0); @readfile($dirInforme.$Informe.".pdf") or die("Ocurrio un Problema"); }
}catch (JavaException $ex) { $trace = new Java('java.io.ByteArrayOutputStream'); $ex->printStackTrace(new Java('java.io.PrintStream', $trace)); print nl2br("java stack trace: $trace\n"); return false; } ?>
18
19
Donde "reporte.jasper" es la ruta completa del reporte compilado, "reporte.pdf" es la ruta completa del pdf a generar que si se encuentra vaca el pdf ser generado en el mismo directorio del reporte jasper, $parameters son los parmetros que se le entregaran al reporte, $sql indica la sentencia sql que rellenara el reporte y $conn es la conexin a la base de datos. Para generar otros formatos solo hay que llamar a la funcin correspondiente, por ejemplo: si se desea generar un archivo html la funcin correspondiente seria runHtmlFromSql() o para generar odt se llama a la funcin runOdtFromSql(). Resumen y notas importantes Como pudimos ver en el tutorial, podemos imprimir reportes hechos con Ireports, mediante el uso del JavaBridge, para poder interactuar junto con Apache y Tomcat, adems utilizamos la librera Php-Jru, para ahorrarnos unas cuantas lneas de cdigo. Recuerden que los archivo jar contenidos en Jasper Reports y Ireports, deben de ser de la misma versin.
Fuentes
Php-Jru: http://robertbruno.wordpress.com/ Ejemplos JavaBridge : http://www.rjohnson.id.au/wordpress/2007/10/27/bullet-proofjasper-reports-and-php/ PHP-JavaBridge+Apache and XpPro: http://www.dsl.uow.edu.au/~sk33/php5java.htm JavaBridge: http://php-java-bridge.sourceforge.net/pjb/ Sobre este Tutorial: Hiber Tadeo Moreno Tovilla Licenciado en Informtica Administrativa Miembro activo de las siguientes Webs dedicadas a temas de Programacin: Moderador: http://www.delphiaccess.com Miembro: http://extjses.com/ Miembro: http://www.sencha.com/ Miembro: http://code.google.com/p/extpascal/ Miembro: http://www.c-sharpcorner.com/
Febrero 2011
20