Post on 04-Jan-2017
MEETUP ORACLE APEX LATINOAMÉRICAJasperReports con Oracle Application Express 5.011 de Febrero del 2016Ing. Clarisa Maman OrfaliClarTech 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
• 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”
Ing. Clarisa Maman Orfali
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.opal-
consulting.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 Glassfishpero 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_formatCorresponde al format del reporte, por ejemplo: pdf,
html, html2, rtf, xls, jxl, csv, xlsx, pptx or docxpdf *
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 URLPROCEDIMIENTO 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!
Oracle APEX Latinoamérica
Ing. Clarisa Maman OrfaliOracle ACE
Libros: http://www.introduccionaoracleapex5.com
Blog: http://descubriendooracle.blogspot.com
Sitio Web: http://www.clartechsolutions.com
Academia Online:http://www.clartechacademy.com
Grupo Meetup