Erstellen eines Auftrags zur Verzeichnisabfrage

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

Startseite >  Beispiele zur Konfiguration von Aufträgen >

Erstellen eines Auftrags zur Verzeichnisabfrage

In diesem Beispiel wird erklärt, wie ein Verzeichnis mit Hilfe eines in FlowForce Server erstellten Dateisystem-Triggers (siehe auch Dateisystem-Trigger) auf neue XML-Dateien überprüft wird. Immer, wenn eine neue XML-Datei zum Verzeichnis hinzugefügt wird, führt FlowForce Server einen Mapping-Auftrag mit der XML-Datei als Input-Parameter aus. Die Ausgabedatei des Mapping-Auftrags wird anschließend in ein Archivverzeichnis verschoben.

 

Voraussetzungen

Benötigte Lizenzen: MapForce Enterprise oder Professional Edition, MapForce Server oder MapForce Server Advanced Edition und 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).
Mit dem in diesem Beispiel erstellten Mapping-Auftrag werden Dateien von einem Verzeichnis in ein anderes kopiert. Stellen Sie daher sicher, dass beide Verzeichnisse in dem Betriebssystem, in dem FlowForce Server ausgeführt wird, vorhanden sind. Außerdem benötigen Sie Rechte, um Dateien in beiden Verzeichnissen zu erstellen (in diesem Beispiel werden die Verzeichnisse C:\temp und C:\Archive verwendet).

 

Verwendete Demo-Dateien

ShortApplicationInfo.mfd - das MapForce Mapping, von dem aus der FlowForce Server-Auftrag erstellt wird
ApplicationsPage.xml - die XML-Instanzdatei, die als Input für das Mapping bereitgestellt wird

 

Beide Dateien stehen unter dem folgenden Pfad auf dem Rechner, auf dem MapForce installiert ist, zur Verfügung: <Dokumente>\Altova\MapForce2019\MapForceExamples\.

 

Funktionsweise des Mappings

In der Abbildung unten sehen Sie das in diesem Beispiel verwendete Mapping (ShortApplicationInfo.mfd). Für FlowForce Server ist dabei wichtig, dass eine XML-Datei als Input für das Mapping verwendet wird und eine weitere XML-Datei als Output erzeugt wird.

 

Im Prinzip wird in diesem Mapping eine XML-Datei (ApplicationsPage.xml) in ein anderes Schema konvertiert und als ShortInfo.xml gespeichert. Das Mapping ist relativ einfach zu verstehen, wenn Sie sich die oberste Verbindung ansehen: für jedes Item-Datenelement in der Quellkomponente wird ein Info-Datenelement in der Zielkomponente erstellt. Die anderen Verbindungen dienen dazu, um Werte aus den jeweiligen Child-Datenelementen zu kopieren. Beachten Sie dabei die gepunktete Verbindung; diese Verbindung wird in Mapforce als "Quellorientierte (Mixed Content) Verbindung" bezeichnet. Sie wird verwendet, da SubSection gemischten Inhalt enthält.

ff_map_ShortApplicationInfo

ShortApplicationInfo.mfd

Die Name des XML-Quell- und Zielschemas lauten SectionedPage bzw. ShortInfo. Wie Sie weiter unten sehen, erhält der FlowForce-Auftrag nach Bereitstellung des Mappings auf FlowForce Server einen Input- und Output-Parameter mit demselben Namen.

 

Bereitstellen des Mappings auf FlowForce Server

Das Mapping ShortApplicationInfo.mfd muss vor der Bereitstellung auf FlowForce Server nicht weiter bearbeitet werden. Da es sich sowohl bei der Quell- als auch bei der Zielkomponente um XML-Dateien handelt, werden diese automatisch in das auf FlowForce Server bereitgestellte Paket inkludiert.

 

Um das Mapping auf FlowForce bereitzustellen, öffnen Sie es in MapForce und wählen Sie den Menübefehl Datei | Auf FlowForce Server bereitstellen.

ff_deploy_ShortApplicationInfo

Wenn FlowForce Server auf einem anderen Host und Port ausgeführt wird, ändern Sie die Verbindungsinformationen entsprechend, siehe Definieren der Netzwerkeinstellungen.

 

Erstellen des Auftrags zur Verzeichnisabfrage

Nachdem Sie das Mapping auf FlowForce Server bereitgestellt haben, wird der Browser geöffnet und die Auftragserstellungsseite wird angezeigt. Wie oben gezeigt, wird der erste Ausführungsschritt automatisch erstellt. Damit wird die zuvor bereitgestellte Mapping-Funktion aufgerufen. Beachten Sie, dass der Input-Parameter denselben Namen wie die MapForce-Quellkomponente (SectionedPage) hat, während der Output-Parameter denselben Namen wie die Zielkomponente (ShortInfo) hat.

ff_dir_01

 

Konfigurieren Sie den Auftrag folgendermaßen:

 

1.Geben Sie im Feld Working-directory den Pfad zu dem Arbeitsverzeichnis ein, das Sie in diesem Schritt verwenden. In diesem Beispiel wird C:\temp als Arbeitsverzeichnis verwendet.

Ein Arbeitsverzeichnis (oder Working-directory) ist ein Parameter, der von Ausführungsschritten benötigt wird, wenn für den Auftrag ein Ordner benötigt wird, in dem Input-Dateien entpackt oder Output-Dateien gespeichert werden. Anhand des Arbeitsverzeichnisses werden in FlowForce Server auch alle relativen Pfade, die während der Ausführung von Schritten vorkommen, aufgelöst. Wenn Sie nach einem Arbeitsverzeichnis gefragt werden, sollten Sie einen gültigen Pfad auf dem Betriebssystem, auf dem FlowForce ausgeführt wird, angeben. Falls bei Erstellung des Schritts kein Arbeitsverzeichnis angegeben wird, verwendet FlowForce Server ein temporäres Verzeichnis.

2.Klicken Sie unter "Trigger" auf neuer Dateisystem-Trigger. Beachten Sie, dass FlowForce Server automatisch unter Input-Parameter einen neuen Parameter triggerfile hinzufügt. Sie müssen diese Parameter später referenzieren.

 

TriggerfileParameter

 

3.Definieren Sie die folgenden Trigger-Werte:

 

Überprüfen: Änderungsdatum
Datei oder Verzeichnis: c:\temp\*.xml
Abrufintervall: 60 Sekunden

 

ff-dir1

 

4.Übergeben Sie den Parameter triggerfile unter "Ausführungsschritte" als Input-Wert an den Parameter SectionedPage. Klicken Sie dazu auf die Schaltfläche ff-setTo neben dem Parameter "SectionedPage" und wählen Sie dann triggerfile aus. Dadurch ändert sich der Wert des Parameters SectionedPage in {triggerfile}. Mit der geschweiften Klammer wird ein FlowForce-Ausdruck gekennzeichnet. Sie sollte nicht entfernt werden.

 

ff-dir3

 

Mit dieser Konfiguration wird der Trigger jedes Mal, wenn ApplicationsPage.xml in das Arbeitsverzeichnis kopiert wird, ausgelöst. Da im Trigger auch ein Platzhalter (*.xml) verwendet wird, würde der Trigger auch ausgelöst, wenn eine beliebige andere XML-Datei, auch die Mapping-Ausgabe selbst (ShortInfo.xml), in das Verzeichnis kopiert wird. Da dies nicht erwünscht ist, fügen wir einen zweiten Schritt hinzu, in dem die generierte Ausgabedatei in ein neues Verzeichnis kopiert wird. Alternativ dazu könnten Sie den Trigger auch in c:\temp\ApplicationsPage.xml umbenennen (In diesem Fall ist kein zweiter Schritt erforderlich).

 

So fügen Sie den Schritt hinzu, in dem die Ausgabe in ein neues Verzeichnis verschoben wird:

 

1.Fügen Sie unmittelbar hinter dem vorherigen Ausführungsschritt einen neuen Ausführungsschritt hinzu.
5.Konfigurieren Sie den Schritt folgendermaßen (beachten Sie dass die Groß- und Kleinschreibung in den Feldern "Quelle" und "Ziel" beachtet werden muss):

 

Funktion ausführen: /system/filesystem/move
Quelle: c:\temp\ShortInfo.xml
Ziel: c:\archive
Arbeitsverzeichnis: c:\temp

 

ff-dir4

 

Fügen Sie schlussendlich die Anmeldeinformationen, mit denen der Auftrag ausgeführt werden soll, für Ihr Betriebssystem hinzu:

 

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

 

Ausführen des Auftrags

Sie können den Auftrag nun testen, indem Sie die Datei ApplicationsPage.xml in das Arbeitsverzeichnis kopieren. FlowForce Server führt daraufhin den Mapping-Auftrag aus und kopiert die erzeugte Ausgabedatei in das Archivverzeichnis.

 

Im Auftrags-Log können Sie kontrollieren, ob der Auftrag erfolgreich ausgeführt wurde (siehe Anzeige des Auftrags-Logs).


© 2019 Altova GmbH