MOA-SP/SS
Basis-Installation
(Webservice)
Installationsschritte:
Vorbereitung Tomcat Konfiguration Webservice Deployment Tomcat Start/Stop Logging |
Basis-Installation (Webservice) Vorbereitung
Installation des JDK
Installieren Sie das JDK 1.3.1 oder JDK 1.4.1 in ein beliebiges Verzeichnis. Das Wurzelverzeichnis der JDK-Installation wird im weiteren Verlauf als $JAVA_HOME bezeichnet. Installation von Tomcat Installieren Sie Tomcat in ein Verzeichnis, das keine Leerzeichen im Pfadnamen enthält. Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als $CATALINA_HOME bezeichnet. Hinweis: Tomcat wird in einer Distribution für JDKs ab Version 1.2 und in einer Distribution speziell für JDK 1.4 ausgeliefert. Installieren Sie die zur Version Ihres JDK passende Tomcat-Version. Entpacken des MOA SP/SS Webservices Entpacken Sie die Datei moa-spss-1.0.x.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SPSS_INST bezeichnet. Installation der IAIK JCE und JSSE im JDK 1.3.1 Da Java in der Version 1.3.1 ohne Unterstützung für Kryptographie und SSL ausgeliefert wird, muss dies manuell nachträglich installiert werden. Für den Betrieb des MOA SP/SS Webservices ist es deshalb notwendig, die Dateien aus dem Verzeichnis $MOA_SPSS_INST/ext13 in das Verzeichnis $JAVA_HOME/jre/lib/ext zu kopieren. Installation der IAIK JCE im JDK 1.4.1 Um die mit MOA SP/SS ausgelieferte IAIK JCE im JDK 1.4.1 zu installieren, müssen die Dateien aus dem Verzeichnis $MOA_SPSS_INST/ext14 in das Verzeichnis $JAVA_HOME/jre/lib/ext kopiert werden. Zusätzlich müssen die sogenannten "Unlimited Strength Jurisdiction Policy Files 1.4.1" heruntergeladen, entpackt und ins Verzeichnis $JAVA_HOME/jre/lib/security kopiert werden. Der Download für diese Dateien findet sich am unteren Ende der Download-Seite für das JDK 1.4.1 in der Sektion "Other Downloads". |
|
Konfiguration von Tomcat
Minimale Konfiguration
Die zentrale Konfigurations-Datei von Tomcat ist $CATALINA_HOME/conf/server.xml. Tomcat wird grundsätzlich mit einer funktionierenden Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast enthält und viele Ports offen lässt. Die Datei $MOA_SPSS_INST/tomcat/server.xml enthält eine minimale Tomcat-Konfiguration, die ausschließlich den Connector für HTTP freischaltet. Durch kopieren dieser Datei nach $CATALINA_HOME/conf/server.xml kann Tomcat mit dieser Konfiguration gestartet werden. SSL Ein sicherer Betrieb des MOA SP/SS Webservices setzt voraus, dass für die Übertragung der Daten SSL verwendet wird. Das Dokument Tomcat SSL Configuration HOW-TO gibt einen guten Überblick über die Konfiguration von SSL in Tomcat. Da das JDK bereits im Abschnitt "Vorbereitung" auf SSL vorbereitet wurde, sind an dieser Stelle nur noch folgende Schritte notwendig:
Die Konfiguration von SSL im Tomcat kann entfallen, wenn Tomcat ein Webserver vorgeschaltet ist, der die SSL-Kommunikation mit dem Aufrufer des Webservices übernimmt.
MOA Administrator
Der Aufruf der URL für die dynamische Konfiguration des MOA SP/SS Webservices ist durch eine Passwort-Abfrage geschützt, und kann nur von Benutzern aufgerufen werden, die der Benutzer-Rolle moa-admin zugeordnet werden können. Um diese Benutzer-Rolle und einen oder mehrere Benutzer einzurichten, müssen in der Datei $CATALINA_HOME/conf/tomcat-users.xml unter dem Element <tomcat-users> sinngemäß folgende Einträge hinzugefügt werden: <role rolename="moa-admin"/> <user username="moa" password="moa" roles="moa-admin"/> |
|
Deployment des MOA SP/SS Webservices in Tomcat
Um das MOA SP/SS Webservice in Tomcat für den Ablauf vorzubereiten, sind folgende Schritte notwendig:
|
|
Starten und Stoppen von Tomcat Windows Das Verzeichnis $MOA_SPSS_INST/tomcat/win32 enthält Script-Dateien zum Starten und Stoppen sowie für das Installieren und Deinstallieren von Tomcat als Service. Vor der erstmaligen Verwendung der Scripts müssen in den ersten Zeilen die Umgebungsvariablen JAVA_HOME und CATALINA_HOME angepasst werden. Unix Zunächst müssen die im vorigen Abschnitt besprochenen Umgebungsvariablen gesetzt sein. Die Datei $MOA_SPSS_INST/tomcat/unix/moa-env.sh enthält ein Beispiel dafür. Nach dem Deployment und der Konfiguration kann Tomcat aus seinem Wurzelverzeichnis mit bin/catalina.sh startgestartet werden. Das Stoppen von Tomcat erfolgt analog mit bin/catalina.sh stop Prüfen des erfolgreichen Starts Ein erfolgreicher Startvorgang ist an folgender Log-Meldung
ersichtlich: INFO | 18 10:09:45,155 | main | TID=startup NID=<null> MSG=MOA Konfiguration erfolgreich geladenBei leichten Fehlern in der Konfiguration geben WARN Log-Meldungen unmittelbar davor Aufschluss über fehlerhafte Konfigurations-Einträge. Nach dem Starten von Tomcat steht das MOA SP/SS Webservice für die Server-Signatur und Signatur-Prüfung unter den Endpunkten http://host:port/moa-spss/services/SignatureCreationbzw. http://host:port/moa-spss/services/SignatureVerificationzur Verfügung. Die Verfügbarkeit des Services kann einfach überprüft werden, indem der Endpunkt mit einem Web-Browser aufgerufen wird und zu einer Anzeige einer Informationsseite führt. Dynamische Konfigurations-Updates können durch den Aufruf der URL http://host:port/moa-spss/ConfigurationUpdate (z.B. durch Eingabe in einem Browser) durchgeführt werden. Konnte das MOA-SPSS Webservice nicht ordnungsgemäß konfiguriert und gestartet werden, geht das aus der Log-Meldung hervor: FATAL | 18 10:17:03,475 | main | TID=startup NID=<null> MSG=Fehler beim Lesen der MOA Konfiguration: das Service steht nicht zur VerfügungIn diesem Fall geben die WARN bzw. ERROR Log-Meldungen unmittelbar davor Aufschluss über den genaueren Grund. |
|
Logging
Das MOA SP/SS Webservice verwendet Jakarta Log4j für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j bietet zahlreiche Konfigurationsmöglichkeiten, die ausführlich im Log4j Handbuch beschrieben sind. Unter anderem gibt es die Möglichkeit, folgende Einstellungen vorzunehmen:
Als Ausgangspunkt für die Logging-Konfiguration liegt die Datei $MOA_SPSS_INST/conf/moa-spss/log4j.properties bei. Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Datei moa-spss.log geschrieben.
Format der Log-Meldungen Anhand einer konkreten Log-Meldung wird das Format der MOA SP/SS Log-Meldungen erläutert: INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1 MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerificationDer Wert INFO besagt, dass die Log-Meldung im Log-Level INFO entstanden ist. Folgende Log-Levels existieren:
Der Wert Thread-3 bezeichnet den Tomcat Worker-Thread, von dem die Anfrage bearbeitet wird. Der Wert von TID gibt die für jede Anfrage eindeutige Transaktions-ID an. Log-Meldungen, die bei der Abarbeitung dieser Anfrage geschrieben werden, enthalten alle einen Hinweis auf die entsprechende Transaktions-ID. Der Wert von NID gibt den Rechner-Knoten an, auf dem das MOA SP/SS Webservice läuft (bei NID=<null> ist dieser Wert nicht konfiguriert). Der Rest der Zeile einer Log-Meldung ist der eigentliche Text, mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist häufig ein Java Stack-Trace angefügt, der eine genauere Ursachen-Forschung ermöglicht. Wichtige Log-Meldungen Neben den im Abschnitt "Starten und Stoppen von Tomcat" beschriebenen Log-Meldungen, die anzeigen, ob das Service ordnungsgemäß gestartet wurde, geben nachfolgenden Log-Meldungen Aufschluss über die Abarbeitung von Anfragen. Die Entgegennahme einer Anfrage wird angezeigt durch: INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> MSG=Aufruf von Adresse=127.0.0.1 INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> MSG=Client-Zertifikat nicht verfügbar
Die 3. Log-Meldung besagt, dass für die Abarbeitung dieser Anfrage kein Client-Zertifikat verfügbar ist (entweder, weil die Anfrage über HTTP eingelangt ist, oder weil die SSL Client-Authentisierung nicht eingeschaltet ist). Bei erfolgreicher SSL Client-Authentisierung, gibt beispielsweise folgende Log-Meldung Informationen über das Client-Zertifikat aus:
INFO | 12 13:58:08,772 | Thread-10 | TID=1045054687159-2 NID=<null> MSG=Client-Zertifikat: Subject=CN=Testuser, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=AT, Serial=1.039.104.204, Issuer=CN=TestCA, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=ATEine erfolgreich abgearbeitete Anfrage wird angezeigt durch: INFO | 01 21:25:53,168 | Thread-3 | TID=1049225059594-106 NID=<null> MSG=Anfrage erfolgreich abgearbeitetEin Fehler beim Abarbeiten der Anfrage wird angezeigt durch: INFO | 01 21:25:27,642 | Thread-3 | TID=1049225059594-100 NID=<null> MSG=Fehler beim Abarbeiten der Anfrage
In diesem Fall gibt der mitgeloggte Stacktrace Auskunft über die Art des Fehlers. Der Aufrufer des MOA SP/SS Webservices bekommt einen Fehlercode sowie eine kurze Beschreibung des Fehlers als Antwort zurück.
Die Tatsächlich übertragenen Anfragen bzw. Antworten werden aus Effizienzgründen nur im Log-Level DEBUG angezeigt. |
© 2003
|