meetup oracle apex latinoamérica
Transcripción
meetup oracle apex latinoamérica
MEETUP ORACLE APEX LATINOAMÉRICA JasperReports con Oracle Application Express 5.0 11 de Febrero del 2016 Ing. Clarisa Maman Orfali ClarTech Solutions, Inc. AGENDA • Objetivo • Presentar Integración de JasperReports de Opal Consulting • Crear Factura en iReport Designer Tool • Desplegar Factura en una Aplicación en APEX 5.0 • Cierre PRESENTADORA Ing. Clarisa Maman Orfali • • • • • • • • Fundadora y Directora de ClarTech Solutions, Inc. Oracle ACE desde el año 2014 Co-Fundadora del Grupo de Usuarios Oracle de Argentina Autora del primer libro en español de Oracle APEX “Introducción a Oracle APEX 5.0” Autora del libro “Integración sin Costo de JasperReports en Oracle APEX 5.0” Autora e Instructora de Cursos Online Co-organizadora del Oracle APEX Tour Latinomérica Co-Conductora y Realizadora del Podcast “El Show de la Comunidad Oracle Hispana” OBJETIVO Diseñar un reporte DESDE CERO en iReport Designer y desplegarlo en una aplicación en Oracle APEX 5.0 usando el JasperReports Integration kit. JASPERREPORT INTEGRATION KIT Agradecemos al Oracle ACE Aust Dietmar de Opal-Consulting por desarrollar esta herramienta y nos permita usarla para nuestras aplicaciones en APEX. Sitio Web: www.opal-consulting.de Blog: http://daust.blogspot.com Licencia: http://www.opalconsulting.de/apex/f?p=20090928:6:0::NO:6 JASPERREPORTS INTEGRATION EN APEX REQUISITOS • Base de Datos Oracle: El requisito mínimo es la disponibilidad del paquete UTL_HTTP. • Oracle APEX: no hay dependencia de la versión de APEX que se use, se puede trabajar en todas las versiones de la herramienta. • Servidor J2EE: La integración ha sido probado con Apache Tomcat 5.5 o superior. Además se puede trabajar con otros servidores como Glassfish pero el origen de datos se configurará diferente. • JasperReports: La aplicación actual J2EE soporta el motor de JasperReports versión 4.6.0. Los informes creados con una versión superior no funcionará. • JDBC: Crear conexión dentro del Servidor (en GlassFish: Create JDBC Connection Pool y Create JDBC resource). ARQUITECTURA DE JASPERREPORTS • El usuario hace clic en una URL dentro de Oracle APEX • Un procedimiento de PL/SQL llama a JasperReports y pasa los parámetros (usando el paquete UTL_HTTP) • JasperReports crea un conexión JDBC a la base de datos, ejecuta el reporte y devuelve la salida del reporte (por ej. PDF) directamente. IREPORT DESIGNER iReport es una poderosa herramienta de diseño visual para JasperReports y con ella podemos crear informes personalizados para satisfacer los más complejos requerimientos de información, además que es intuitivo, poderoso y muy fácil de usar. USO DEL JASPERREPORT INTEGRATION El paquete XLIB_JASPERREPORTS es la interface que acepta los parámetros, genera la URL y llama a la integración en el Servidor J2EE. DESCRIPCION DE PARAMETROS Parámetro Descripción Valor por Defecto Requerido? p_rep_name Especifica el nombre del reporte test * p_rep_format Corresponde al format del reporte, por ejemplo: pdf, html, html2, rtf, xls, jxl, csv, xlsx, pptx or docx pdf * p_data_source Fuente de Datos configurado, por ejemplo: default, test default * p_out_filename Se puede especificar un nombre de archivo para la descarga cuando se abre la ventana de diálogo "guardar como" p_rep_locale Cadena de Idioma, compuesto por ISO language code y ISO country code de_DE p_rep_encoding El parámetro "charset" para el content_type, una lista de entradas válidas pude ser encontrado here. Ejemplo: ISO-8859-15, UTF-8, Windows-1252 UTF-8 p_additional_parameters Todos los parámetros se pasan directamente al informe (excluyendo los internos (con el prefijo "_") FORMATO DE LA URL PROCEDIMIENTO PARA ARMAR LA URL begin xlib_jasperreports.show_report (p_rep_name => :p1_rep_name, p_rep_format => :p1_rep_format, p_data_source => :p1_data_source, p_out_filename => :p1_out_filename, p_rep_locale => :p1_rep_locale, p_rep_encoding => :p1_rep_encoding, p_additional_params => :p1_additional_params); -- stop rendering of the current APEX page apex_application.g_unrecoverable_error := true; end; FORMATO DE LA URL http://localhost:8080/JasperReportsIntegration/report?_repName=test& _repFormat=pdf&_dataSource=default&_outFilename=myTest.pdf&_repLocal e=es_ES&_repEncoding=UTF-8&p_deptno=10 SEGURIDAD • URL Oculta por medio del Procedimiento del JasperReports Integration Kit. • Crear una capa de seguridad adicional mediante el uso de un servidor/servicio de seguridad. (por ej. Firewall – software o hardware) • Otra capa de seguridad puede ser añadir a la consulta del informe una verificación de Session ID. select * from emp where $P{p_session} in (select apex_session_id from apex_workspace_sessions) DEMOSTRACIÓN MUCHAS GRACIAS! Grupo Meetup Oracle APEX Latinoamérica Ing. Clarisa Maman Orfali Oracle ACE Libros: http://www.introduccionaoracleapex5.com Blog: http://descubriendooracle.blogspot.com Sitio Web: http://www.clartechsolutions.com Academia Online:http://www.clartechacademy.com