xvi
Foreword
I can still remember the first time I used JasperReports™. I was in charge of finding a way to
generate PDF reports from a large web application we were working on. The job was initially
started by another developer: his solution was to use iText, a powerful Java library to generate
PDF files, and it’s still used today by JasperReports. The effort to create just a single report was
really considerable, having to write Java code—a lot of Java code—and the performance was
terrible, especially when working with a large amount of data.
When you have several people working on designing reports, a lot of reports to design, and
only a few Java developers, you need a different way to generate your reports.
JasperReports was the answer to all my needs: it requires just a few lines of code to gener-
ate a report (and in several output formats, not only PDF); it can be easily integrated in a Java
application; the people who design reports can work independently from the developers, so
they can run and test the reports without the intervention of a Java programmer; the engine is
fast; there are a lot of ways to supply data to the report, included using SQL and HQL queries,
collections of JavaBeans, and custom data sources; and finally, it is open source.
Over the years, more than a million people have downloaded this library, and many of
them have come to appreciate its simplicity of use and smart design. It is used everywhere; it
represents the perfect choice to report data if you are using JDBC, XML, Hibernate, and so on;
it has been integrated with the Spring Framework; and the support for EJBQL and MDX (to
query OLAP databases) inducts the library as a cutting-edge Java technology.
JasperReports is the core of the JasperSoft
®
Business Intelligence Suite, a comprehensive
set of tools for integrated reporting, analysis, and data integration. The suite is comprised of
iReport™, an easy-to-use designer for JasperServer™, JasperReports, and Jasper4Salesforce™;
JasperServer, a high-performance business intelligence and report server; JasperAnalysis™, an
OLAP engine to drill down and slice and dice data to explore causes, trends, patterns, anom-
alies, and correlations using a standard web browser; and JasperETL™, a ready-to-run data
integration platform providing data extract-transform-load (ETL) capabilities.
JasperReports comes with a lot of samples, so getting started with it is really easy, but this
library has much more to offer, and it is here where this book becomes a irreplaceable source of
knowledge: it is not just a detailed reference for the JRXML report design language, but a rich
collection of tips and tricks, suggestions, and solutions to both simple and complex problems,
such as how to effectively implement your own custom data source, how to write a personal-
ized query executer to support a new query language, how to modify the JasperReports default
properties using Java code, and much more. You have the unique possibility to deeply under-
stand each architectural choice and acquire the full control to really leverage the power of
JasperReports.
9276fm.qxd 8/2/07 3:56 PM Page xvi