Anbindung einer oder mehrerer Datenbanken als Archivsystem

Kurzbeschreibung

Der ArchivJob ermöglicht das kopieren von Nachrichten aus der Datenbank der B2B in andere Archivsysteme. Die B2B unterstützt die Nutzung unterschiedlicher Archivtypen als Archivsystem. Dieser Abschnitt beschreibt, wie Datenbanken als Archivsystem angebunden werden können. Dabei wird eine für die B2B initialisierte Datenbank genutzt, um bestimmte Tabelleneinträge aus der B2B direkt in eine angebundene Datenbank zu transferieren. Diese Daten können dann wie in der B2B aufgerufen werden. Der Vorteil der Anbindung einer Datenbank ist, dass diese auch ohne einen Archivindex durchsuchbar ist.

Einrichtung

Der ArchivJob wird über einen Scheduler eingerichtet. Zunächst wird daher gemäß der Dokumentation zu Scheduler Services ein Scheduler für den ArchivedJob eingerichtet. Als Service Eigenschat B3P_SCHEDULER_REGISTER_CLASSNAME wird der Klassenname org.b2bbp.service.inbound.scheduled.ArchiveJob gesetzt.

Weiterhin muss die Archivdatenbank eingerichtet werden. Das Datenbankschema der Archivdatenbank muss die folgenden Tabellen aus dem B2BbP-Datenbankschema enthalten (siehe auch B2B Installation Tomcat):

  • B2BBP_DATA_MESSAGE
    • MESSAGEID VARCHAR(100) NOT NULL
    • REFERENCEID VARCHAR(50)
    • DIRECTION INTEGER
    • STARTED TIMESTAMP
    • FINISHED TIMESTAMP
    • FORMATIN VARCHAR(50)
    • FORMATOUT VARCHAR(50)
    • VDEWTYPE VARCHAR(20)
    • VDEWVERSION VARCHAR(20)
    • STATE VARCHAR(3)
    • ACKNOWLEDGEMENT VARCHAR(3)
    • PARTNER VARCHAR(100)
    • SENDER VARCHAR(100)
    • CORRELATIONID VARCHAR(50)
    • ALTERNATIVEID VARCHAR(50)
    • CHANNELID VARCHAR(50)
    • CLEARINGCODE VARCHAR(3)
  • B2BBP_DATA_ACTION
    • ACTIONID VARCHAR(100) NOT NULL
    • MESSAGEID VARCHAR(100) NOT NULL
    • STARTED TIMESTAMP
    • FINISHED TIMESTAMP
    • TYPE VARCHAR(10)
    • NAME VARCHAR(200)
    • CLASSNAME VARCHAR(200)
    • STATE VARCHAR(3)
  • B2BBP_DATA_ATTRIBUTE_ARCHIVE
    • ATTRIBUTEID VARCHAR(100) NOT NULL
    • ACTIONID VARCHAR(100) NOT NULL
    • MESSAGEID VARCHAR(100) NOT NULL
    • NAME VARCHAR(200)
    • VAL BLOB
    • LEN INTEGER
    • TYPE VARCHAR(10)
    • PREVIEW VARCHAR(200)

Die zum Durchsuchen des Archives verwendeten Datenbanken werden über globale Eigenschaften konfiguriert. Die Archivsuche (ohne das Freitextfeld) kann im Unterschied zu anderen Archivsystemen auch genutzt werden, ohne dass ein Archivindex verfügbar ist.

Globale Eigenschaften

Die hier angegebenen globalen Eigenschaften konfigurieren den Archivzugriff im Monitoring.

Name der Eigenschaft erlaubte Werte Beschreibung
B3P_LUCENE_INDEX_FOLDER Zeichenkette der Länge 1..1000 Das Verzeichnis, in dem das Index zu findden ist.
B3P_ARCHIVE_DB_IDS Zeichenkette der Länge 1..1000 Ein von Semikolon getrennte Liste von Verbindungsschlüsseln. Jede der Verbindungsschlüssel identifiziert drei globale Eigenschaften, die Verbindungsurl, Benutzername und verschlüsseltes Passwort für den Verbindungsschlüssel enthalten. Alle definierten Verbindungsschlüssel werden als Datenbankverbindungen initialisiert. Zu jedem Verbindungsschlüssel muss eine URL, ein Benutzername und ein Passwort definiert sein.
<Verbindungsschlüssel>.URL Zeichenkette der Länge 1..1000 Die JDBC-URL für einen Verbindungsschlüssel.
<Verbindungsschlüssel>.USER Zeichenkette der Länge 1..1000 Der Benutzername für einen Verbindungsschlüssel.
<Verbindungsschlüssel>.PASSWORD Zeichenkette der Länge 1..1000 Dass mit dem B2B CryptUtil verschlüsselte Passwort für einen Verbindungsschlüssel.
B3P_MONITORING_MAX_RESULTS Eine positive Ganzzahl Die maximale Anzahl an Suchergebnissen einer Archivsuche.
B3P_ARCHIVE_MESSAGE_MONITOR_IMPL com.nextlevel.b2bbp.dbarchive.EmailArchiveMessageMonitorImpl Die zu verwendende Klasse für den Zugriff auf archivierte eMail-Nachrichten.
B3P_ARCHIVE_AS2_MESSAGE_MONITOR_IMPL com.nextlevel.b2bbp.dbarchive.AS2ArchiveMonitorImpl Die zu verwendende Klasse für den Zugriff auf archivierte AS2 Nachrichten.
B3P_ARCHIVE_MONITOR_IMPL com.nextlevel.b2bbp.dbarchive.ArchiveMessageMonitorImpl Die zu verwendende Klasse für die Archivsuche.
B3P_ARCHIVE_DB_USE_ACTION_TABLE true (default), false Diese Eigenschaft legt fest, ob die Tabelle B2BBP_DATA_ACTION mit genutzt werden soll oder nicht.
B3P_ARCHIVE_DB_DRIVERS Eine Semikolon-separierte Liste von vollständig qualifizierten Klassennamen. Diese Eigenschaft enthält eine List eder zu verwendenden JDBC-Datenbanktreiber für den Zugriff auf die Archivdatenbanken.
B3P_ARCHIVE_DB_INDEX_DIRECTORIES Eine Semikolon-separierte Liste von Pfaden zu Volltextindizes. Ein Backslash (‘\’) ist das Escape-Zeichen für ‘;’ und ‘\’. Ist diese Eigenschaft gesetzt, werden die in der Liste enthaltenen Volltextindizes statt eines Archivindex für die Volltextsuche verwendet. Die Suche wird auf allen definierten Suchindizes durchgeführt.

Alle weiteren Einstellungen sind der nachstehenden Tabellen von Service Eigenschaften zu entnehmen.

Service Eigenschaften (Standard)

Die hier angegebenen Service Eigenschaften werden bei Ausführung des Services automatisch mit ihren Standardwerten initialisiert, wenn sie nicht zuvor vom Benutzer gesetzt worden sind.

Name der Eigenschaft erlaubte Werte Beschreibung
B3P_INDEX_TYPE org.b2bbp.service.inbound.scheduled.ArchiveIndexer Die Eigenschaft enthält den vollqualifizierten Klassennamen der Schnittstelle org.b2bbp.service.inbound.scheduled.IArchiveMsgMeta
B3P_LUCENE_INDEX_FOLDER Zeichenkette der Länge 1..1000 Der Pfad zum Archivindex.
B3P_ARCHIVE_TYPE com.nextlevel.b2bbp.dbarchive.ArchiveMsgImpl Diese Eigenschaft stellt die Archivierung in Datenbanken ein.
B3P_ARCHIVE_MSGS Durch Semikolon getrennte Liste von Attributen Alle Attributetypen in dieser Liste werden archiviert.
B3P_ARCHIVE_MSGS_FORMATS Durch Semikolon getrennte Liste von Nachrichtentypen Nur hier aufgelistete Nachrichtentypen werden indexiert. Ist die Liste leer, werden alle Nachrichten indexiert.
B3P_ARCHIVE_STATES Durch Semikolon getrennte Liste Nachrichtenstatus (Default: 'SUC;MAN') Sollen auch Nachrichten mit einem anderen Status als SUC oder MAN archiviert werden, so kann man das in dieser Property angeben. Sollen z.B. zusätzlich auch Nachrichten mit Status ERR archiviert werden, so setzt man die Property auf:
SUC;MAN;ERR
Indexiert und Archiviert werden weiterhin nur Nachrichten mit entsprechenden zu archivierenden Attributen. Andere Nachrichten werden ignoriert.
B3P_CHECK_DAYS_FROM positive Ganzzahl Das maximale Alter einer zu archivierenden Nachricht in Tagen.
B3P_CHECK_DAYS_TO positive Ganzzahl Das minimale Alter einer zu archivierenden Nachricht in Tagen.

Service Eigenschaften (Archivierung)

Die hier angegebenen Service Eigenschaften sind speziell für die Archivierung in Datenbanken erlaubt.

Name der Eigenschaft erlaubte Werte Beschreibung
B3P_ARCHIVE_DB_URL Zeichenkette der Länge 1..100 Die URL der Datenbankverbindung, in die Nachrichten archiviert werden soll.
B3P_ARCHIVE_DB_USER Zeichenkette der Länge 1..100 Der Benutzername für die Datenbankverbindung.
B3P_ARCHIVE_DB_PASSWORD Zeichenkette der Länge 1..100 Das mit dem CryptUtil verschlüsselte Passwort für die Datenbankverbindung.

Service Eigenschaften (Experte)

Die hier angegebenen Service Eigenschaften sollten nur von Experten gesetzt werden.

B3P_STOP_ON_ERROR

Name der Eigenschaft erlaubte Werte Beschreibung
B3P_MESSAGE_ID_IN_ARCHIVE Zeichenkette der Länge 1..100 Nachrichten-ID einer Nachricht im Archivindex, nach der bei Ausführung des Archivjobs im Archivindex gesucht wird um den Index zu überprüfen.
B3P_HEART_BEAT_RATE eine positive Ganzzahl Sendet in regelmäßigen Abständen ein simples Statement über die Connection, die die Archivierung steuert. Soll verhindern, dass die Connection geschlossen wird, da sie zu lange inaktiv war.
B3P_DB_NAME Zeichenkette der Länge 1..100.(ORACLE|MYSQL|POSTGRES|DERBY) Bestimmt das Statement, welches als HeartBeat gesendet wird.
B3P_INFOS_UPDATE_INTERVALL eine positive Ganzzahl Gibt an wie oft die Ergebnisattribute des Archivejobs aktualisiert werden(Standart:100, d.h. alle 100 archivierte Nachrichten werden die Attribute aktualisiert).
DB_FETCHSIZE eine positive Ganzzahl
MAX_MESSAGE_IDS_PER_STATEMENT eine positive Ganzzahl
B3P_ARCHIVE_MSGS_ONLY Durch Semikolon getrennte Liste Attributen Attributstypen in dieser Liste werden nur archiviert und indexiert (z. B. B3P_MIME_MSG_CONTRL;B3P_AS2_ORIG_STREAM)
B3P_INDEX_MSGS_ONLY Durch Semikolon getrennte Liste Attributen Attributstypen in dieser Liste werden nicht archiviert sondern nur im Archivindex indexiert.
B3P_ARCHIVE_FALLBACK_MSGS Durch Semikolon getrennte Liste Attributen Attributetypen in dieser Liste werden genutztt, falls die Attribute in B3P_ARCHIVE_MSGS nicht gefunden werden konnten.
B3P_USED_PARTITION ACTIVE, OFFLINE, CLEARING, NONE (default) Die zu archivierende Partition, falls der SwitchPartitionJob aktiviert wurde.
B3P_ARCHIVE_FILTER Zeichenkette der Länge 1..1000 Die Eigenschaft enthält den vollqualifizierten Klassennamen der Schnittstelle org.b2bbp.service.inbound.scheduled.ArchiveFilter
B3P_EXCLUDE_INDEX_EDI Durch Semikolon getrennte Liste Attributen Die Attributstypen in dieser Liste werden im Archivindex nicht für die Volltextsuche indiziert.
B3P_INDEX_ONLY_CHANNELS Durch Semikolon getrennte Liste Kanalnamen Sollen die gesplitteten Nachrichten aus den Splitchannels indexiert warden, so kann man die Splitchannels mit Komma oder Semikolon separiert in dieser Property angeben. Diese Nachrichten werden dann nach der Archivierung des entsprechenden Zeitraums indexiert, jedoch nicht archiviert (weil der Beleg bereits mit der Ursprungsnachricht archiviert wurde).
B3P_ARCHIVE_STOP_TIME Datum im Format 'HH:mm:ss' Zeitpunkt, zu dem die Archivierung angehalten werden soll. Format: HH:mm:ss (Beispiel: 23.59:59)
Achtung: Es findet keine Datumsprüfung statt. Daher sollte dieser Zeitpunkt am Ende des Tages sein. Keinesfalls am Anfang.
B3P_ARCHIVE_FROM_DATE Datum im Format 'YYYY-MM-DD' oder im Format 'YYYY-MM-DD HH:mm:ss', z. B. '2015-05-15 13:12:09'. Angabe eines festen Datums im Format: YYYY-MM-DD, z.B.: 2010-05-15 (15. Mai 2010).
Alle Nachrichten jünger als dieses Datum werden archiviert.
B3P_ARCHIVE_TO_DATE Datum im Format 'YYYY-MM-DD' oder im Format 'YYYY-MM-DD HH:mm:ss', z. B. '2015-05-15 13:12:09'. Angabe eines festen Datums im Format: YYYY-MM-DD, z.B.: 2010-05-15 (15. Mai 2010).
Alle Nachrichten jünger als dieses Datum werden archiviert.
B3P_ARCHIVE_NON_MIME true, false (default) Es kann vorkommen, dass aufgrund von Fehlern o.ä. kein Eintrag in die ATTRIBUTE_ARCHIVE Tabelle vorhanden ist. In diesem Falle lässt sich die B3P_BASE_MESSAGE bzw. CURRENT_PAYLOAD archivieren. Dafür alle Attribute, die archiviert werden sollen mit in die Property B3P_ARCHIVE_MSGS aufnehmen und diese Serviceeigenschaft auf 'true' setzen.
B3P_WRITE_LAST_ARCHIVE_DATE true, false (default) Wenn auf 'true' gesetzt, wird der Timestamp, bis zu dem Archiviert wurde als GlobalProperty 'B3P_ARCHIVE_LAST_DATE'gespeichert.
Die transparente Suche nutze diesen Timestamp falls er existiert.
B3P_ARCHIVE_CHANNELS Durch Semikolon getrennte Liste Kanälen Falls nur Nachrichten in bestimmten Channels archiviert werden sollen so kann man dies mit der Property B3P_ARCHIVE_CHANNELS machen. Dazu in der Property die Channels durch ; getrennt angeben. Die Property könnte folgenden Inhalt haben:
INBOUND_SOPTIM; INBOUND_SAP
Durch das setzten der Property B3P_ARCHIVE_CHANNELS_PRE_FIX auf NOT wird die Property negiert das heißt es werden nur Nachrichten archiviert welche nicht in den angegeben Channels sind.
B3P_ARCHIVE_CHANNELS_PRE_FIX NOT Falls der Wert NOT ist, werden nur Systeme in B3P_ARCHIVE_CHANNELS nicht archiviert.
B3P_ARCHIVE_SYSTEMS Durch Semikolon getrennte Liste Systemen Falls nur bestimmte Systeme archiviert werden sollen so kann man diese in der Property B3P_ARCHIVE_SYSTEMS angeben dann werden nur noch die durch die ILN Nummern gegebene Systeme archiviert. Die Property könnte folgenden Inhalt haben:
9903078000005;9900563000003
Durch das setzten der Property B3P_ARCHIVE_SYSTEMS_PRE_FIX auf NOT wird die Property negiert das heißt es werden alles Systeme archiviert welche nicht angegeben sind.
B3P_ARCHIVE_SYSTEMS_PRE_FIX NOT Falls der Wert NOT ist, werden nur Systeme in B3P_ARCHIVE_SYSTEMS nicht archiviert.
B3P_STOP_ON_ERROR true, false (default) Ist der Wert der Eigenschaft true, so wird die Archivierung abgebrochenn, sollte eine Nachricht nicht archiviert werden.

Siehe auch: Konfiguration anderer ArchivJobs

View Me   Edit Me