How dwXport Works — Technical Deep Dive
A behind-the-scenes look at the architecture, export pipeline, security model, and infrastructure that powers dwXport.
For the technically curious — here's exactly what happens when you run an export.
The Export Pipeline
Six stages from configuration to download — every step isolated, encrypted, and ephemeral.
Create Export
An isolated Azure Blob Storage container is provisioned in a dedicated Azure tenant. The storage credentials are uniquely generated and bound to your export job.
Azure Switzerland North
Connect DocuWare
Enter your DocuWare credentials. We validate the connection using our dedicated implementation of the DocuWare REST API, covering all available endpoints.
codebar/laravel-docuware · Custom REST interface? Let's connect.
Validate & Preview
Your configuration is sent to an isolated Microsoft Azure Container Instance — a fresh virtual machine spun up exclusively for this job. Nothing is shared between exports.
Encrypted Handoff
DocuWare credentials and Azure Blob Storage configuration are passed as an AES-256-CBC encrypted payload into the isolated container instance. Secrets never touch disk unencrypted.
AES-256-CBC
Stream & Export
Documents are streamed directly from your DocuWare instance to Azure Blob Storage based on your export configuration. No intermediate storage — files never land on our servers.
Monitor & Download
Your dashboard polls for real-time status updates. Once the job completes, a dedicated download link is provided — valid for 48 hours before the storage instance is completely destroyed.
48h download window
Security & Privacy by Design
Every architectural decision prioritises your data privacy. Here's what that means in practice.
Zero-Retention Policy
No backups are made — ever. Your export data exists only for the duration of the job and the 48-hour download window. After that, it's gone.
Credentials Destroyed
Sensitive data such as DocuWare credentials and storage keys are purged immediately after the export job completes. Nothing persists.
Ephemeral Storage
The entire Azure Blob Storage instance is deleted after the download window expires. There is no recovery, no archive, no trace.
Fully Isolated Execution
Each export runs in its own Azure Container Instance with encrypted payloads, dedicated storage, and HTTPS everywhere. No export ever shares infrastructure with another.
Under the Hood
For those who want the full technical picture — rate limiting, DocuWare compatibility, and more.
The Export Pipeline
Every export passes through three sequential phases, each executed inside the isolated Azure Container Instance:
Phase 1: Validate
The system authenticates against your DocuWare instance and verifies that the provided credentials, file cabinet ID, and search dialog are valid. If anything is misconfigured — wrong URL, expired credentials, inaccessible file cabinet — the export fails fast with a clear error message before any data is transferred.
Phase 2: PreProcess
Using the DocuWare Platform API, dwXport queries the selected file cabinet through the configured search dialog. It applies any filters you've set (date ranges, index field conditions) and counts the total number of matching documents. This count is used to calculate progress percentages during the export.
Phase 3: Export
Documents are fetched in configurable batches (default: 100 documents per batch) and streamed directly to your Azure Blob Storage. For each document, the system:
- Downloads the document binary from DocuWare via the Platform API
- Resolves the target path using your folder structure and filename pattern (e.g.,
{YEAR}/{DEPARTMENT}/{DWDOCID}.{DWEXTENSION}) - Uploads the file to Azure Blob Storage with the resolved key
- Optionally writes a companion
.jsonmetadata file containing all DocuWare index fields - Updates the progress state with current counts and byte totals
Rate Limiting & Throttling
To protect your DocuWare instance from excessive load, dwXport applies configurable rate limits:
| Setting | Default | Description |
|---|---|---|
| Requests per second | 10 | Maximum API calls per second |
| Batch size | 100 | Documents processed per batch |
| Pause between batches | 1,000 ms | Cooldown period between batches |
These defaults are conservative. For DocuWare Cloud instances, we recommend keeping the defaults. On-Premise installations with dedicated resources may safely increase these values.
Based on these rate limits, typical export speeds range from 0.7 to 1.2 seconds per document, depending on document sizes and network conditions.
Real-Time Progress
During an export, the dashboard shows live progress:
- Total documents matched
- Documents processed and failed
- Bytes transferred
- Estimated completion time
After completion, dwXport generates a detailed HTML report with export summary, per-document listing, and error details for any failed documents.
DocuWare Compatibility
dwXport works with both DocuWare Cloud and On-Premise installations. The system communicates exclusively through the DocuWare Platform REST API, so no special plugins or server-side modifications are needed.
All document types stored in DocuWare are supported — PDFs, images, Office documents, and any other file format. Documents are exported in their original format alongside their complete metadata (all index fields).
Questions? Let's Talk.
Whether you need a custom integration or just want to understand the architecture better — we're here to help.