So funktioniert dwXport — Technischer Deep Dive

Ein Blick hinter die Kulissen: Architektur, Export-Pipeline, Sicherheitsmodell und Infrastruktur von dwXport.

Für technisch Interessierte — so läuft ein Export hinter den Kulissen ab.

Die Export-Pipeline

Sechs Schritte von der Konfiguration bis zum Download — jeder Schritt isoliert, verschlüsselt und ephemer.

1

Export erstellen

Ein isolierter Azure Blob Storage Container wird in einem dedizierten Azure-Tenant provisioniert. Die Speicher-Zugangsdaten werden einzigartig generiert und an Ihren Export-Job gebunden.

Azure Switzerland North

2

DocuWare verbinden

Geben Sie Ihre DocuWare-Zugangsdaten ein. Wir validieren die Verbindung über unsere dedizierte Implementierung der DocuWare REST API, die alle verfügbaren Endpunkte abdeckt.

codebar/laravel-docuware · Custom REST-Schnittstelle? Kontaktieren Sie uns.

3

Validieren & Vorschau

Ihre Konfiguration wird an eine isolierte Microsoft Azure Container Instance gesendet — eine frische virtuelle Maschine, die ausschliesslich für diesen Job erstellt wird. Nichts wird zwischen Exports geteilt.

4

Verschlüsselte Übergabe

DocuWare-Zugangsdaten und Azure Blob Storage Konfiguration werden als AES-256-CBC verschlüsselter Payload in die isolierte Container-Instanz übergeben. Secrets berühren nie unverschlüsselt die Festplatte.

AES-256-CBC

5

Streamen & Exportieren

Dokumente werden direkt von Ihrer DocuWare-Instanz in den Azure Blob Storage gestreamt — basierend auf Ihrer Export-Konfiguration. Kein Zwischenspeicher — Dateien landen nie auf unseren Servern.

6

Überwachen & Herunterladen

Ihr Dashboard fragt regelmässig den aktuellen Status ab. Nach Abschluss des Jobs erhalten Sie einen dedizierten Download-Link — gültig für 48 Stunden, bevor die Speicher-Instanz vollständig zerstört wird.

48h Download-Fenster

Sicherheit & Datenschutz by Design

Jede architektonische Entscheidung priorisiert Ihren Datenschutz. Das bedeutet konkret:

Null-Aufbewahrungs-Richtlinie

Es werden keine Backups erstellt — niemals. Ihre Export-Daten existieren nur für die Dauer des Jobs und des 48-Stunden-Download-Fensters. Danach sind sie weg.

Zugangsdaten vernichtet

Sensible Daten wie DocuWare-Zugangsdaten und Speicher-Schlüssel werden sofort nach Abschluss des Export-Jobs gelöscht. Nichts bleibt bestehen.

Ephemerer Speicher

Die gesamte Azure Blob Storage Instanz wird nach Ablauf des Download-Fensters gelöscht. Keine Wiederherstellung, kein Archiv, keine Spur.

Vollständig isolierte Ausführung

Jeder Export läuft in seiner eigenen Azure Container Instance mit verschlüsselten Payloads, dediziertem Speicher und HTTPS überall. Kein Export teilt jemals Infrastruktur mit einem anderen.

Unter der Haube

Für alle, die das vollständige technische Bild wollen — Rate-Limiting, DocuWare-Kompatibilität und mehr.

Die Export-Pipeline

Jeder Export durchläuft drei sequenzielle Phasen, die jeweils innerhalb der isolierten Azure Container Instance ausgeführt werden:

Phase 1: Validate

Das System authentifiziert sich gegen Ihre DocuWare-Instanz und überprüft, ob die angegebenen Zugangsdaten, die File-Cabinet-ID und der Suchdialog gültig sind. Wenn etwas falsch konfiguriert ist — falsche URL, abgelaufene Zugangsdaten, unzugängliches File Cabinet — schlägt der Export sofort mit einer klaren Fehlermeldung fehl, bevor Daten übertragen werden.

Phase 2: PreProcess

Über die DocuWare Platform API fragt dwXport das ausgewählte File Cabinet über den konfigurierten Suchdialog ab. Es wendet alle von Ihnen gesetzten Filter an (Datumsbereiche, Indexfeld-Bedingungen) und zählt die Gesamtanzahl der passenden Dokumente. Diese Zahl wird zur Berechnung der Fortschrittsprozente während des Exports verwendet.

Phase 3: Export

Dokumente werden in konfigurierbaren Stapeln (Standard: 100 Dokumente pro Stapel) abgerufen und direkt in Ihren Azure Blob Storage gestreamt. Für jedes Dokument führt das System folgende Schritte aus:

  1. Download der Dokument-Binärdatei aus DocuWare über die Platform API
  2. Auflösung des Zielpfads anhand Ihrer Ordnerstruktur und des Dateinamenmusters (z.B. {YEAR}/{DEPARTMENT}/{DWDOCID}.{DWEXTENSION})
  3. Upload der Datei in den Azure Blob Storage mit dem aufgelösten Schlüssel
  4. Optionales Schreiben einer begleitenden .json-Metadatendatei mit allen DocuWare-Indexfeldern
  5. Aktualisierung des Fortschrittsstatus mit aktuellen Zählern und Byte-Summen

Rate-Limiting & Drosselung

Um Ihre DocuWare-Instanz vor übermässiger Last zu schützen, wendet dwXport konfigurierbare Rate-Limits an:

Einstellung Standard Beschreibung
Anfragen pro Sekunde 10 Maximale API-Aufrufe pro Sekunde
Stapelgrösse 100 Dokumente pro Stapel verarbeitet
Pause zwischen Stapeln 1.000 ms Abkühlperiode zwischen Stapeln

Diese Standardwerte sind konservativ. Für DocuWare-Cloud-Instanzen empfehlen wir, die Standardwerte beizubehalten. On-Premise-Installationen mit dedizierten Ressourcen können diese Werte sicher erhöhen.

Basierend auf diesen Rate-Limits liegen typische Exportgeschwindigkeiten zwischen 0,7 und 1,2 Sekunden pro Dokument, abhängig von Dokumentgrössen und Netzwerkbedingungen.

Echtzeit-Fortschritt

Während eines Exports zeigt das Dashboard den Live-Fortschritt:

  • Gesamtzahl der passenden Dokumente
  • Verarbeitete und fehlgeschlagene Dokumente
  • Übertragene Bytes
  • Geschätzte Fertigstellungszeit

Nach Abschluss generiert dwXport einen detaillierten HTML-Bericht mit Export-Zusammenfassung, Auflistung pro Dokument und Fehlerdetails für fehlgeschlagene Dokumente.

DocuWare-Kompatibilität

dwXport funktioniert sowohl mit DocuWare Cloud als auch mit On-Premise-Installationen. Das System kommuniziert ausschliesslich über die DocuWare Platform REST API, sodass keine speziellen Plugins oder serverseitigen Modifikationen erforderlich sind.

Alle in DocuWare gespeicherten Dokumenttypen werden unterstützt — PDFs, Bilder, Office-Dokumente und jedes andere Dateiformat. Dokumente werden im Originalformat zusammen mit ihren vollständigen Metadaten (alle Indexfelder) exportiert.

Fragen? Sprechen wir darüber.

Ob Sie eine individuelle Integration benötigen oder die Architektur besser verstehen möchten — wir helfen gerne.