Der jadice server ist ab Sun/Oracle Java VM in Version 1.7.0 Update 3 (Java 7) oder neuer lauffähig. Für die Installation muss zuerst die Distributionsdatei (i. d. R. jadice-server-5.x.y.z-dist.zip) in ein leeres Verzeichnis auf einem lokalen Laufwerk des Servers entpackt werden. Datei- oder Ordnernamen, die im weiteren Verlauf dieses Entwicklerhandbuchs genannt werden, sind relativ zu diesem Verzeichnis.

Die Installations-/Startdateien befinden sich im Verzeichnis /bin.

Um jadice server als Windows-Dienst zu installieren und zu administrieren, stehen folgende Dateien zur Verfügung:

Alternativ kann der Server mit dem Skript jadice-server.bat gestartet werden. Für Linux-basierte Betriebssysteme ist das Skript jadice-server.sh zu verwenden. Beim Start wird eine Konsole geöffnet; mit der Tastenkombination Strg+C kann jadice server beendet werden.

Alle serverseitig benötigten jar-Dateien befinden sich im Verzeichnis /server-lib.

Neben der Distributionsdatei von jadice server erhalten Sie eine separate Lizenzdatei (JadiceServerLicense.properties). Diese muss im Konfigurationsverzeichnis /server-config des jadice server abgelegt werden.

Ist diese Datei nicht vorhanden bzw. die Lizenz abgelaufen oder ungültig, wird beim Start des jadice servers sowie bei jeder Anforderung eines Jobs eine Fehlermeldung in das Server- und das Client-Log geschrieben.

Sollte es sich um eine zeitlich beschränkte Evaluationslizenz handeln, wird nur beim Start des Servers eine Meldung gezeigt. Darüber hinaus gibt es keine Funktionseinschränkungen des jadice server.

Es stehen drei Varianten für den Aufbau des Messagingsystems zur Verfügung.

Welche dieser drei Varianten zum Einsatz kommt, wird in der Datei server-config/application/server.xml konfiguriert. Im Abschnitt <bean id="jms-connection-factory" …> wird der zu verwendende Konnektor und im Abschnitt <property name="properties" …>> unter jadice.server.queue-name der Name der Message-Queue und unter jadice.server.activemq-port der Port für ActiveMQ konfiguriert, wohin sich jadice server verbinden soll. Da die Klasse ActiveMQConnectionFactory sowohl QueueConnectionFactory wie auch TopicConnectionFactory implementiert, wird sie über die Aliase jms-queue-connection-factory wie auch jms-topic-connection-factory an den jeweils passenden Stellen referenziert.

Beispiele, wie Verbindungen über IBM Websphere MQ aufgebaut werden können, sind in der Datei server-config/application/example/jms.xml zu finden. Die passende Konfiguration muss anstelle der vorhandenen Abschnitte <bean id="jms-queue-connection-factory" …> bzw. <bean id="jms-topic-connection-factory" …> in die Datei server-config/application/server.xml eingefügt werden.

jadice server stellt standardmäßig das zu verwendende Messagingsystem (d. h. den Message-Broker) in der Server-Instanz bereit. In diesem Falle wird Apache ActiveMQ als Messagingsystem verwendet. Es wird in der Datei server-config/application/activemq-broker.xml konfiguriert. Um die Übertragung zwischen Client und Server mit SSL zu verschlüsseln, findet sich unter http://activemq.apache.org/ssl-transport-reference.html und http://activemq.apache.org/how-do-i-use-ssl.html eine Anleitung, wie dies realisiert werden kann.

Der Port und der Name der verwendeten Messagequeue werden zentral in der Datei server-config/application/server.xml konfiguriert, siehe Abschnitt „Konfiguration des Messagingsystems“

Um diesen internen Broker nicht zu starten, muss der Abschnitt <bean id="broker" …> in der Datei server-config/application/server.xml auskommentiert werden.

Folgende Konfigurationsänderung ist notwendig, um jadice server via ActiveMQ in einem Cluster zu betreiben:

Der Cluster hat dabei folgenden Aufbau:

Damit das Clustering wirksam ist, müssen die Clients entsprechend konfiguriert werden. Finden sich die Broker über Auto-Discovery, so kann man für Clientverbindungen die Methode Multicast-Discovery verwenden. Dazu muss der Gruppenname des Clusters bekannt sein, den die jadice server-Instanzen bilden. Dieser wird in der Datei /server-config/application/server.xml unter jadice.server.activemq-group gesetzt und lautet standardmäßig jadice-server.cluster.

Die URL, mit der sich ein Client in diesem Fall mit dem Cluster verbinden kann, lautet (vgl. Codebeispiel im Abschnitt „Erstellen eines Server-Jobs“): discovery:(multicast://default)?group=jadice-server.cluster&initialReconnectDelay=100

Wurde ein statisches Network-of-Brokers definiert, muss die Verbindungs-URL ebenfalls statisch definiert werden: failover:(<URL_Server_A>,<URL_Server_B>), zum Beispiel: failover:(tcp://serverA:61616,tcp://serverB:61616).

Der Server wird über einen betriebssystemabhängigen Wrapper gestartet. Hier werden Java VM und Klassenpfad-Parameter definiert.

Die Wrapper-Konfigurationsdatei wrapper.conf befindet sich im Verzeichnis /wrapper.

Pfad zur Java VM:

# Java Application
wrapper.java.command=java

Definition weiterer Klassenpfadeinträge:

Werden für die Java Virtual Machine (JVM) zusätzliche Parameter benötigt, z. B. Setzen des temporären Verzeichnisses für die VM, können diese auf folgende Weise gesetzt werden:

# Beispiel zusätzlicher JVM Parameter
wrapper.java.additional.1=-server
wrapper.java.additional.2=-Djava.io.tmpdir=C:\tmp
wrapper.java.additional.N=<weitere Parameter>
	  			

Definition JVM-Speichereinstellungen, wrapper.java.initmemory entspricht Parameter -Xms, wrapper.java.maxmemory entspricht Parameter -Xmx:

# Initial Java Heap Size (in MB)
#wrapper.java.initmemory=3

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=512
	  			

Außerdem ist es möglich, den Klassenpfad und somit die geladenen Java-Bibliotheken zu ändern, um beispielsweise jadice server um eigene Worker-Implementierungen zu erweitern. Dies geschieht in den Dateien /server-config/jadice-server.options und /server-config/jadice-server-local.options. Folgende Einträge sind hier möglich:

-cp 
<jar-Bibliothek>
Fügt eine einzelne jar-Bibliothek zum Klassenpfad von jadice server hinzu.
--classpath
<jar-Bibliothek>
-ld 
<Verzeichnis>
Alle jar-Bibliotheken, die im angegebenen Verzeichnis vorhanden sind, werden in alphabetischer Reihenfolge zum Klassenpfad von jadice server hinzugefügt.
--library-dir 
<Verzeichnis>

Dabei ist zu beachten, dass zwischen der Option und dem Parameter ein Zeilenumbruch erfolgen muss. Der effektive Klassenpfad wird in folgender Weise gebildet:

  1. Einträge unter -cp / --classpath aus jadice-server.options

  2. Einträge unter -cp / --classpath aus jadice-server-local.options

  3. Einträge unter -ld / --library-dir aus jadice-server.options

  4. Einträge unter -ld / --library-dir aus jadice-server-local.options

Des Weiteren sind folgende Optionen möglich:

-xo 
<Konfigurationsdatei>
Bindet eine weitere Konfigurationsdatei ein. Diese muss hier gezeigter Syntax entsprechen.
--extra-options
<Konfigurationsdatei>
-dCLBeim Start wird eine Auflistung des effektiven Klassenpfads und der Classloader-Hierarchie angezeigt.
--debug-classpath
-dXEventuelle Exceptions und Stacktraces, die während des Startens geworfen werden, werden ausgegeben.
--debug-using-exceptions

Wird jadice server unter Windows NT, 2000, Server 2003 oder einer früheren Version installiert und soll die Konvertierung mit den MSWordNode / MSExcelNode /… erfolgen, so muss zunächst das Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) installiert werden.

Unter MS Office 2007 Service Pack 2 und neuer ist es möglich, PDFs nativ zu exportieren. In Versionen von MS Office 2007 vor Service Pack 2 muss das 2007 Microsoft Office Add-in: Microsoft Save as PDF installiert werden, um den nativen PDF-Export nutzen zu können.

Des Weiteren muss im Trust Center (deutsch: Vertrauensstellungscenter) von MS Office eingestellt werden, wie mit Makros umgegangen werden soll. Da im Serverbetrieb keine Benutzerabfrage möglich ist, sind nur die Optionen Alle Makros ohne Benachrichtigung deaktivieren und Alle Makros aktivieren sinnvoll (siehe Abbildung 5.1, „Zulässige Einstellungen für Makros in MS Office“). Ebenso ist mit den ActiveX-Einstellungen zu verfahren.


Um die Sicherheitsbestimmung zu umgehen, die es verbieten, dass jadice server auf MS Outlook zugreift, muss das Programm Advanced Security for Outlook installiert und konfiguriert werden.

Konfiguration:

  1. Loggen Sie sich mit unter dem Benutzer, unter dem jadice server läuft, auf dem Server-Rechner ein.

  2. Starten Sie eine Konvertierung, die den MSOutlookNode auslöst.

  3. Bestätigen Sie den Dialog von Advanced Security for Outlook mit Allow Access und Always perform …

Außerdem müssen unter MS Outlook 2007 die Option Bei Programmbeendigung Ordner 'Gelöschte Objekte' leeren aktiviert. Sie finden diese Einstellung unter → Optionen → Weitere. Außerdem muss die Option Warnung anzeigen, bevor Elemente endgültig gelöscht werden deaktiviert sein. Diese Einstellung befindet sich unter unter Extras → Optionen → Weitere → Erweiterte Optionen.

Zur Verwaltung von Log-Einträgen wird auf das Framework log4j zurückgegriffen. Dieses wird in der Datei /server-config/logging/log4j-appenders.xml bzw. /server-config/log4j-appenders-mvm.xml im Multi-VM-Modus (siehe Abschnitt „Konfiguration Multi-VM-Modus“) konfiguriert. Standardmäßig werden Log-Meldungen auf die Konsole ausgeschrieben sowie im Verzeichnis /log/ gespeichert.

Die Dateien, die in diesem Verzeichnis gespeichert werden, werden in der Standardkonfiguration täglich rotiert. Diese geschieht mit Hilfe des LogAppenders DailyRollingFileAppender . Da dieser nicht die Option bietet, dass nur die Log-Dateien der letzten n Tage aufbewahrt werden, sollten Sie sicherstellen, dass für das Speichern der Log-Dateien ausreichend Speicherplatz zur Verfügung steht oder die ältesten Dateien automatisch und regelmäßig ausgelagert oder gelöscht werden. Falls dies nicht möglich ist, empfiehlt es sich, den RollingFileAppender zu verwenden; dieser bietet die Option nur eine maximale Anzahl an Dateien aufzubewahren.

Weitere Möglichkeiten für das Logging sind in der Konfigurationsdatei als Kommentare aufgeführt und müssen lediglich aktiviert werden.

Um den GhostscriptNode verwenden zu können, müssen zunächst folgende Voraussetzungen geschaffen werden:

  • Installation von GPL Ghostscript, Version 8.64 oder neuer

  • Anpassung der Datei /server-config/ghostscript/ghostscript.xml. Unter <bean id="ghostscript" …> muss ein Element eingefügt werden, das folgenden Inhalt hat: <property name="executableName" value="<Ort der Ghostscript-Anwendungsdatei>" />

    Anmerkung

    Für die Orte, unter denen Ghostscript unter Windows bzw. Linux standardmäßig installiert wird, sind bereits Vorlagen vorhanden. Hierzu muss nur der passende XML-Kommentar entfernt werden.

Durch die Einbindung von externen Bibliotheken ist es möglich, dass diese in einem Fehlerfall die Java Virtual Machine und somit auch den kompletten jadice server zum Absturz bringen.

Um in diesem Fall mit der Bearbeitung von weiteren Jobs fortzufahren, gibt es die Möglichkeit, den jadice server auf einem Rechner in mehreren Instanzen zu starten. Hierbei übernimmt eine zentrale Instanz des jadice servers die Überwachung aller anderen, die die eigentliche Arbeit durchführen. Sollte eine dieser Arbeiter-Instanzen nicht mehr reagieren oder abgestürzt sein, beendet die zentrale Instanz den zugehörigen Prozess und startet automatisch eine neue Instanz des jadice servers.

Um jadice server in diesem Modus zu starten, muss in der Datei /server-config/application/server.xml der auskommentierte Teil wie folgt geändert werden:

<!--  <import resource="single-instance.xml"/> -->
	<import resource="multi-vm-manager.xml"/>
	  			

In der Datei /server-config/application/multi-vm-manager.xml können die Arbeiterinstanzen im Abschnitt <bean id="server" …> konfiguriert werden. Um die Anzahl der zu startenden Arbeiter-Instanzen anzupassen, gibt es folgende Möglichkeiten:

Des Weiteren können unter <property name="instanceJVMOptions" …> der zu startenden JVM Startparameter wie z. B. die verfügbare Speichergröße mitgegeben werden.

Über die Security-Schnittstelle kann verhindert werden, dass Clients ohne Authentifikation auf jadice server und ohne Beschränkungen auf dessen vollen Funktionsumfang zugreifen. Um diese Schnittstelle zu aktivieren, muss zunächst in der Datei server-config/application/server.xml die Kommentarmarkierung um den Abschnitt <import resource="security.xml" /> entfernt werden. Wenn jadice server im Multi-VM-Modus läuft, muss die Datei server-config/application/multi-vm-instance.xml entsprechend angepasst werden.

Die Datei server-config/application/security.xml enthält eine beispielhafte Konfiguration, die zunächst auf die gewünschte Sicherheitsstufe angepasst werden muss. Dies und wie die Sicherheits-Schnittstelle anschließend verwendet werden kann, ist in Kapitel 8, Sicherheits-Schnittstelle beschrieben.

[jadice server Version 5.0.5.0: Dokumentation für Entwickler und Administratoren. Veröffentlicht: 2014-06-16]
loading table of contents...