Das Notes Forum

Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: ToniTester am 03.02.08 - 20:06:09

Titel: Mit BIRT Reports aus Domino DBs ziehen?
Beitrag von: ToniTester am 03.02.08 - 20:06:09
Hi, ich möchte gerne mit BIRT http://www.eclipse.org/birt/ eine Auswertung von Domino Daten durchführen.
Viele Benutzer werden per Browser Daten in die Domino-DB eingeben und dann werden eine Handvoll Benutzer mit ihrer lokalen BIRT Rich Client Installation auf den Domino Server  und die DB dort zugreifen. Dabei ist also kein Notes Client und keine Notes-ID im Spiel.
 
Spannende Sache ist jetzt: wie wird am Besten auf die Notes-DB auf dem Domino Server zugegriffen? JDBC? Aber der ist ja nicht mehr wirklich in Verwendung... Ideen?

Danke & Grüße
Toni

Titel: Re: Mit BIRT Reports aus Domino DBs ziehen?
Beitrag von: m3 am 04.02.08 - 00:32:26
Der Hr. Tester testet anscheinend so einiges. So zum Beispiel auch, wie man Cross-Postings (http://atnotes.de/projekte/bp/team/tmc/_forumsregeln/rules001.html#23) macht.

Zu finden ist die Frage nämlich auch noch bei den Kollegen vom Domino-Forum (http://www.dominoforum.de/modules/newbb/viewtopic.php?topic_id=17672&forum=48&post_id=100247#forumpost100247).
Titel: Re: Mit BIRT Reports aus Domino DBs ziehen?
Beitrag von: azique am 21.02.08 - 12:19:03
Ich stehe vor einer ähnlichen Aufgabe.
Um für unsere Anwendungen vernünftige Auswertungen bereitstellen zu können, soll ein Versuch mit BIRT gestartet werden. In Eclipse-Umgebung macht es sich ja ganz gut. Ich scheitere jetzt aber an der Integration in eine Notes-Datenbank.

Folgendes verwende ich:
BIRT Designer 2.1.3 zur Erstellung der ReportDesigns
BIRT ReportEngine 2.1.3 um Daten mithilfe der Designs schön darzustellen.
Notes 7, da die o.g. BIRT Versionen die JRE 1.4.2 benötigen

Ich habe jetzt einen Agenten, der eine Java-Bibliothek mittels LS2J anspricht. In dieser Java-Bibliothek sind alle jar-Dateien, die in BIRT\ReportEngine\lib liegen, importiert.

Ich erhalte jetzt in der Java-Debug-Konsole die Fehlermeldung, dass beim Platform.startup() etwas schiefgelaufen ist.

Jetzt ist meine grundsätzliche Frage, kann das alles überhaupt so in Notes funktionieren, wenn ich kein Eclipse (die "Platform", wie ich vermute) verwende?

Details folgen evtl. nach dem Mittagessen :)
Titel: Re: Mit BIRT Reports aus Domino DBs ziehen?
Beitrag von: flaite am 21.02.08 - 12:46:16
Birt benötigt Eclipse.
Du kannst es vielleicht als externe Anwendung über Webservices ansprechen. 
Titel: Re: Mit BIRT Reports aus Domino DBs ziehen?
Beitrag von: azique am 21.02.08 - 13:03:44
Danke für die flotte Antwort!  :D
Ist zwar auf den ersten Blick enttäuschend, aber werde mich mal an der Alternative mit den Webservices versuchen.

Wobei ich noch klarstellen möchte, dass ich nur die Hintergrund-Generierung von Auswertungen benötige (also nur die ReportEngine ansprechen müssen sollte). Die Erstellung der Designs erfolgt außerhalb von Notes, eben in Eclipse selbst.
Titel: Re: Mit BIRT Reports aus Domino DBs ziehen?
Beitrag von: flaite am 21.02.08 - 13:52:23
Stimmte aber möglicherweise nicht.
Hier ist beschrieben wie man die Report Engine API eventuell doch in anderen jars nutzen kann. Wenn das nicht geht, kann man das zumindest in Tomcat oder einen anderen AppServer einbinden und das ist dann wiederum einfach über webservices zu erreichen.
Titel: Re: Mit BIRT Reports aus Domino DBs ziehen?
Beitrag von: azique am 21.02.08 - 15:04:12
Hm, es geht doch eigentlich nur darum, eine Instanz der ReportEngine zu erzeugen. Das kann doch so schwer nicht sein.

Der fragliche Code in Eclipse lautet wie folgt:
Code
EngineConfig config = new EngineConfig( );
config.setEngineHome( ENGINE_HOME_PATH );
config.setLogConfig(null, Level.FINE);
			
Platform.startup( config );
IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
IReportEngine engine = factory.createReportEngine( config );

Ein Ziel soll es ja sein, dass unsere Kunden nichts zusätzlich installieren müssen, um die Auswertungen ausführen zu können. Wenn ich aber einen Ordner im Dateisystem brauche, um die Engine laufen zu lassen, scheint dieses Ziel wohl nicht realistisch, oder? Das ist in Zeile zwei des Codes mit ENGINE_HOME_PATH angegeben, in dem sich das hier befindet:
Code
 Verzeichnis von D:\Programme\Eclipse\BIRT\ReportEngine\2_1_3

21.02.2008  12:15    <DIR>          .
21.02.2008  12:15    <DIR>          ..
21.02.2008  12:15    <DIR>          configuration
05.07.2007  19:51             1.631 genReport.bat
05.07.2007  19:51             1.249 genReport.sh
20.02.2008  17:26    <DIR>          lib
20.02.2008  17:26    <DIR>          plugins
20.02.2008  17:26    <DIR>          samples
21.02.2008  10:32    <DIR>          workspace
Den Inhalt des Orders lib habe ich ja wie oben geschrieben in meine Java-Bibliothek importiert.
Titel: Re: Mit BIRT Reports aus Domino DBs ziehen?
Beitrag von: flaite am 22.02.08 - 09:47:41
Oops gestern link vergessen: http://www.eclipse.org/birt/phoenix/deploy/reportEngineAPI.php
Offenbar sind ein paar extra-Installations-Schritte notwendig.

Die Verteilung über die Anwender könnte über ein Installationsprogramm laufen. Gibts ja mittlerweile auch openSource Zeugs, das sowas generiert. Zumindest wird da vermutlich nicht in die Registry geschrieben.