MapForce-Mapping als geplanter Auftrag
In diesem Tutorial wird beschrieben, wie Sie ein Altova MapForce-Mapping auf FlowForce Server bereitstellen und dieses Mapping als geplanten Auftrag ausführen. Das Grundkonzept ist unten beschrieben:
1.Zuerst stellen wir das MapForce-Mapping auf FlowForce Server bereit. Nachdem wir alle entsprechenden Einstellungen für die Bereitstellung konfiguriert haben, wird im Browser die Auftragskonfigurationsseite, die bereits das bereitgestellte Mapping als Ausführungsschritt enthält, angezeigt.
2.Anschließend fügen wir einen Ausführungsschritt hinzu, in dem überprüft wird, ob der Pfad für die Mapping-Ausgabe vorhanden ist.
3.Im nächsten Schritt fügen wir einen bedingten Schritt hinzu, in dem ein Verzeichnis für die Mapping-Ausgabe erstellt wird, falls kein solches vorhanden ist.
4.Anschließend konfigurieren wir einen Timer, der den Auftrag nach einem bestimmten Zeitplan startet.
5.Außerdem wählen wir vorhandene Passwort-Anmeldeinformationen aus, mit denen der Auftrag gestartet wird.
6.Nach Ausführung des Auftrags sehen wir nach, ob das Ausgabeverzeichnis die vom Mapping erzeugte Datei enthält.
Benötigte Lizenzen
Beachten Sie, dass Sie für diese Auftragskonfiguration die folgenden Lizenzen benötigen: MapForce Enterprise Edition, MapForce Server Advanced Edition und FlowForce Server.
Implementierung
In diesem Unterabschnitt wird Schritt für Schritt beschrieben, wie Sie den obigen Auftrag erstellen. Die Implementierung dieses Szenarios sehen Sie auch in der GIF-Datei am unteren Rand des Kapitels.
Schritt 1: Bereitstellen des MapForce Mappings auf FlowForce Server
Wir verwenden in diesem Tutorial das folgende mit MapForce vorinstallierte Beispiel:
<Dokumente>\Altova\MapForce2025\MapForceExamples\BookCatalogPDFToXML.mfd
Öffnen Sie diese Datei in MapForce und fahren Sie folgendermaßen fort:
1.Klicken Sie im Menü Datei auf Auf FlowForce Server bereitstellen.
2.Geben Sie in das daraufhin angezeigte Dialogfeld Mapping online bereitstellen die entsprechenden Verbindungsinformationen ein.
3.Behalten Sie den Standardpfad des bereitgestellten Mappings und andere Einstellungen unverändert bei.
4.Klicken Sie auf OK.
5.Das bereitgestellte Mapping wird auf der Auftragskonfigurationsseite der FlowForce Server Verwaltungsschnittstelle als Ausführungsschritt geöffnet. Klicken Sie neben dem Parameter Arbeitsverzeichnis auf das Plus-Zeichen und geben Sie den folgendne Pfad ein: C:\Test\FlowForceServer\MapOutput. Dies ist der Pfad, unter dem die vom Mapping erzeugte Datei gespeichert wird.
Schritt 2: Hinzufügen eines Ausführungsschritts, der überprüft, ob ein Pfad vorhanden ist
Im nächsten Schritt möchten wir überprüfen, ob das Ausgabeverzeichnis, in dem die vom Mapping erzeugte Datei gespeichert werden soll, vorhanden ist. Gehen Sie dazu folgendermaßen vor:
1.Klicken Sie oberhalb des Schritts mit dem bereitgestellten Mapping auf das Plus-Symbol und wählen Sie Neuer Ausführungsschritt. Daraufhin wird der Ausführungsschrittblock angezeigt.
2.Navigieren Sie im Feld Funktion ausführen zur Funktion /system/shell/commandline. Diese Systemfunktion kann Shell-Befehle und Batch-Dateien ausführen.
3.Geben Sie in den Parameter Befehl den folgenden Befehl ein:
IF EXIST C:\Test\FlowForceServer\MapOutput (ECHO true) ELSE (ECHO false)
Mit diesem Befehl wird überprüft, ob das Ausgabeverzeichnis vorhanden ist. Wenn das Verzeichnis vorhanden ist, gibt der Befehl true zurück; falls nicht, gibt der Befehl false zurück.
4.Geben Sie in das Feld Das Ergebnis dieses Schritts zuweisen an den Text output ein. Dadurch weisen wir das Ergebnis des Schritts dem Wert output des Typs result zu. Das Ergebnis des Schritts muss dem Parameter zugewiesen werden, damit wir dieses Ergebnis im nächsten Schritt verwenden können.
Schritt 3: Hinzufügen eines Auswahlschritts
Als nächstes fügen wir einen bedingten Schritt hinzu, mit dem das Ausgabeverzeichnis erstellt wird, falls dieses noch nicht vorhanden ist. Gehen Sie folgendermaßen vor:
1.Gehen Sie folgendermaßen vor, um einen Auswahlschritt hinzuzufügen: Klicken Sie auf das Plus-Symbol nach dem ersten Ausführungsschritt und wählen Sie Neuer Auswahlschritt. Daraufhin wird ein Auswahlschrittblock angezeigt.
2.Geben Sie in das Feld Wenn den folgenden Ausdruck ein:
trim(content(stdout(output))) == 'false'
Die Funktion stdout erhält das vom vorherigen Ausführungsschritt erzeugte Ergebnis und gibt einen Stream aus. Die Funktion content konvertiert den Stream in einen String. Anschließend werden mit der Funktion trim alle voran- und nachgestellten Leerzeichen aus dem String entfernt.
Der Grund dafür, dass die Ausgabe in einen String konvertiert wird, ist, dass wir überprüfen möchten, ob die Ausgabe gleich dem String false ist. Damit die beiden Teile des Ausdrucks miteinander verglichen werden können, müssen wir sicherstellen, dass beide Teile denselben Datentyp haben.
Der Grund dafür, dass der String mit "trim" gekürzt wird, ist dass die Standardausgabe voran- und nachgestellte Leerzeichen enthalten kann, die beibehalten werden, wenn wir den Stream in einen String konvertieren. Ohne die Funktion trim ist das Ergebnis des linken Teils des Ausdruck eventuell nicht gleich dem String false.
3.Fügen Sie im "Wenn"-Teil des Auswahlschritts einen Ausführungsschritt hinzu: Klicken Sie auf das Plus-Symbol und wählen Sie Neuer Ausführungsschritt.
4.Navigieren Sie im Feld Funktion ausführen zur Funktion /system/filesystem/mkdir.
5.Fügen Sie zum Parameter Pfad den folgenden Pfad hinzu: C:\Test\FlowForceServer\MapOutput.
6.Belassen sie den Andernfalls-Teil des Auswahlblocks unverändert.
Wenn das Ausgabeverzeichnis nicht vorhanden ist, wird es durch den Auswahlschritt erstellt. Wenn das Ausgabeverzeichnis vorhanden ist, wird der Auswahlschritt nicht ausgeführt und die Auftragsausführung wird mit dem Mapping fortgesetzt.
Schritt 4: Konfigurieren eines Timers, der den Auftrag startet
Da der Auftrag nach einem bestimmten Zeitplan ausgeführt werden soll, müssen wir einen Timer zum Starten des Auftrags definieren. Um einen Timer hinzuzufügen, gehen Sie folgendermaßen vor:
1.Navigieren Sie zum Abschnitt Trigger der Auftragskonfigurationsseite und wählen Sie Neuer Timer.
2.Setzen Sie die Option Ausführen auf an Tagen der Woche.
3.Wählen sie den/die Tag(e) aus, an denen der Auftrag ausgeführt werden soll. In unserem Beispiel wird der Auftrag jeden Donnerstag ausgeführt.
4.Definieren Sie im Parameter Start das Datum und die Uhrzeit für den Start.
5.Stellen Sie sicher, dass das Kontrollkästchen Aktiviert ausgewählt ist.
Schritt 5: Hinzufügen von Anmeldeinformationen
Bei der Erstellung eines Auftrags in FlowForce Server müssen die Anmeldeinformationen für das Benutzerkonto, von dem aus der Auftrag ausgeführt werden muss, angegeben werden.
Wir wählen im Abschnitt Anmeldeinformationen Passwort-Anmeldeinformationen aus, die wir bereits vor Beginn des Tutorials definiert haben. Dabei handelt es sich um ein Standalone-Objekt, das in jedem beliebige Auftrag verwendet werden kann. Standalone-Anmeldeinformationen sind deshalb praktisch, weil Sie diese zentral an einer Stelle ändern können, wobei sich diese Änderung auf alle Aufträge auswirkt, in denen diese referenziert werden.
Alternativ dazu können Sie lokale Anmeldeinformationen definieren, indem Sie Ihren Benutzernamen und Ihr Passwort eingeben.
Nähere Informationen zu Anmeldeinformationstypen sowie eine Anleitung, wie Sie diese erstellen, finden Sie unter Anmeldeinformationen.
Schritt 6: Speichern der Auftragskonfiguration und Überprüfen der Ausgabe
Um die Auftragskonfiguration zu speichern, klicken Sie am unteren Rand der Konfigurationsseite auf die Schaltfläche Speichern. Sobald der Trigger ausgelöst wird, wird der Auftrag ausgeführt. Um die Ausgabe zu sehen, navigieren Sie zu C:\Test\FlowForceServer\MapOutput und überprüfen Sie, ob der Ordner BookList.xml enthält. Sie können auch das Log überprüfen, um Informationen über die Ausführung des Auftrags zu sehen. Unten sehen Sie einen Auszug aus der Datei BookList.xml.
<Invoice xsi:noNamespaceSchemaLocation="file:///C:/MF_TutorialFiles/GardenInvoice.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Book ISBN13="1501143107" Title="Misery" Year="2016" Price="11.99">
<Author>Stephen King</Author>
</Book>
<Book ISBN13="9781910633113" Title="Nightblind" Year="2016" Price="9.99">
<Author>Ragnar Jonasson</Author>
</Book>
<Book ISBN13="1910633461" Title="Blackout" Year="2016" Price="8.49">
<Author>Ragnar Jonasson</Author>
</Book>
<Book ISBN13="1501180983" Title="Outsider" Year="2018" Price="12.79">
<Author>Stephen King</Author>
</Book>
<Book ISBN13="9781435142817" Title="Dracula" Year="2013" Price="13.69">
<Author>Bram Stoker</Author>
</Book>
<Book ISBN13="9781400043286" Title="The Mystery of Edwin
Drood" Year="2004" Price="19.79">
<Author>Charles Dickens</Author>
</Book>
<...>
</BookList>
Im GIF angezeigte Implementierung
Klicken Sie auf die GIF-Datei unten, um eine kurze Demo der in diesem Tutorial beschriebenen Schritte zu sehen. Beachten Sie, dass im GIF zur die Schritte 1-4 zu sehen sind. Eine Darstellung von Schritt 5 finden Sie im Hello World-Tutorial.