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.

JasperReports

Basisdaten

Hauptentwickler Jaspersoft
Erscheinungsjahr 2002
Aktuelle Version 6.21.3[1]
(23. April 2024)
Betriebssystem Plattformunabhängig
Programmiersprache Java[2]
Kategorie Berichtswesen / Business Intelligence
Lizenz GNU LGPL
deutschsprachig ja
Produktseite

Funktionalität Bearbeiten

Mit JasperReports lassen sich in Java-Programmen Berichte mit Daten aus ein oder mehreren Datenquellen erstellen.[3] 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.[4]

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 Bearbeiten

Die Entwicklung von JasperReports wurde durch Teodor Danciu im Juni 2001 gestartet, das Sourceforge-Projekt wurde im September desselben Jahres gegründet[5] und die erste Version (0.1.5) am 3. November 2001 veröffentlicht,[6] die Version 1.0 am 21. Juli 2005.[7]

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.[8] 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.[9]

JRXML Bearbeiten

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 Bearbeiten

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

DynamicReports
Quelloffene Java-API-Reporting-Library
iReport Designer
Von 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.[10]
JasperReports Server
Von 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 Studio
Von Jaspersoft entwickeltes Open-Source-Eclipse-Plugin zum Bearbeiten von Berichten mittels WYSIWYG-Editor. Nachfolger des iReport-Designers.[11]
Jaspersoft ETL
Open-Source-Data-Warehouse von Jaspersoft für Analyse und Reportingzwecke.[12]

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[13]
  • Plazma Report Designer
  • JasperWave Report Designer – Eclipse-basierter Editor für JasperReports

JasperReports Refactorings Bearbeiten

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

  • Rajesh Vasa, Jean-Guy Schneider: Evolution of Cyclomatic Complexity in Object Oriented Software. In: 7th workshop on the quantitative approaches in object-oriented software engineering (QAOOSE'2003). 2003 (it.swin.edu.au (Memento des Originals vom 7. Dezember 2004 im Internet Archive)).
  • Deepak Advani, Youssef Hassoun, Steve Counsell: Heurac: A heuristic-based tool for extracting refactoring data from open-source software versions. (PDF; 154 kB) Januar 2005, archiviert vom Original; abgerufen am 11. Januar 2007.
  • Emerson Murphy-Hill: Improving Refactoring with Alternate Program Views. (PDF) 2005, abgerufen am 11. Januar 2007.
  • R. Vasa: Detecting structural changes in object oriented software systems. In: Proceedings of the 2005 International Symposium on Empirical Software Engineering (ISESE 2005). 18. November 2005, ISBN 0-7803-9507-7, S. 463, doi:10.1109/ISESE.2005.1541855.
  • Deepak Advani, Youssef Hassoun, Steve Counsell: Extracting refactoring trends from open-source software and a possible solution to the 'related refactoring' conundrum. In: Proceedings of the 2006 ACM symposium on Applied computing. 2006, ISBN 1-59593-108-2 (New York, USA: ACM Press), S. 463, doi:10.1145/1141277.1141685.
  • S. Counsell, Y. Hassoun, G. Loizou and R. Najjar: Common Refactorings, a Dependency Graph and some Code Smells: An Empirical Study of Java OSS. In: Proceedings of the 2006 ACM/IEEE International symposium on empirical software engineering. 2006, ISBN 1-59593-218-6 (New York, USA: ACM Press), S. 463, doi:10.1145/1159733.1159777.

Literatur Bearbeiten

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

Weblinks Bearbeiten

Einzelnachweise Bearbeiten

  1. Release 6.21.3. 23. April 2024 (abgerufen am 23. April 2024).
  2. The jasperreports Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).
  3. Erik Swenson: Reports made easy with JasperReports. In: JavaWorld.com. 20. September 2002, abgerufen am 8. August 2018 (englisch).
  4. OracleStoredProcedures sub-project (Memento vom 9. Juni 2008 im Internet Archive)
  5. An Interview with Teodor Danciu of JasperReports. In: RootPrompt. 16. Februar 2005, archiviert vom Original am 30. Dezember 2014; abgerufen am 5. Januar 2011.
  6. Project details for JasperReports:Comment. freshmeat.net
  7. Joseph Ottinger: JasperReports 1.0 released. In: TheServerSide.com. 21. Juli 2005, abgerufen am 8. August 2018 (englisch).
  8. David Berlind: Can an open source project get acquired? One just did. In: ZDNet. 25. April 2005, abgerufen am 8. August 2018 (englisch).
  9. TIBCO Software Acquires Jaspersoft tibco.com (Memento vom 1. Mai 2014 im Internet Archive)
  10. iReport Designer – The Report Development Tool for JasperReports and JasperReports Server. Jaspersoft, abgerufen am 8. Januar 2014 (englisch).
  11. Jaspersoft Studio – The Eclipse-based Report Development Tool for JasperReports and JasperReports Server. Jaspersoft, abgerufen am 8. Januar 2014 (englisch).
  12. Jaspersoft ETL – The Open Source Data Integration Platform. Jaspersoft, abgerufen am 8. Januar 2014 (englisch).
  13. Report Designer for JasperReports. Infologic SA, 25. Juli 2014, abgerufen am 25. Juli 2014 (englisch).