Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

JasperReports

JasperReports ist ein Open-Source-Java-Berichtswerkzeug, entwickelt von Jaspersoft, mit dem man aus Java-Programmen Berichte als PDF, HTML, Microsoft Word …

Inhalt6 Abschnitte
  1. 1. Überblick und Zweck
  2. 2. Berichte und Datenquellen
  3. 3. Aufbau mit JRXML
  4. 4. Entwicklung und Unternehmen
  5. 5. Hilfsprogramme
  6. 6. Refactoring-Forschung

Überblick und Zweck

JasperReports ist ein Open-Source-Berichtswerkzeug in Java. Es wird von Jaspersoft entwickelt und dient dem Berichtswesen beziehungsweise der Business Intelligence, also der Aufbereitung von Daten für Auswertung, Darstellung und Weitergabe. Das Werkzeug ist plattformunabhängig, steht unter der GNU LGPL und ist deutschsprachig verfügbar.

Mit JasperReports können Java-Programme Berichte erzeugen, anzeigen, drucken oder in verschiedene Formate exportieren. Genannt werden PDF, HTML, Microsoft Word, Microsoft Excel, TXT, RTF, ODT, CSV und XML. Als aktuelle Version nennt der Artikel 7.0.8 vom 5. August 2026; das Erscheinungsjahr ist 2002.

Berichte und Datenquellen

JasperReports erstellt Berichte mit Daten aus einer oder mehreren Datenquellen. Eine Datenquelle ist der Ort oder Dienst, aus dem die Berichtsdaten stammen. Unterstützt werden unter anderem Datenbanken über JDBC oder Hibernate, Enterprise JavaBeans über EJBQL, JavaBeans sowie XML- und CSV-Dateien.

Weitere Datenquellen können über sogenannte JRQueryExecuter ergänzt werden. Ein JRQueryExecuter ist eine Erweiterung, mit der das Framework zusätzliche Abfragearten ausführen kann. Als Beispiel nennt der Artikel eine Erweiterung, die Oracle PL/SQL Stored Procedures als Datenquelle hinzufügt.

Die Daten können in textueller tabellarischer Form dargestellt werden. Außerdem kann JasperReports daraus Diagramme erzeugen. Diese Diagramme werden mit JFreeChart erstellt und unterstützen verschiedene Diagrammlayouts, etwa Kreis-, Balken-, Säulen- oder Blasendiagramme.

Mit Scriptlets lässt sich die Berichtsausführung um eigene Funktionen erweitern. Scriptlets können in Java oder Groovy ausgeführt werden. Sie können außerdem auf Ereignisse der JasperEngine reagieren, zum Beispiel auf Seitenwechsel, Gruppenwechsel oder Zeilenwechsel.

Aufbau mit JRXML

Berichte werden in einem XML-Format gespeichert, das JRXML heißt. Vor der Ausführung müssen sie in .jasper-Dateien kompiliert werden. Kompilieren bedeutet hier, dass die Berichtsbeschreibung in eine Form umgewandelt wird, die die JasperReports-Engine ausführen kann.

Der Bericht selbst enthält keine Datenquellen. Diese werden der Report-Engine erst zur Laufzeit übergeben. Gespeichert wird nur die Abfragemethode, zum Beispiel ein SQL-Statement. Zur Laufzeit wendet JasperReports diese Abfragemethode auf die übergebene Datenquelle an, rendert das Ergebnis und bringt es in die gewünschte Ansicht oder Exportform.

Entwicklung und Unternehmen

Die Entwicklung von JasperReports wurde im Juni 2001 von Teodor Danciu begonnen. Das Sourceforge-Projekt wurde im September 2001 gegründet. Die erste Version, 0.1.5, erschien am 3. November 2001; Version 1.0 erschien am 21. Juli 2005.

Jaspersoft ging aus dem Unternehmen Panscopic hervor, das 2001 von Al Campa als CEO und Raj Bhargava als VP gegründet wurde. 2004 erwarb Panscopic alle Rechte an JasperReports und benannte sich in Jaspersoft um. Jaspersoft vertreibt kommerzielle Software rund um JasperReports und bietet JasperReports auch Kunden an, die es mit einem Nicht-Open-Source-Produkt verbinden wollen.

Am 28. April 2014 gab TIBCO bekannt, Jaspersoft für ungefähr 185 Millionen US-Dollar übernommen zu haben.

Hilfsprogramme

Für JasperReports gibt es verschiedene Werkzeuge, die das Erstellen, Bearbeiten und Verwalten von Berichten erleichtern. DynamicReports ist eine quelloffene Java-API-Reporting-Library. JasperReports Server ist eine von Jaspersoft entwickelte Serversoftware unter der GPL, die Berichte, Datenquellen und andere Dateien verwaltet. JasperTags ist eine JSP Tag Library, die den Einsatz von JasperReports in Webapplikationen erleichtert.

iReport Designer war eine von Jaspersoft unter der GPL veröffentlichte Software mit grafischer Oberfläche zum Bearbeiten von Berichten. Sie war auch als Eclipse-Plugin und als Plugin für NetBeans verfügbar, wird aber seit 2013 nicht mehr weiterentwickelt und seit 2015 nicht mehr gewartet. Jaspersoft Studio ist das Nachfolgeprodukt: ein Open-Source-Eclipse-Plugin von Jaspersoft mit WYSIWYG-Editor, also einer Bearbeitungsansicht, bei der die Darstellung direkt dem späteren Ergebnis ähnelt.

Jaspersoft ETL ist ein Open-Source-Data-Warehouse von Jaspersoft für Analyse- und Reportingzwecke. Zusätzlich nennt der Artikel Eclipse-Plugins zum Erstellen von Berichten direkt aus der Entwicklungsumgebung: SWTJasperViewer, JasperAssistant, Plazma Report Designer und JasperWave Report Designer.

Refactoring-Forschung

Der Sourcecode von JasperReports war Gegenstand mehrerer wissenschaftlicher Studien zu Codequalität und Refactoring. Refactoring bedeutet, bestehenden Programmcode strukturell zu verbessern, ohne sein äußeres Verhalten zu ändern.

Die genannten Studien untersuchten unter anderem zyklomatische Komplexität, strukturelle Änderungen in objektorientierter Software, Werkzeuge zum Extrahieren von Refactoring-Daten, Refactoring-Trends in Open-Source-Software, Abhängigkeitsgraphen und sogenannte Code Smells. Code Smells sind Hinweise auf mögliche Schwächen in der Struktur von Programmcode.

Weiterlesen

Java (Programmiersprache) Java ist eine objektorientierte Programmiersprache und eine eingetragene Marke des Unternehmens Sun Microsystems, welches 2010 von Oracle übernommen wurde. Hypertext Markup Language Die Hypertext Markup Language (HTML, englisch für Hypertext-Auszeichnungssprache) ist eine textbasierte Auszeichnungssprache zur Strukturierung … Extensible Markup Language Erweiterbare Auszeichnungssprache), abgekürzt XML, ist eine Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten im Format einer Textdatei … Java Database Connectivity Zu den Aufgaben von JDBC gehört es, Datenbankverbindungen aufzubauen und zu verwalten, SQL-Anfragen an die Datenbank weiterzuleiten und die Ergebnisse in eine … Kreisdiagramm Ein Kreisdiagramm (wenn räumlich: Kuchendiagramm oder Tortendiagramm) ist eine Darstellungsform (etwa prozentualer Verteilungen) für Teilwerte eines Ganzen … Säulendiagramm Das Säulendiagramm, bei schmalen Säulen auch Stabdiagramm genannt, ist ein Diagramm zur vergleichenden Darstellung, das durch auf der x {\displaystyle x} … Server (Software) Die Kommunikation erfolgt nach dem Client-Server-Modell. Die Dienstleistung des Servers ist spezifisch für den Server, so dass für jede Dienstleistung ein … Codequalität Codequalität ist ein Teilaspekt von Softwarequalität, mit dem insbesondere nicht-funktionale Anforderungen wie Konformität, Verständlichkeit, Analysierbarkeit, … Refactoring Refactoring ist ein zentraler Bestandteil der Agilen Softwareentwicklung. Dort wird meist von „kontinuierlichem“ Refactoring oder „kompromisslosem“ Refactoring …