JasperReports ist ein Open-Source-Java-Berichtswerkzeug, entwickelt von Jaspersoft, mit dem man aus Java-Programmen Berichte als PDF, HTML, Microsoft Word und Microsoft Excel, TXT, RTF, ODT, CSV und XML exportieren, auf dem Bildschirm anzeigen oder drucken kann.

Funktionalität Mit JasperReports lassen sich in Java-Programmen Berichte mit Daten aus ein oder mehreren Datenquellen erstellen. Diese Quellen schließen die folgenden ein: Datenbanken über JDBC oder Hibernate, Enterprise JavaBeans über EJBQL, JavaBeans, XML- und CSV-Dateien. Weitere Datenquellen können dem JasperReports Framework über sogenannte JRQueryExecuter hinzugefügt werden. So existiert z. B. eine Erweiterung, die Oracle PL/SQL Stored Procedures als Datenquelle hinzufügt.

JasperReports’ Berichte können die Daten in textueller tabellarischer Form darstellen, aber auch Diagramme daraus generieren. Diese mittels JFreeChart generierten Diagramme unterstützen diverse Diagrammlayouts wie z. B. Kreis-, Balken-, Säulen- oder Blasendiagramme.

Mit sogenannten Scriptlets, die in Java oder Groovy ausgeführt sein können, kann die Berichtsausführung um eigene Funktionen erweitert werden. Zusätzlich können diese Scriptlets auf Ereignisse aus der JasperEngine reagieren. Dabei kann auf Seiten-, Gruppen- oder Zeilenwechsel reagiert werden.

Geschichte Die Entwicklung von JasperReports wurde durch Teodor Danciu im Juni 2001 gestartet, das Sourceforge-Projekt wurde im September desselben Jahres gegründet und die erste Version (0.1.5) am 3. November 2001 veröffentlicht,Project details for JasperReports:Comment. freshmeat.net die Version 1.0 am 21. Juli 2005.

Das Unternehmen Jaspersoft entstand aus dem Unternehmen Panscopic, das von Al Campa (CEO) und Raj Bhargava (VP) im Jahre 2001 gegründet wurde. 2004 erwarb Panscopic alle Rechte an JasperReports und nannte sich in Jaspersoft um. Jaspersoft vertreibt kommerzielle Software rund um JasperReports und vertreibt auch JasperReports an Kunden, welche es mit einem Nicht-Open-Source-Produkt verbinden wollen.

Am 28. April 2014 veröffentlichte TIBCO, dass sie Jaspersoft für ungefähr 185 Millionen US-Dollar übernommen haben.TIBCO Software Acquires Jaspersoft

JRXML Die Berichte werden in einem JRXML genannten XML-Format gespeichert und müssen vor der Ausführung in .jasper-Dateien kompiliert werden. Der Bericht selber enthält keine Datenquellen, diese werden der Report-Engine zur Laufzeit übergeben. Lediglich die Abfragemethode, z. B. SQL-Statements, wird mit abgespeichert. Zur Laufzeit wird dann die Abfragemethode auf die übergebene Datenquelle angewandt, das Ergebnis gerendert und in die gewünschte Ansicht gebracht.

Werkzeuge Es gibt verschiedene Programme, die den Umgang mit den Berichten erleichtern:

DynamicReports Quelloffene Java-API-Reporting-Library iReport DesignerVon Jaspersoft unter der GPL veröffentlichte Software zum Bearbeiten von Berichten mit grafischer Oberfläche. Das Programm ist auch als Eclipse-Plugin und als Plugin für NetBeans vorhanden. Wird seit 2013 nicht mehr weiterentwickelt und seit 2015 nicht mehr gewartet. Jaspersoft Studio ist das Nachfolgeprodukt. JasperReports ServerVon Jaspersoft entwickelte Serversoftware unter der GPL, die Berichte, Datenquellen und andere Dateien verwaltet JasperTags Eine JSP Tag Library für den einfachen Einsatz von JasperReports in Webapplikationen Jaspersoft StudioVon Jaspersoft entwickeltes Open-Source-Eclipse-Plugin zum Bearbeiten von Berichten mittels WYSIWYG-Editor. Nachfolger des iReport-Designers. Jaspersoft ETLOpen-Source-Data-Warehouse von Jaspersoft für Analyse und Reportingzwecke.

Weiters gibt es diverse Eclipse-Plugins zum Erstellen von Berichten direkt aus der Entwicklungsumgebung: SWTJasperViewer JasperAssistant: proprietäres, auf SWTJasperViewer aufsetzendes Eclipse-Plugin von Infologic, mit dem man per grafischer Oberfläche die Berichte bearbeiten kann Plazma Report Designer JasperWave Report Designer – Eclipse-basierter Editor für JasperReports

JasperReports Refactorings Der Sourcecode von JasperReports war Inhalt einer Reihe wissenschaftlicher Studien zu Codequalität und Refactoring:

Literatur Teodor Danciu, Lucian Chirita: The Definitive Guide to JasperReports. Apress 2007

Weblinks offizielle Webpräsenz Open source Java API reporting library based on JasperReports. DynamicReports Berichtsdesign mit JasperReports

Einzelnachweise

Kategorie:Freie betriebswirtschaftliche Software Kategorie:Business Intelligence Kategorie:Java-Bibliothek Kategorie:Java-Programm Kategorie:Berichtssoftware