Kleine Helfer

JasperReports - Berichte via Open Source

28.01.2011
Von Alexander Orbach
Das Open-Source-Projekt "JasperReports" und seine begleitenden Werkzeuge bieten komfortable Möglichkeiten für das Reporting.
iReport 3.5.3 als komfortabler WYSIWYG-Editor zur Erstellung von JasperReport-Templates.
iReport 3.5.3 als komfortabler WYSIWYG-Editor zur Erstellung von JasperReport-Templates.

JasperReports ist ein in Java geschriebenes Open-Source-Werkzeug zur einfachen Erzeugung von seitenorientierten Berichten. Die erstellten Berichte können direkt an einen Drucker geschickt, in verschiedenen Dateiformaten (PDF, HTML, RTF, XLS, CSV, XML) gespeichert oder über ein in JasperReports enthaltenes Vorschaufenster angezeigt werden.

Der erste Schritt zur Erzeugung eines JasperReports besteht darin, eine JRXML-Datei zu erstellen. Dabei handelt es sich um eine XML-Datei, die als "Template" bezeichnet wird und den eigentlichen Aufbau des Reports festlegt. Typischerweise bietet ein solches Template verschiedene so genannte Bänder, das heißt vordefinierte Bereiche im Report, die jeweils die gewünschten Report-Elemente beinhalten. Beispiele für solche Bereiche sind die Titelseite, Platzierungen für Spaltenüberschriften, der Seitenkopf und Seitenfuß oder eine Zusammenfassungsseite. Das Einbetten von Charts in die Berichte ist mit JasperReports ebenfalls möglich. Diverse Standarddiagramm-Layouts stehen hier zur Verfügung, die dann bei der Generierung des Reports durch die Open-Source-Bibliothek JFreeChart erzeugt werden.

Spätestens zur Laufzeit werden die JRXML-Dateien zu .jasper-Dateien kompiliert, die dann auf der Basis von einer oder mehreren definierten Datenquellen mit Daten gefüllt werden. Das Ergebnis ist der fertige Bericht.

Als Datenquellen kommen verschiedene Varianten in Frage. JasperReports kann Daten aus relationalen Datenbanken über JDBC oder Hibernate, aus Enterprise JavaBeans über EJBQL, aus JavaBeans sowie aus XML- und CSV-Dateien beziehen.

Das Erstellen der Templates ist zwar prinzipiell mit einem Texteditor möglich, wäre aber ab einem gewissen Komplexitätsgrad des Reports in der Praxis viel zu ineffektiv. Glücklicherweise ist das inzwischen nicht mehr notwendig. Es existieren bereits mehrere Alternativen, mit deren Hilfe die Entwicklung von Berichten deutlich schneller von der Hand geht. Der wohl bekannteste Vertreter dieser Zunft ist iReport. Hierbei handelt es sich um einen wirklich komfortablen WYSIWYG-Editor für JasperReports.

CW-Fazit

Gerade die Kombination aus dem komfortablen Editor iReport und JasperReports als Reporting-Engine kann sich als echte Alternative zu vielen am Markt erhältlichen kommerziellen Produkten sehen lassen.