2016-07-31 23 views
0

Ich habe eine Linux-basierte nodejs Web-Anwendung, die ich brauche, um Berichte zu generieren, und ich habe Pentaho dafür gewählt.Pentaho Reporting mit NODEJS und ohne TOMCAT

Ich habe bisserver-ce (5.4) installiert, das funktioniert, aber das ist ein Overkill, da es Tomcat verwendet, der ein Ungetüm ist und riesige Mengen an CPU und Speicher (1.5GB +) verwendet, die ich nicht viel habe und außerdem benötige ich keine Benutzerkonsole, Benutzerverwaltung oder Sicherheit usw. etc oder irgendeine der anderen Funktionen, die biserver bietet.

Momentan werden die Anforderungen von nodejs back-end an biserver: 8080 gesendet und der resultierende PDF-Bericht wird dann mit nodejs an den Front-End-Browser des Clients weitergeleitet.

Tomcat konvertiert einfach eine HTTP-Anfrage und gibt das gerenderte PDF zurück, und da ich bereits einen Webserver mit nodejs habe, scheint dies ein wenig überflüssig zu sein, und ich möchte den Tomcat vollständig umgehen.

Also ich bin auf der Suche nach Tomcat zu beseitigen und entweder einen Server auf einen Sockel hören oder einfach die Berichtsparameter über die Befehlszeile senden, aber googled dies für den letzten halben Tag, ich bin immer noch nicht in der Lage, eine endgültige Antwort zu finden oder ein Beispiel, wie ich Pentaho-Berichte erstellen kann, ohne Tomcat zu verwenden.

Kann dies getan werden? Ich habe gute JavaScript-Fähigkeiten, aber null Java-Programmierfähigkeiten, kann ich nur die Teile von biserver verwenden, die die Berichte erzeugen und Tomcat vollständig beseitigen?

Ich habe das Kompilierungsproblem in einen anderen Thread verschoben.

Antwort

0

Es scheint möglich, die Berichts-Engine zumindest in eine eigenständige Java-Anwendung einzubetten. Dies erfordert Kenntnisse über Java und das Pentaho-SDK, aber möglicherweise ist dies Ihre einzige Nicht-Tomcat-Option. Es gibt ein komplettes Beispiel Java-Projekt here, das Ihnen zeigt, wie dies zu erreichen ist (Code ist meist in Sample1.java).

+0

Danke für die Hilfe, ich habe versucht, wie oben Updates zu kompilieren, aber es scheitert mit 3 Fehlern - irgendwelche Ideen? – crankshaft

+0

Haben Sie AbstractReportGenerator.java kompiliert und setzen Sie Ihre 'CLASSPATH'-Umgebungsvariable auf das Verzeichnis, in dem sich die AbstractReportGenerator.class befindet? – mscdex

+0

Danke, ja, bereits in den gleichen Ordner wie die Sample1.java Datei kompiliert und exportiert den Pfad "CLASSPATH exportieren =/Users/xxx/java-dev/pentaho:/Benutzer/xxx/java-dev/pentaho/lib" aber es macht keinen Unterschied, Fehler ist identisch – crankshaft