Content Inspection

Mit dem Zusatzmodul Content Inspector Manager können Dateien gesammelt und aufgeteilt oder zusammengeführt werden. Die zu behandelnden Dateien müssen dem Content Inspector Manager explizit zugeführt werden, erst dann werden sie inspiziert. Es findet keine Inspizierung im normalen Datei-Eingang statt, wie der Name evtl. vermuten ließe. Der reguläre Datei-Eingang wird vom Content Inspector Manager nicht beeinflusst. Zu einem definierten Zeitpunkt werden die gesammelten (und gegebenenfalls geteilten oder zusammengeführten) Dateien dann versendet oder zur weiteren Verarbeitung weitergegeben.


images/download/attachments/153256959/Content_Inspection-version-3-modificationdate-1740047721902-api-v2.png


Der Content Inspector Manager hat die Aufgabe eine Menge von Content-Inspektoren zu verwalten, die dann wiederum die Dateien zusammenführen oder aufteilen. Wenn eine Datei aufgeteilt wird (Splitting), dann passiert das direkt, wenn die Datei im Content Inspector Manager eingeht. Das Zusammenführen von Dateien (Merging) passiert nach der Sammlung von Dateien im Datei-Pool eines Content-Inspektors. Dazu aber später mehr.


Das folgende Listing zeigt den Eintrag in der Konfigurationsdatei ./etc/startup.xml, mit dem der Content Inspector Manager aktiviert wird.

<Call name="enableContentInspection">
<Arg>
<New class="com.ebd.hub.datawizard.ci.InspectorManager">
<Set name="mailSubject">Content Inspector can not handle file!</Set>
<Set name="mailRecipients">support@lobster.de</Set>
<Set name="mailBody">Please have a closer look...</Set>
<Set name="mailOnFailedFile">true</Set>
<Set name="interval">500</Set>
<Set name="enterFailedInspector">false</Set >
</New>
</Arg>
</Call>

Parameter

Beschreibung

interval

Gibt an, in welchem Zeitintervall (in ms) die Content-Inspektoren auf das Erreichen der maximalen Anzahl von Dateien oder das Überschreiten der maximalen Wartezeit überprüft werden sollen.

mailOnFailedFile

Wenn true, dann wird eine E-Mail verschickt, falls eine Datei im Bereich Unbekannte Dateien abgelegt wird.

mailSubject, mailRecipients, mailBody

Betreff, Mailadresse(n) und Nachrichtentext für die E-Mail im Fehlerfall.

enterFailedInspector

Wenn true, dann wird eine Datei, die direkt einem spezifischen Content-Inspektor zugewiesen wurde (z. B. durch Angabe seines Namens in der Klasse des Antwortwegs des sendenden Profils), zurück an den Content Inspektion Managers geschickt und von allen Content-Inspektoren neu analysiert, falls sie von diesem spezifischen Content-Inspektor zurückgewiesen wird.

Wenn false, dann landet diese Datei nach einer Zurückweisung durch den Content-Inspektor im Bereich Unbekannte Dateien.


Hinweis: Die Beschreibungen der Parameter werden im Verlauf der folgenden Erklärungen deutlicher werden.

Zuführung der Dateien durch ein Profil


Die Dateien werden dem Content Inspector Manager über eine eigene Klasse in Phase 6 eines Profils zugeführt. Diese Klassen können Dateien auch an spezifische Content-Inspektoren übergeben. Es stehen dafür folgende Klassen zur Verfügung.


Ermittlung des zuständigen Content-Inspektors


Erhält der Content Inspector Manager eine Datei, ist die Entscheidung, ob ein Content-Inspektor zuständig ist und eine Datei bearbeiten soll, von zwei Einstellungen des Content-Inspektors beeinflusst:


  • Das Dateimuster. Dieses dient als einfache Filtermöglichkeit, um Dateien aufgrund des Namens auszuschließen, ohne dass der Inhalt geprüft werden muss.

  • Die Liste der Datei-Inspektoren (jedem Content-Inspektor sind ein oder mehrere Datei-Inspektoren zugeordnet). Entspricht der Dateiname dem Dateimuster, wird die Liste der Datei-Inspektoren durchlaufen, um zu entscheiden, ob die Datei vom Content-Inspektor bearbeitet werden soll. Der Content-Inspektor bearbeitet die Datei, wenn mindestens ein Datei-Inspektor den Dateiinhalt akzeptiert. Der erste Content-Inspektor, der sich zuständig fühlt, wird verwendet. Die Datei wird dem Datei-Pool dieses Content-Inspektors zugeführt. Mehr dazu später.


Kann der Content Inspector Manager eine Datei keinem Content-Inspektor zuweisen, dann ist sie im Bereich Unbekannte Dateien des Control Centers zu finden.


Die Reihenfolge zur Überprüfung der Zuständigkeit der Content-Inspektoren ist von diesen Faktoren abhängig.


  • Wurden einer oder mehrere Content-Inspektoren bei der Übergabe der Datei im Antwortweg angegeben im Feld Konfigurationsdatei, dann werden nur diese überprüft.

  • Welche Priorität haben die Content-Inspektoren? Die Prioritäten können mit Werten von 1 (hoch) - 9 (niedrig) für jeden Content-Inspektor eingestellt werden. Für Content-Inspektoren der gleichen Priorität ist die Reihenfolge zufällig.

Aufteilen (Splitting) von Dateien oder Zuweisung in Datei-Pool


Der Content Inspector Manager überprüft anhand des zuständigen Datei-Inspektors, ob eine eingegangene Datei gesplittet werden muss. Das ist der Fall, wenn dort ein Dateitrenner (Splitter) angegeben ist. Falls ja, wird die Dateitrennung über den eingestellten Datei-Trenner des Datei-Inspektors vorgenommen. Die durch das Splitting neu entstandenen Dateien werden erneut dem Content Inspector Manager zugeführt, als wären sie ganz normal über die oben gezeigten Klassen in Phase 6 eines Profils eingegangen. Der evtl. für die Originaldatei eingestellte, spezifische Content-Inspektor geht verloren und es werden nun alle Content-Inspektoren auf Zuständigkeit überprüft. Dies kann aber auch anders eingestellt werden im aufteilenden Datei-Inspektor. Die Originaldatei wird nicht nochmal eingestellt. Siehe auch Bereich Vor-/Nachbearbeitung.

Das Splitten von Dateien (fall nötig), die im Content-Inspektor eingehen, erfolgt umgehend und unabhängig von der Abarbeitung des Datei-Pools (siehe weiter unten).

Status eines Content-Inspektors


Ein Content-Inspektor kann einen von drei Status annehmen: Ok, Warten oder Überschritten.

  • Im Status Ok werden die Dateien aus dem Datei-Pool des Content-Inspektors verarbeitet.

  • Im Status Überschritten werden die Dateien im Datei-Pool nicht mehr zur Verarbeitung freigegeben. In den Status Überschritten gelangt der Content-Inspektor nur, wenn die maximale Wartezeit überschritten wurde und für diesen Fall keine automatische Verabeitung der Dateien eingestellt ist.

  • Im Status Warten wird darauf gewartet, dass entweder die maximal Wartezeit überschritten wird oder die maximale Anzahl der zu sammelnden Dateien.

Abarbeiten des Datei-Pools


Für den Datei-Pool eines Content-Inspektors kann eine maximale Anzahl an Dateien (die gesammelt werden) festgelegt werden oder eine maximale Wartezeit (die auf Dateien gewartet wird).

Das Abarbeiten des Datei-Pools erfolgt nun entweder, weil die maximale Anzahl von Dateien im Datei-Pool erreicht wurde, oder weil nach dem Ablegen der letzten Datei im Datei-Pool mehr als die maximale Wartezeit überschritten wurde. Hinweis: Landet eine neue Datei im Datei-Pool, wird die verstrichene Wartezeit seit der letzten Datei wieder auf 0 gestellt, außer dieses Verhalten wurde explizit deaktiviert.

Zudem kann das Abarbeiten durch Workflows angestoßen werden.

Die folgende Abbildung zeigt ein Beispiel für einen zeitlichen Ablauf.


images/download/attachments/153256959/Content_Inspection_4-version-1-modificationdate-1697516614292-api-v2.png


(1) Die Achse stellt den zeitlichen Verlauf dar.

(2) Die Achse stellt den Anstieg der Zeit nach Erhalt der letzten Datei dar, also die aktuell gültige Wartezeit.

(3) Ein Pfeil markiert das Einstellen einer Datei in den Datei-Pool des Content-Inspektors. Ab diesem Zeitpunkt wird die Wartezeit gestartet, bzw. wieder zurückgesetzt.

(4) Es ist eine Minute nach dem Einstellen einer Datei in den Datei-Pool vergangen. Die Wartezeit wird um 1 erhöht.

(5) Eine weitere Datei wird in den Datei-Pool gestellt, die Wartezeit wird wieder auf 0 zurückgesetzt.

(6) Eine weitere Datei wird in den Datei-Pool gestellt. Die Wartezeit bleibt auf 0.

(7) Mehr als 3 Minuten sind vergangen seit dem Ereignis (6). Die neue eingestellte Datei setzt die Wartezeit wieder auf 0.

(8) 4 Minuten sind vergangen seit dem Ereignis (7). Ist die maximale Wartezeit auf 4 Minuten eingestellt, werden jetzt die bisher 4 in den Datei-Pool eingestellten Dateien verarbeitet. Hinweis: Ist im Content-Inspektor die Checkbox In Verarbeitung übergehen, wenn Zeitüberschreitung erreicht ist deaktiviert, wechselt der Content-Inspektor in den Status Überschritten.

(9) Eine einzelne Datei wurde eingestellt, keine weiteren Dateien folgen. Nach 4 Minuten wird die Datei verarbeitet, da die Wartezeit abgelaufen ist.


Hinweis: Das Ansteigen der Wartezeit kann durch die Definition von Zeitfenstern auch angehalten werden. Siehe auch Abschnitt Zeitfenster Ausnahmen.

Hinweis: Siehe auch Bereich Dateiverbund.

Zusammenführen (Merging) von Dateien


Wird die Verarbeitung des Datei-Pools ausgelöst, prüft der Content-Inspektor, ob dessen Dateien (oder Teile deren Inhaltes) zusammengeführt werden können. Das Ergebnis der Zusammenführung können 0-n Dateien sein. Das Zusammenführen der Dateien wird von einem Zusammenführer des Content-Inspektors vorgenommen. Hinweis: Ist ein Zusammenführer eingetragen im Content-Inspektor und dieser liefert 0 Dateien zurück, geht der Content-Inspektor in den Status Überschritten. Siehe auch Bereich Vor-/Nachbearbeitung.

Verarbeitung der Dateien


Ist ein Verarbeitungs-Profil im Content-Inspektor eingestellt, dann werden, je nach Einstellung im Content-Inspektor, die Dateien entweder vom Zusammenführer oder vom Datei-Pool des Content-Inspektors an das im Content-Inspektor eingestellte Verarbeitungsprofil weitergeleitet. D. h. es findet eine reguläre und serielle Verarbeitung der Daten statt, ohne dass es zu einem Überholen kommen kann.

Einem Verarbeitungsprofil werden immer Variablen (die vom Benutzer definierten Variablen, falls das Profil ein Mapping durchführt, und die System-Variablen) des Profils, das die Datei an den Content Inspector Manager gesendet hat, weitergeleitet. Bei einer Zusammenführung werden dem Verarbeitungsprofil nur die Variablen der ersten Datei des Dateiverbundes mit übergeben.

Alternativ können die Dateien statt an ein Verarbeitungsprofil auch per E-Mail oder X.400 oder an ASM (das Asynchrone Sende Modul) verschickt werden.

Siehe auch Bereich Daten-Übergabe.

Zusammenfassung


  1. Dateien werden mit speziellen Klassen im Antwortweg eines Profils an den Content Inspector Manager gesendet.

  2. Der Content Inspector Manager koordiniert eine Menge von Content-Inspektoren.

  3. Content-Inspektoren können Dateien splitten, in einem Datei-Pool sammeln, gegebenenfalls zusammenführen und letztlich zur Verarbeitung weitersenden (über verschiedene Wege), wenn eine maximale Wartezeit oder eine maximale Anzahl an Dateien erreicht wurde.