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, werden auch alle bereits vorhandenen Dateien geholt.

    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, Format dd.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 Variable ReadFileWildcardName 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:

    module guide 1061 2

Verzeichnis

  • Name

    Pfad zum Verzeichnis, aus dem Dateien gelesen werden sollen. Der Pfad kann absolut oder relativ zum Verzeichnis <inubit-installdir>/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)/

  • Name Dateiname. Optional mit Wildcard bzw. regulärem Ausdruck.

  • 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 Namen Test5.xml weitergeleitet. Der Wildcard-Inhalt ist in diesem Fall das Zeichen 5. Wenn Sie im vorliegenden Connector ebenfalls eine Wildcard angegeben haben, zum Beispiel Ausgabe*.xml, so wird an Stelle der Wildcard das Zeichen 5 eingefügt. Die Ausgabe des hier konfigurierten Connectors ist daher Ausgabe5.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

  • Dateimodus

  • Verzeichnismodus (wenn Datentransfer-Typ IBISDirectory-XML ist)

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 Wert true 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 Wert false, 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 Wert false 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 mit file als Dateiname, die erste Zahl ist das Datum im Format ddmmyyyy, die Zahl hinter dem Bindestrich gibt die Zeit in Format hhmmss 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 Ausgabedatei file_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 Ausgabedatei file_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 Namen Test5.xml weitergeleitet. Der Wildcard-Inhalt ist in diesem Fall das Zeichen 5. Wenn Sie im aktuellen Connector ebenfalls eine Wildcard angegeben haben, zum Beispiel Ausgabe*.xml, so wird an Stelle der Wildcard das Zeichen 5 eingefügt. Die Ausgabe des hier konfigurierten Connector-Moduls ist daher Ausgabe5.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 Namen Test.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.

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.