Anbindung des Datastore-DMS als Archivsystem

Archivierung

Der Datastore-DMS-Adapter archiviert die vom ArchiveJob ausgewählten Nachrichtenattribute über die HTTP-API des Datastore-DMS. Für jedes konfigurierte Nachrichtenattribut wird ein eigenes Dokument im DMS angelegt. Der lesende Zugriff auf archivierte Dokumente ist aktuell nicht implementiert.

Die zu archivierenden Attribute werden über die allgemeinen Properties des ArchiveJobs, insbesondere B3P_ARCHIVE_MSGS, ausgewählt. Der Adapter sendet jedes vorhandene Attribut in einem eigenen Multipart-Request an das Datastore-DMS. Der Dokumentinhalt wird unabhängig vom Attribut als text/plain übertragen. Als Dateiname wird die Attribut-ID mit der Endung .txt verwendet; fehlt die Attribut-ID, lautet der Dateiname document.txt.

Das Datastore-DMS muss den Request mit HTTP-Status 201 Created beantworten. Die Antwort muss mindestens eine nichtleere id und einen nichtleeren areaName enthalten. Der ArchiveJob bildet daraus die Archive-ID:

<areaName>:<id><Datei-Suffix>

Da weder die Indizierung noch der lesende Zugriff für den Datastore-DMS-Adapter verwendet werden, werden die generierten Archive-IDs aktuell nicht weiter benutzt.

Einrichtung

Der ArchiveJob wird wie in der allgemeinen Dokumentation beschrieben als Scheduler-Service eingerichtet.

Service-Properties

Eigenschaft Pflicht Beschreibung
B3P_ARCHIVE_TYPE Ja Archiv-Adapter-Klasse, beispielsweise com.nextlevel.b2bbp.datastoredms.ArchiveDatastoreDMS.
B3P_INDEX_TYPE Nein Nicht konfigurieren. Indizierung ist für diesen Job aktuell nicht vorgesehen, weil die lesende Richtung nicht implementiert ist.
DATASTORE_DMS_BASE_URL Ja Basis-URL der Datastore-DMS-API, beispielsweise https://dms.example.org/api.
DATASTORE_DMS_DOC_AREA Ja Dokumentenbereich im Datastore-DMS.
DATASTORE_DMS_TARGET_FOLDER Ja Zielordner im Dokumentenbereich.
DATASTORE_DMS_USER Ja Benutzername für die HTTP-Basic-Authentifizierung.
DATASTORE_DMS_PASSWORD Ja Mit dem B2B-Encrypt-Tool verschlüsseltes Passwort.
TIMEOUT_IN_MILLISECONDS Nein Gemeinsamer Connect- und Read-Timeout in Millisekunden. Der Standardwert ist 60000. Zulässig sind nichtnegative Ganzzahlen bis 2147483647.

Aus den Angaben wird die Ziel-URL nach folgendem Schema gebildet:

<DATASTORE_DMS_BASE_URL>/<DATASTORE_DMS_DOC_AREA>/<DATASTORE_DMS_TARGET_FOLDER>/archive?indexed=false

Dokumentenbereich und Zielordner werden als URL-Pfadsegmente codiert.

Konfigurationsbeispiel

B3P_ARCHIVE_TYPE=com.nextlevel.b2bbp.datastoredms.ArchiveDatastoreDMS
# B3P_INDEX_TYPE nicht konfigurieren
DATASTORE_DMS_BASE_URL=https://dms.example.org/api
DATASTORE_DMS_DOC_AREA=B2B
DATASTORE_DMS_TARGET_FOLDER=Nachrichten
DATASTORE_DMS_USER=b2b-archive
DATASTORE_DMS_PASSWORD=<b2b-verschluesseltes Passwort>
TIMEOUT_IN_MILLISECONDS=60000

Fehlt eine Pflichtproperty, ist sie leer, kann das Passwort nicht entschlüsselt werden oder ist der Timeout ungültig, schlägt die Initialisierung fehl und der ArchiveJob wird nicht gestartet.

Clearing-History

Der Adapter unterstützt die Archivierung der Clearing-History. Sie wird über die allgemeine Global Property aktiviert:

B3P_DO_ARCHIVE_CLEARING=true

Die Clearing-History wird als separates DMS-Dokument mit dem Dateinamen clearing-history.txt gespeichert.

Fehlerverhalten

Situation Verhalten des ArchiveJobs
HTTP 404, 406 oder 412 Der gesamte Joblauf wird abgebrochen, da von einem Konfigurations- oder API-Vertragsfehler ausgegangen wird.
HTTP 201 mit leerer oder nicht auswertbarer Antwort beziehungsweise ohne id oder areaName Der gesamte Joblauf wird wegen einer ungültigen API-Antwort abgebrochen.
Andere HTTP-Statuscodes, einschließlich anderer 2xx-Antworten, 500, 503 und 504 Die Nachricht erhält den Archivfehlerstatus ARF; der Job verarbeitet weitere Nachrichten.
Verbindungsfehler, Connect-Timeout oder Read-Timeout Die Nachricht erhält den Archivfehlerstatus ARF; der Job verarbeitet weitere Nachrichten.
View Me   Edit Me