File Connector
Verwendung
Ein File Connector sorgt für die Kommunikation der INUBIT Process Engine mit dem Dateisystem.
Connector-Typen
Sie haben folgende Konfigurationsmöglichkeiten:
-
File Input Connector
Holt Dateien und Verzeichnisse aus dem Dateisystem der INUBIT Process Engine und übergibt sie an das nächste Modul zur Bearbeitung.
-
File Input Listener Connector
Holt automatisch Dateien und Verzeichnisse aus dem Dateisystem der INUBIT Process Engine und übergibt sie an das nächste Modul zur Bearbeitung, wenn die angegebenen Dateien oder Dateien im angegebenen Verzeichnis hinzugefügt oder aktualisiert wurden. Wird der Workflow zum ersten Mal aktiviert, importiert oder publiziert, wird im Dateimodus eine Datei geholt. Dabei wird die Datei genommen, die nach alphanumerischer Reihenfolge an erster Stelle steht.
Wenn ein File Input Listener Connector ein sich häufig änderndes Verzeichnis überwacht, z.B. wenn es Logdateien enthält, können Performance-Probleme auftreten.
-
File Output Connector
Schreibt das Ergebnis des vorhergehenden Moduls in eine Datei und legt diese in einem Verzeichnis der INUBIT Process Engine ab. Wenn das Ergebnis ein Zip-Archiv ist, dann entpackt der File Output Connector dieses vor dem Speichern.
Wegen eines Tomcat 9.0.0.M1-Sicherheits-Updates für Linux hat der Eigentümer (owner) nicht mehr das Recht, erstellte Dateien oder Verzeichnisse auszuführen. Die Gruppe (group) hat nicht mehr die Rechte zum Schreiben und Ausführen, und alle anderen (others) haben weder das Recht zu lesen, noch zu schreiben oder auszuführen.
Modulvariablen
Bei der Ausführung eines File Connectors werden folgende Variablen gesetzt, die Sie an den nachfolgenden Modulen des Workflows auswerten können:
-
ReadFileDate
Letztes Änderungsdatum der Eingangsdatei, Format
dd.mm.yyyy hh:mm:ss
. -
ReadFileName
Name der Eingangsdatei mit Extension.
-
ReadFileSize
Größe der Eingangsdatei, in Bytes.
-
ReadFileWildcardname
Gibt den Inhalt der Wildcard aus, die beim Konfigurieren des File Connectors im Dateinamen verwendet wurde, wenn die Option Wildcard-Inhalte des vorher ausgeführten File oder FTP Connectors verwenden gesetzt ist.
-
WriteFileDate
Nur verfügbar beim Output Connector, wenn als Eingangsformat Daten gewählt wurde!
Erzeugungsdatum der Ausgabedatei, Formatdd.MM.yyyy HH:mm:ss
. -
WriteFileName
Nur verfügbar beim Output Connector, wenn als Eingangsformat Daten gewählt wurde!
Name der Ausgabedatei. -
WriteFileWildcardname
Nur verfügbar beim Output Connector, wenn als Eingangsformat Daten gewählt wurde und wenn in dem Dateinamen, der erzeugt werden soll, z.B. Timestamp oder Wildcard verwendet werden!
Gibt den Inhalt der Wildcard aus, die beim Konfigurieren des File Output Connectors im Dateinamen verwendet wurde.Um die Variable
WriteFileWildcardName
nutzen zu können, müssen sie diese auf die VariableReadFileWildcardName
mappen.
Für Informationen über Variablen und deren Verwendung siehe Workflow-Variablen und Mappings.
Dialogbeschreibungen
Dialog Zu lesende Datei(en)
(Input Connector, Input Listener Connector)
Dieser Dialog bietet folgende Optionen:
Modus
Legen Sie fest, in welchem Modus der File Connector arbeiten soll:
-
Dateimodus
Pro Ausführung wird eine Datei im angegebenen Verzeichnis gelesen (wenn deren Name dem Muster entspricht, das im Feld Datei > Name angegeben ist). Welche Datei gelesen wird, hängt von Ihren Angaben bei Lesereihenfolge ab.
Im Dateimodus wird immer nur eine Datei pro Workflowausführung gelesen, auch wenn Wildcards verwendet werden, z.B.:
*.txt
Um mehr als eine Datei pro Workflowausführung zu lesen, verwenden Sie den Verzeichnismodus.
Wollen Sie alle Dateien aus einem Verzeichnis nacheinander verarbeiten, muss die Option Dateien nach dem Lesen löschen aktiviert sein. Andernfalls wird immer wieder auf die erste Datei zugegriffen.
-
Verzeichnismodus
Es werden alle Dateien im angegebenen Verzeichnis gelesen (wenn deren Dateinamen dem Muster entsprechen, das im Feld Datei > Name angegeben ist). Im Verzeichnismodus wird immer eine Ausgangsnachricht (XML) erzeugt, d.h., der Technical Workflow startet in jedem Fall.
Damit ist es z.B. möglich, hinter einem File Input Connector mit einem Demultiplexer o. ä. auf den jeweiligen Zustand der Datei zu reagieren, siehe Demultiplexer.
Beispiel:
Verzeichnis
-
Name
Pfad zum Verzeichnis, aus dem Dateien gelesen werden sollen. Der Pfad kann absolut oder relativ zum Verzeichnis
<inubit-installdir>/inubit/server/process_engine/bin
angegeben werden.
Datei
-
Mit Wildcard
Wenn markiert, dann können Sie beim Eingeben des Dateinamens eine Wildcard (Stern *) verwenden oder den Dateinamen vollständig eingeben.
-
Mit regulärem Ausdruck
Wenn markiert, dann können Sie mithilfe eines regulären Ausdrucks ein Muster angeben, dem die Dateinamen der einzulesenden Dateien entsprechen müssen.
Reguläre Ausdrücke müssen in Schrägstriche (/) eingeschlossen werden. Beispiel:
/(\d\d)\.(\d\d)\.(\d\d\d\d)/
Siehe Reguläre Ausdrücke.
-
Name Dateiname. Optional mit Wildcard bzw. regulärem Ausdruck.
Siehe Reguläre Ausdrücke.
-
Invertieren
Wenn markiert, dann wird das Muster, das für den Dateinamen angegeben wurde, umgekehrt. Damit werden alle Dateien gelesen, deren Name dem Muster nicht entspricht.
-
Groß-/Kleinschreibung ignorieren
Wenn aktiviert, wird die Groß-/Kleinschreibung bei Dateinamen inklusive der Dateinamenserweiterung ignoriert.
-
Wildcard-Inhalt des vorher ausgeführten File oder FTP Connectors verwenden
Beispiel: Ein vorher ausgeführter File Connector wurde so konfiguriert, dass im Feld Dateiname eine Datei
Test*.xml
angegeben wurde. Als Ausgangsnachricht wurde vom File Connector eine Datei mit NamenTest5.xml
weitergeleitet. Der Wildcard-Inhalt ist in diesem Fall das Zeichen5
. Wenn Sie im vorliegenden Connector ebenfalls eine Wildcard angegeben haben, zum BeispielAusgabe*.xml
, so wird an Stelle der Wildcard das Zeichen5
eingefügt. Die Ausgabe des hier konfigurierten Connectors ist daherAusgabe5.xml
. -
Dateien nach dem Lesen löschen/Fehler erzeugen, wenn Löschvorgang fehlschlägt
Wenn aktiviert, werden die Dateien nach dem Lesen gelöscht. Aktivieren Sie diese Option, um alle Dateien eines Verzeichnisses nacheinander zu bearbeiten.
Wenn zusätzlich die Option Fehler erzeugen, wenn Löschvorgang fehlschlägt aktiviert ist, dann wird im Queue Manager ein Fehlereintrag für den Workflow mit diesem Modul angezeigt, falls die Datei nicht gelöscht werden kann. Wenn ein Fehlerausgang konfiguriert ist, wird dieser durchlaufen. Sonst wird die Ausführung des Moduls abgebrochen.
-
Freigabe der Datei abwarten/Prüfintervall in Sekunden
(Nur im Dateimodus)
Markieren Sie diese Option, um sicherzustellen, dass der File Input Connector keine Dateien liest, während diese noch von anderen Applikationen geschrieben werden. Wenn die Option markiert ist, dann prüft der File Input Connector in einem konfigurierbaren Intervall die Zeitstempel und Größen der zu lesenden Dateien und vergleicht diese. Die Dateien werden nur eingelesen, wenn sich die Angaben nicht geändert haben.Die folgenden Optionen sind nur bei aktiviertem Scheduler aktiv.
-
Max. Anzahl v. Ausführungen pro zeitgesteuertem Aufruf (im Listener-Modus nicht verfügbar)
Mit der Angabe legen Sie fest, wie oft pro auslösendem Event der Workflow maximal gestartet werden soll. Auslösendes Event ist das Erreichen eines Zeitpunktes. Dann wird der Workflow so oft gestartet, bis entweder
-
keine weiteren Daten zu holen/zu senden sind oder
-
die Anzahl erreicht wurde, welche bei maximale Ausführungen pro Aufruf konfiguriert wurde. Mit der Begrenzung der Ausführung steuern Sie die Systemauslastung der INUBIT Process Engine. Die Angabe wird im Test-Modus ignoriert, dann wird der Workflow genau einmal gestartet.
-
-
Ausführung nach Fehler bei vorherigem Aufruf fortsetzen
Ist der Wert für Max. Anzahl von Ausführungen pro zeitgesteuertem Aufruf größer als 1, kann diese Option gewählt werden, um die festgelegte Anzahl an Aufrufen auch nach einem vorhergehenden Fehler fortzusetzen.
Lesereihenfolge
Nur im
|
Wenn mehr als eine Datei übertragen wird, legen Sie fest, welche Dateien zuerst übertragen werden und in welcher Reihenfolge.
Verzeichnis Konfiguration
(Bei Auswahl Verzeichnismodus)
-
Inklusive Verzeichnisse
Wenn markiert, liest der File Connector zusätzlich zu den Dateien im angegebenen Verzeichnis auch das Verzeichnis selbst ein.
-
Mit Unterverzeichnissen (im Listener-Modus nicht verfügbar)
Wenn markiert, liest der File Connector zusätzlich rekursiv alle Unterverzeichnisse des angegebenen Verzeichnisses ein.
-
-
Leere Verzeichnisse nach dem Lesen löschen
Löscht leere Verzeichnisse nach dem Lesen; diese Option ist sinnvoll vor allem in Kombination mit der Option Dateien nach dem Lesen löschen.
-
Löschen von Verzeichnissen nach dem Lesen erzwingen
Aktivieren Sie diese Checkbox, um das Quellverzeichnis zu löschen, auch wenn es nicht leer ist. Wenn das Quellverzeichnis vorhanden ist, wird es gelöscht. Andernfalls wird das Löschen des Verzeichnisses abgebrochen.
-
Limit Dateianzahl
Maximale Anzahl von Dateien, die eingelesen werden.
-
Limit Gesamtgröße
Die maximale Gesamtgröße, bis zu der Dateien eingelesen werden.
Wird die maximale Gesamtgröße erreicht wird, das Einlesen beendet.
Dateiprüfung
(Bei Auswahl Dateimodus)
-
Abbruch des Workflows, wenn die Datei nicht existiert
-
Im Testmodus
Wenn der Zugriff auf die angegebene Datei fehlschlägt, wird die Ausführung des Workflows mit einem Fehler abgebrochen.
-
Zeitgesteuerter Input-File-Connector
Der File Connector überprüft entsprechend dem eingestellten Intervall, ob eine Datei vorhanden ist. Der Workflow wird nur gestartet, wenn das der Fall ist.
-
Input Connector in der Mitte eines Workflows
Wenn die Datei nicht existiert, wird die Ausführung mit einer leeren Nachricht fortgesetzt. Es wird kein Log-Eintrag erzeugt.
-
-
Erzeuge XML Ausgangsnachricht mit der Statusinformation darüber, dass die Datei existiert und leer ist, ansonsten Abbruch des Workflows
Prüft, ob eine passende Datei mit einer Größe=0 vorhanden ist.
Wenn ja, wird eine XML-Datei mit dem Element
<FileExists>
mit dem Werttrue
ausgegeben. In jedem anderen Fall wird die Workflow-Ausführung mit einem Fehler abgebrochen. Die Eingabedatei wird nicht ausgegeben. -
Erzeuge XML Ausgangsnachricht mit der Statusinformation darüber, ob die Datei existiert oder nicht
Prüft, ob eine geeignete Datei vorhanden ist oder nicht.
Ausgegeben wird eine XML-Datei mit dem Element
<FileExists>
und dem Wertfalse
, wenn die angegebene Datei nicht existiert, bzw.true
, wenn die angegebene Datei existiert. Die Eingabedatei wird nicht ausgegeben. -
Erzeuge XML Ausgangsnachricht mit der Statusinformation darüber, dass die Datei nicht existiert, ansonsten Abbruch des Workflows
Prüft, ob eine passende Datei vorhanden ist.
Wenn nicht, wird eine XML-Datei mit dem Element
<FileExists>
und dem Wertfalse
ausgegeben. In jedem anderen Fall wird die Workflow-Ausführung mit einem Fehler abgebrochen. Die Eingabedatei wird nicht ausgegeben.
Datenweitergabe
(Nur im Verzeichnismodus; im Dateimodus nur bei Abbruch des Workflows, wenn Datei nicht existiert)
-
Art
Legen Sie fest, wie die Eingangsnachrichten an den Workflow übergeben werden sollen:
-
Daten (nur bei Auswahl Dateimodus)
Die Eingangsnachrichten werden unverändert weitergegeben. Diese Option ist auszuwählen, wenn die Eingangsnachrichten z.B. als XML vorliegen.
-
IBISDirectory-Xml
Legt fest, dass die Eingangsnachrichten im IBISDirectory XML-Format weitergegeben werden. Dabei wird für jede Eingangsnachricht ein XML-Wrapper-Element erzeugt.
-
Zip
Die Eingabedateien werden in einer Zip-Datei komprimiert.
-
-
Kodierung (nur für Typ IBISDirectory XML und Zip)
Legt die Kodierung des Zeichensatzes fest.
XML-Konfiguration
(nur bei Datenweitergabe > Art = IBISDirectory-Xml)
-
Inklusive Daten
Wenn markiert, dann wird die gesamte Datei gelesen. Wenn nicht markiert, dann werden nur die Metadaten der Datei gelesenen, z.B. Name, Dateigröße und Datum.
-
Daten base64 kodieren (nur verfügbar, wenn Inklusive Daten aktiviert ist)
Verwenden Sie diese Option, wenn Binärdaten gelesen werden sollen. Diese Art von Daten muss kodiert werden, bevor sie sicher in XML übernommen werden kann. Solange diese Option nicht aktiviert ist, wird eine entsprechende Warnung angezeigt.
-
Daten komprimieren (nur verfügbar, wenn Daten base64 kodieren aktiviert ist)
Verwenden Sie diese Option, um gelesene Binärdaten zu komprimieren. Die Komprimierung spart Speicherplatz und verringert die Größe der XML-Ausgabe. Die Daten werden Zip-komprimiert.
-
-
-
Absoluten Pfad in XML speichern
Wenn markiert, wird der absolute Pfad der Datei in einem gesonderten Attribut
path
gespeichert.
Dialog Zu schreibende Datei
(Output Connector)
In diesem Dialog geben Sie das Format der Eingangsnachrichten an und legen fest, wie diese Nachrichten ins Dateisystem geschrieben werden sollen.
Eingangsformat
Geben Sie das Format der Eingangsnachrichten an:
-
Daten
Die Eingangsnachrichten sind Daten, die unverändert in eine Datei geschrieben werden sollen.
-
IBISDirectory-Xml
Die Eingangsnachrichten haben das Format IBISDirectory-Xml und werden in ein ausgewähltes Verzeichnis abgelegt.
-
Zip
Bei dieser Option erwartet der File Connector ein Zip-Archiv als Eingangsnachricht. Der File Connector entpackt dieses Archiv und speichert die entpackten Daten im angegebenen Verzeichnis.
Kodierung (für das Eingangsformat Zip)
Die Auswahl legt die Kodierung der Datei- und Verzeichnisnamen fest.
Verzeichnis
-
Name (Pflichtparameter)
Absoluter Pfad zu dem Verzeichnis, das der File Connector beim Schreiben von Dateien verwenden soll.
Haben Sie keinen Verzeichnisnamen angegeben, wird bei der Modulausführung eine Fehlermeldung ausgegeben.
Zusätzlich können Sie dem zu erzeugenden Dateinamen ein Datum, einen Zeitstempel oder die Prozess-ID hinzufügen:
-
Datum
Auch die Datumsangabe hat einen Zeitstempel.
Wenn Sie den Dateinamen folgendermaßen angegeben
file_%TimeStamp%%.xml
erhält die Ausgabedatei folgenden Namen:file_12122012-151047.xml
mitfile
als Dateiname, die erste Zahl ist das Datum im Formatddmmyyyy
, die Zahl hinter dem Bindestrich gibt die Zeit in Formathhmmss
an. -
Zeitstempel
Der Zeitstempel ist genauso angelegt wie der Datumsstempel (siehe oben).
Es wird dazu noch eine Angabe in Millisekunden hinzugefügt. Wenn Sie den Dateinamen folgendermaßen angegeben
file_%TimeStamp%ddMMyyyy-HHmmss-SSS%.xml
entsteht beispielsweise der folgende Dateiname als Name der Ausgabedateifile_12122012-151304-027.xml
. Die dreistellige letzte Zahl gibt die Millisekunden an. -
Prozess-ID
Die Prozess-ID ist die eindeutige Zahl, die für eine Workflow-Ausführung angelegt wird. Um der Ausgabedatei die Prozess-ID der Workflow-Ausführung mitzugeben, geben Sie den Dateinamen im folgenden Format an
file_PID_%ProcessId%.xml
. Es entsteht z.B. der folgende Dateiname als Name der Ausgabedateifile_PID_18.xml
.In Verbindung mit Fehlende Verzeichnisse erzeugen können Sie z.B. tages- oder monatsbezogene Archivstrukturen für Nachrichten anlegen.
-
-
Erzeuge fehlende Verzeichnisse
Erzeugt alle nicht-existierenden Verzeichnisse aus der Pfadangabe.
-
Vorhandenes Verzeichnis umbenennen in
Wenn die Checkbox aktiviert ist, können Sie einen neuen Namen für das im Feld Name konfigurierte Verzeichnis angeben, um es umzubenennen.
Ist das Quellverzeichnis nicht vorhanden, wird der Workflow abgebrochen.
Ist das Zielverzeichnis vorhanden, wird das Quellverzeichnis nicht umbenannt.
Datei (nur für Eingangsformat Daten)
-
Name
Auch im Dateinamen können Sie Wildcards () verwenden, und Zeitstempel sowie Prozess-ID einfügen lassen, siehe Option *Verzeichnis > Name.
-
Wildcard-Inhalt des vorher ausgeführten File oder FTP Connectors verwenden
Beispiel: Ein vorher ausgeführter File Connector wurde so konfiguriert, dass im Feld Verzeichnis und Dateiname eine Datei
Test*.xml
angegeben wurde. Als Ausgangsnachricht wurde vom File Connector eine Datei mit NamenTest5.xml
weitergeleitet. Der Wildcard-Inhalt ist in diesem Fall das Zeichen5
. Wenn Sie im aktuellen Connector ebenfalls eine Wildcard angegeben haben, zum BeispielAusgabe*.xml
, so wird an Stelle der Wildcard das Zeichen5
eingefügt. Die Ausgabe des hier konfigurierten Connector-Moduls ist daherAusgabe5.xml
. -
Dateiname von vorher ausgeführtem File Connector verwenden
Beispiel: ein vorher ausgeführter File Connector wurde so konfiguriert, das im Feld Verzeichnis und Dateiname eine Datei
Test.xml
angegeben wurde. Als Ausgangsnachricht wird vom File Connector eine Datei mit genau diesem NamenTest.xml
weitergeleitet. Dieser Dateiname wird dann auch hier verwendet. -
Sicheres Schreiben
Diese Option stellt sicher, dass Applikationen, die auf die Datei warten, die Datei erst nach deren Fertigstellung abholen.
Wenn markiert, dann werden die Daten zunächst in eine temporäre Datei geschrieben. Wenn dieser Vorgang abgeschlossen ist, wird die temporäre Datei entsprechend dem angegebenen Namen umbenannt. Bei größeren Dateien kann das Erstellen der temporären Datei länger dauern.
Schreibmodus (nur für die Eingangsformate Daten und IBISDirectory-Xml)
-
Existierende Datei überschreiben
Wenn bereits eine Datei mit demselben Namen existiert, dann wird diese überschrieben.
-
Daten an die Datei anhängen
Die zu lesende Datei wird bei jeder Ausführung des Workflows an eine evtl. bereits existierende Datei angehängt. Dies ist z.B. sinnvoll, um Log-Daten kumulativ in einer Datei zu protokollieren. Diese Option kann nicht verwendet werden, wenn im Dateinamen Wildcards angegeben sind!
-
Existierende Dateien nicht überschreiben (nur für das Eingangsformat IBISDirectory-Xml)
Überspringt das Schreiben in eine vorhandene Datei, erstellt jedoch eine neue, wenn die Datei noch nicht vorhanden ist. In der Watchpoint-Ergebnisdatei enthält die Workflowvariable
fileConnector.skippedFiles
die Namen der bereits existierenden Dateien.
Konfiguration Modulausgang
-
Eingangsnachricht zusätzlich auch in der Ausgangsnachricht setzen
Wenn die Option markiert ist, dann wird die Eingabedatei an nachfolgende Module weitergeleitet. Abhängig von der Größe der Eingabedateien kann diese Option die Performance Ihres Systems beeinflussen.
Siehe Modulvariablen.
Rechte (nur für Linux)
Die Auswahl legt die Rechte für das Lesen, Schreiben und Ausführen für den Besitzer, die Gruppe oder andere fest.
Wenn Sie keine Auswahl treffen, werden die Standardeinstellungen des Betriebssystems übernommen. |