Friday, June 15, 2007

DynamicJasper

si hay una problemática repetida y subestimada en casi todos los sistemas desarrollados es la de reporting. los listados y reportes son la forma habitual de presentar información en ambientes administrativos y por lo tanto el reflejo no solo del correcto funcionamiento del sistema utilizado, sino del negocio (proceso, circuito, área, o el alcance que se le quiera dar).

como buena empresa que basa sus desarrollos en productos open source, siempre tratamos de utilizar jasper reports [http://jasperforge.org/sf/projects/jasperreports] que realmente es una solución muy buena para la generación de los reportes más variados, pero que a pesar de esto, tiene sus falencias. de todas estas características cuestionables, la que mas nos pegaba era no poder definir reportes con columnas variables -elegir que columnas se presentan en tiempo de ejecución- y por eso es que nace DynamicJasper [http://dynamicjasper.sourceforge.net/index.html].

uno de los objetivos del desarrollo de esta api fue, aparte de proveer la funcionalidad de columnas dinámicas, el de mejorar la productividad evitando el desarrollo de funcionalidad ad-hoc para cada cliente o proyecto particular.

el DJ es una extensión al famoso jasper, que nos permite generar reportes en forma totalmente programática, evitando tocar archivos .jrxml. el DJ nos da la facilidad de generar reportes con una sola línea de código y agregarles un chart en otra [http://www.jfree.org/jfreechart/]. algunas de las otras características del DJ que lo hacen muy útil son la posibilidad de contar con cortes de control, totales, subtotales, columnas de formulas y algunas otras cositas que voy a dejar que descubran probándolo.

para demostrar algunas de las funcionalidades del DJ y a su vez como proyecto de investigación de la empresa, armamos un playground [http://dynamicjasper.sourceforge.net/docs/playground.html], totalmente desarrollado en gwt y en donde no solo mostramos al DJ, sino también algunas de las cosas que se pueden hacer con el framework de google [http://code.google.com/webtoolkit/]. este playground fue reconocido como un ejemplo de uso de gwt en aplicaciones por uno de los blogs mas importantes sobre gwt [http://www.ongwt.com/post/2007/03/09/GWT-and-JasperReport].

hoy tenemos más de mil descargas en sourceforge y hemos recibido bastante apoyo de la comunidad, incluyendo al equipo de rasper reports.

una buena manera de empezar a usarlo es siguiendo esta guía: http://dynamicjasper.sourceforge.net/docs/getting_started.html

ante cualquier duda o consulta no duden en preguntarnos a través de los foros del producto que respondemos lo más rápido que podemos y espero que les sea de tanta utilidad como es para nosotros.

3 comments:

Anonymous said...

Hola, acabo de descubrir DJ, me parece una idea excelente y creo que me va ser de gran ayuda.

Uso JasperReport y JasperAssitant hace 3 años con muy buenos resultados, de hecho la mayor parte de los informes de nuestras aplicaciones están desarrollados con jasperreport.

Echábamos de menos el poder darles más libertad a los usuarios para que diseñen sus propios reportes, de hecho nos planteábamos el desarrollar una aplicación específica para ello, me parece que con DJ no va a ser necesario, creo que podremos integrarlo perfectamente.

Espero contar con vuestra ayuda y soporte.

Un saludo desde Madrid, España
Gloria.-

Unknown said...

Hola me he puesto probar DynamicJasper y en un primer acercamiento me funciona correctamente..ahora mi problema y que no encuentro como hacer:

Tengo un archivo report.jrxml (lo genere con iReport) y quiero trabajar con el mismo desde DynamicJasper, seleccionar datos del mismo y generar un reporte..puedo lograr esto con DynamicJasper???o debo generar todo mi reporte desde DynamicJasper?

goros said...

hola otto...

Que bueno que estes usando DJ!!!!

El canal de comunicaciones standard deberia ser http://dynamicjasper.sourceforge.net/

Desde ahi tenes acceso a todos los medios por los que se le da soporte a DJ...

Gracias!!!