Speichern von Auftragsergebnissen im Cache

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Beispiele zur Konfiguration von Aufträgen >

Speichern von Auftragsergebnissen im Cache

In diesem Beispiel wird gezeigt, wie Sie das Ergebnis eines Auftrags (eines so genannten Cache Producers) im Cache speichern und es in einem anderen Auftrag (dem so genannten Cache Consumer) verwenden. Beide Aufträge werden als Web-Dienste mit dem folgenden Verhalten bereitgestellt:

 

Wenn der Cache Producer-Webdienst aufgerufen wird, wird der Inhalt des Verzeichnisses rekursiv aufgelistet, der Cache wird erstellt oder aktualisiert und das Ergebnis wird anschließend im Bowser angezeigt;
Wenn der Cache Consumer-Webdienst aufgerufen wird, wird der vom Cache Producer-Webdienst erstellte Cache gelesen und das Ergebnis wird im Browser angezeigt.

 

Wir werden nun die Ausführungszeit beider Aufträge miteinander vergleichen und werden sehen, dass der zweite Auftrag viel schneller als der erste ausgeführt wird, da er die im Cache gespeicherten Daten nutzt.

 

Voraussetzungen

Benötigte Lizenzen: FlowForce Server
FlowForce Server wird an der konfigurierten Netzwerkadresse und am konfigurierten Port ausgeführt (siehe Einstellen der Netzwerkadresse und des Ports).
Sie haben ein FlowForce Server-Benutzerkonto mit Berechtigungen für einen der Container (standardmäßig hat jeder authentifizierte Benutzer Zugriff auf den in diesem Beispiel verwendeten Container /public).

 

Tipp

In diesem Beispiel werden zwar Windows-Pfade und Befehle verwendet, Sie können es aber auch auf anderen Betriebssystemen testen, wenn Sie die Pfade und Befehle entsprechend ändern.

 

Erstellen des Cache Producer- und Cache Consumer-Auftrags

1.Klicken Sie auf Konfiguration und navigieren Sie zum Container /public.
2.Klicken Sie auf Erstellen und wählen Sie Auftrag erstellen.
3.Geben Sie im Feld für den Auftragsnamen DirectoryListing ein.
4.Fügen Sie unter "Ausführungsschritte" einen neuen Ausführungsschritt mit den folgenden Einstellungen hinzu:

 

Funktion ausführen

Navigieren Sie zur Funktion /system/shell/commandline.

Befehl

Geben Sie den folgenden Shell-Befehl ein:

 

dir /s

 

Auf Windows-Systemen listet dieser Befehl den Inhalt des Arbeitsverzeichnisses rekursiv auf (siehe nächste Einstellung).

Arbeitsverzeichnis

Setzen Sie den Wert auf ein Verzeichnis auf dem Rechner, auf dem FlowForce ausgeführt wird, z.B.:

 

c:\

Das Ergebnis dieses Schritts zuweisen an

Wir müssen den vom Ausführungsschritt zurückgegebenen Wert in einem späteren Schritt referenzieren, daher muss er einen Namen haben. Nennen wir den Wert in diesem Feld hier dir.

 

5.Fügen Sie unter "Ausführungsschritte" einen neuen Ausführungsschritt mit den folgenden Einstellungen hinzu:

 

Funktion ausführen

Navigieren Sie zur Funktion /system/compute.

Ausdruck

Geben Sie den folgenden FlowForce Server-Ausdruck ein:

 

stdout(dir)

 

Die stdout-Funktion konvertiert die vom vorherigen Ausführungsschritt zurückgegebenen Rohdaten in einen Datenstream (siehe Schrittergebnisfunktionen).

 

6.Setzen Sie den Rückgabetyp unter "Ausführungsergebnis" auf stream. Wie Sie vielleicht bemerkt haben, haben wir denselben Datentyp wie den gewählt, der vom letzten Ausführungsschritt des Auftrags zurückgegebenen wurde.
7.Aktivieren Sie unter "Cache-Ergebnis" das Kontrollkästchen Ergebnis im Cache speichern..
8.Aktivieren Sie das Kontrollkästchen Automatisch neuen Zwischenspeicherauftrag erstellen.. und geben Sie als Namen des Web-Diensts DirectoryListingCached ein.
9.Aktivieren Sie unter "Dienst" das Kontrollkästchen Diesen Auftrag über HTTP...zur Verfügung stellen und geben Sie DirectoryListing als Namen des Diensts ein.

 

Der Auftrag sollte zu diesem Zeitpunkt folgendermaßen aussehen (vorausgesetzt, Sie haben keine anderen Pfade oder Shell-Befehle verwendet).

 

ExampleCacheJob

 

10.Wählen Sie unter "Anmeldeinformationen" einen vorhandenen Eintrag aus oder definieren Sie lokale Anmeldeinformationen (siehe Anmeldeinformationen).
11.Klicken Sie auf Speichern.

 

 

Sie haben nun sowohl den Cache Producer als auch den Cache Consumer-Auftrag fertig konfiguriert. Um die Ausführungsgeschwindigkeit der beiden Aufträge zu vergleichen, können Sie nun folgende Schritte durchführen:

 

1.Rufen Sie die URL des Cache Producer-Dienstes (DirectoryListing) im Browser unter http://[FlowForceServer]:[Port]/service/DirectoryListing auf (Wenn Sie den Web-Dienst nicht aufrufen können, überprüfen Sie die konfigurierte Netzwerkadresse und den Port). Beachten Sie, dass es eine Weile dauern kann, da mit dem Auftrag die Liste des Inhalts von c:\ rekursiv aufgelistet wird.
2.Kontrollieren Sie im Auftrags-Log, wie lange die Ausführung des Auftrags gedauert hat (siehe Anzeige des Auftrags-Logs).
3.Führen Sie dieselben Schritte als Nächstes für den Cache Consumer-Dienst (DirectoryListingCached) aus. Da dieser Dienst den Cache nutzt, anstatt die Verzeichnisauflistung auszuführen, sollte er viel weniger lange dauern.

© 2019 Altova GmbH