BIRT-Reports ohne Eclipse anzeigen, exportieren und drucken
Donnerstag, 30. September 2010 15:08
Mit BIRT lassen sich in Eclipse sehr professionelle und ansprechende Reports erstellen. Insbesondere für die Darstellung im Webbrowser bieten sich interessante Funktionen. Teils gibt es Dinge, die in anderen Designern gar nicht, oder nur mit sehr viel Aufwand funktionieren.
Normalerweise verwende ich den Sybase PowerBuilder, aber eine mir aktuell gestellte Aufgabe lässt sich partout nicht damit erledigen, wenngleich sie recht simpel erscheint: Es sollen Grafiken bzw. Bilder in einer Tabellenzeile immer vertikal zentriert positioniert werden. In Eclipse BIRT ist das nur eine Eigenschaft, in PowerBuilder wäre Programmierung erforderlich. Auch in SAP Crystal Reports ist es mir nicht gelungen, dies zu bewerkstelligen.
Nun habe ich den Report fertiggestellt, kenne inzwischen BIRT ganz gut, aber die einfache Frage, wie liefere ich den Bericht nun aus, so dass auch der Auftraggeber diesen jederzeit mit Daten füllen kann, war unbeantwortet und auch nicht “mal eben” erledigt.
Da ich diese Aufgabe vermutlich noch öfter zu erledigen habe und ich Details gerne vergesse, schreibe ich den Weg vom fertigen Report bis zum Viewer und dem Druck hier einmal chronologisch nieder. Im Ergebnis erhält man einen BIRT Viewer, welcher im Browser geladen wird. Der Report wird präsentiert und man kann ihn als PDF, Word und Excel-Datei exportieren und natürlich drucken.
Webserver einrichten
Zunächst muss eine Webserver inkl. Applicationserver eingerichtet werden. Hört sich schlimmer an, als es ist:
- Tomcat herunterladen http://tomcat.apache.org/
- Tomcat in beliebiges Verzeichnis entpacken
- Java JDK installieren. Wichtig, JRE reicht nicht aus.
- Umgebungsvariable %JAVA_HOME% auf JDK-Verzeichnis setzen (bspw. c:\Program Files\Java\jdk<version>\). Dabei Besonderheiten der 64bit und/oder Vista/Windows 7-Umgebung berücksichtigen.
- Per ..\apache-tomcat-<version>\bin\startup.bat den Server starten
- Mit http://localhost:8080/manager/html prüfen, ob der Server funktioniert
- Server mit ..\apache-tomcat-<version>\bin\shutdown.bat beenden
BIRT Viewer im Server installieren
- BIRT Viewer (birt-runtime-<version>.zip) herunterladen und entpacken
- Darin enthaltenes Verzeichnis \WebViewerExample nach \apache-tomcat-<version>\webapps\ kopieren
- Dieses Verzeichnis sinnvoller in birt-viewer umbenennen
- birt.war in das Verzeichnis \apache-tomcat-6.0.29\webapps\birt-viewer\WEB-INF\lib\ kopieren
Wenn Tomcat 6 zum Einsatz kommt, ist noch die commons logging library hier herunterzuladen zu installieren.
JDBC Treiber installieren
Da die Reports sich meist mit Datenbanken verbinden, ist ein entsprechender JDBC-Treiber zu installieren. Da ich Sybase ASA 9 verwende, beziehe ich mich hier auf diesen.
- Treiber jconn3d.jar nach ..\webapps\birt-viewer\WEB-INF\platform\plugins\org.eclipse.birt.report.data.oda.jdbc\drivers kopieren
BIRT Viewer testen
- http://localhost:8080/birt-viewer/index.jsp laden
- View Example klicken
Eigenen Report testen
- <Reportname>.rptdesign nach \webapps\birt-viewer\report\ kopieren
- Report mit http://localhost:8080/birt-viewer/<Reportname>.rptdesign laden
Parameter übergeben
- Sind für den Report zu übergebende Parameter erforderlich, werden sie in einer erscheinenden Dialogbox abgefragt
- Sie können jedoch auch alternativ direkt per URL-Parameter übergeben werden
Fazit
Die Installation ist trivial, lediglich die Installaitin des Java SDK ist ein wenig abschreckend, weil extrem viele unnötige Verzeichnisse und Dateien installiert werden müssen. Hier handelt es sich dann auch wirklich um “installieren”, während Tomcat und BIRT eigentlich nur kopiert werden.
Weitere Informationen sind unter folgender Adresse zu finden:
Thema: 5) Webwerken | Kommentare (0) | Autor: Volker A Mönch
Heute ist Remember The Milk offline, vergangene Woche war Twitter offline. Mal wieder zu beachtende Zeichen für mich, nicht vollends auf die berühmte Cloud zu setzen. Nun habe ich meine wichtigsten Aufgaben auch im Kopf, aber ich nutze RTM auch für Notizen, da sie so praktisch auf alle Geräte synchronisiert werden, aber ist der Dienst nicht verfügbar, nutzt es natürlich nichts. Die Tatsache, dass mich solche Ereignisse in meiner Arbeit behindern, lässt mich weiter davon überzeugt sein, dass eiegentlich alles nach wie vor offline verfügbar sein muss.
Hat man viele entfernte Rechner zu benutzen oder zu warten, kommt schnell eine beachtliche Zahl an Konfigurationen zusammen, welche dann auch noch oft im System weit verstreut gespeichert sind. Eine Lösung ist eine Software, die das verwaltet. Hierfür gibt es kommerzielle Lösungen, aber auch kostenlose. Ich verwende 

SugarSync ist auf Android noch nicht ganz ausgereift, es stürzt gerne ab, das wird aber sicher besser werden. Der ganze Spaß ist übrigens kostenlos und kann hier bezogen werden: