BIRT Plugin für die EclipseIDE #

Homepage: http://www.eclipse.org/birt/phoenix/

Was ist BIRT? #

BIRT ist die "Business Intelligence and Reporting Engine" von Eclipse. Hinter diesem hochtrabenden Begriff verbirgt sich ein recht anständiger Report Generator. Das heisst vereinfacht, man erhält von seinen Daten (vorzugsweise aus einer Datenbank) hübsch aufbereitete Listen in HTML oder PDF. Auch die Erstellung von Charts ist dabei möglich.

Im Gegensatz zu JasperReports erzeugt BIRT eine Ausgabe, die in erster Linie auf HTML basiert. Das bedeutet, daß man, wenn man Ahnung von HTML, Tabellen und vor allem CSS hat, schonmal direkt die Nase vorne hat. Die erzeugten Layouts sind - wie in HTML üblich - immer variabel und abhängig von Größe der Seite, der Datenfelder, von den Fonts und anderem. Diese Flexibilität erkauft man sich mit den üblichen Schwierigkeiten, ein CSS-Layout so hinzubekommen, wie man das will.

BIRT ist vom Gesamtumfang her ein wahres Monster. Von dem integrierten Charts bis zur eingebauten Scripting Engine fehlt eigentlich nichts. Natürlich steigt damit auch die Lernkurve etwas an. Dennoch stören hin und wieder die HTML- bzw. CSS-typischen Layout-Probleme.

Installation und erste Schritte #

Seit Eclipse 3.3 (Europa) kann man BIRT über die Eclipse Europa Update Site ganz einfach installieren. Obwohl auch ich selber an eine neue Software immer recht hemdsärmelig, d.h. ohne grosse Doku-Vorkenntniss herangehe, empfehle ich dringen, das Basic-Tutorial (http://www.eclipse.org/birt/phoenix/tutorial/) einmal komplett durchzuarbeiten. Zu ungewöhnlich sind einige Einstellungen und zu komplex ist das ganze Thema.

Heraus kommen recht anständige Reports, die dann in Form einer einzelnen XML-Datei abgespeichert werden. Später kann man dann in seinem laufenden Programm mit Hilfe der "Report Engine" diese Report-Datei mit seiner Datenbank kombinieren und dann z.B. einen PDF-Ausdruck mit seinen aktuellen Daten generieren.

Übrigens empfiehlt es sich, seinem Eclipse etwas mehr Speicher zu gönnen, wenn man mit BIRT arbeitet. Ich hatte am Anfang einige Abstürze mit "Out of Memory"-Exceptions. Dazu habe ich folgende Kommandozeilenparameter beim Eclipse-Start angegeben:

  Java/eclipse/eclipse -vmargs -Xmx512M

Einbindung in eigene Programme #

Ein bisschen erschreckt hat mich der Download der BIRT-Runtime von 99,6MB. Mal sehen, was ich da wirklich von benötige...

Einbindung in J2EE (Tomcat) #

BIRT scheint grundsätzlich vor allem dazu gedacht zu sein, in einer J2EE-Umgebung eingesetzt zu werden, d.h. ein Grossteil der Doku zu diesem Thema beschäftigt sich mit der Integration in Apache Tomcat und der Erstellung von Servlets.

Einbindung in Swing #

Ich möchte BIRT jedoch auch in einer Swing-Desptopapplikation einsetzen. Dazu sollte man folgendes lesen:

Letzterer Text handelt zwar nicht von der aktuellen BIRT-Version, sondern noch von 2.1, aber das Grundprinzip, daß dort eine einzelne Klasse mit einer main()-Methode steht, hilft einem schonmal über den ersten Schrecken hinweg, den das ausgepackte BIRT-Paket hinterlässt. Außerdem steht dort unter dem Quelltext auch, wie man den Classpath einrichten muss.

Probleme

  • Größe: Der Teil des Archivs, den man in sein Projekt installieren muss, hat ca. 38MB. Das finde ich ehrlich gesagt etwas happig (Zumal mein build-Skript das nochmal in das build-Verzeichnis kopiert, um es dann nach dist zu kopieren, macht über 100MB).
  • Geschwindigkeit: Das Erzeugen einer Testliste als HTML-Dokument mit ca. 200 Einträgen, die im Ergebnis 5 Seiten PDF ergab, dauerte auf meinem Laptop über 15 Sekunden. Das reicht nicht, um mal eben in einem Widget eine Ausgabe zu machen.
  • Dokumentation: Ich konnte auf der Projektseite keine Javadocs finden. Der Sourcecode im Download-Bereich ist nach der Angabe dort nicht ganz vollständig (enthält nicht alle Plugins etc.) und ist natürlich(!) auch von der Größe her riesig.
  • Es gibt keine direkte Swing-Komponente zur Ausgabe. Dsa Ergebnis ist entweder HTML oder PDF. Für die Ausgabe muss man dann selber sorgen.
PeterHormanns war so freundlich, folgende Links zum Thema HTML-Ausgabe in Swing zu sammeln:

Alternativen #

Eine Recherche im Januar 2006 ergab folgende freie Reportgeneratoren in Java. Auch Ende 2007 ist wohl auch kein wesentlicher neuer Stern am Java-Himmel aufgegangen.

Tags:  Datenbank, Eclipse

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-3) was last changed on 21-Jan-2008 13:38 by ThomasBayen