37Geplant: zplCore Server
Geplant, noch nicht verfügbar. zplCore Server ist als fertiger Container geplant. Der Funktionsumfang unten ist ein Plan und kann sich ändern; es gibt noch keine Preise und keinen Kauf. Interesse? Benachrichtigen lassen.
Vorlage und Daten rein, Etiketten raus – als Container. Die Vorlagen liegen auf dem Server, Ihre Anwendung schickt nur die Daten (oder der Server holt sie selbst über eine benannte Abfrage) und bekommt ZPL, PNG oder PDF zurück, oder die Etiketten werden direkt gedruckt.
~4 msStart
~11 mserstes Label
~100 MBImage
Gemessen im NativeAOT-Test auf linux/arm64 (siehe NativeAOT); der Server selbst ist geplant.
Vorlagen – einmal ablegen oder dynamisch laden
- JSON-Vorlagen aus einem Volume, einer Kubernetes-ConfigMap, Git, S3/MinIO, Azure Blob, Google Cloud Storage oder per HTTP (URL oder direkt im Request)
- Gecacht, Hot Reload bei Änderung, versioniert; Aufruf über den Pfad, z. B.
versand/dhl-100x150 - Dieselben JSON-Vorlagen wie im SDK (
Label.ToJson): einmal gestalten, in der App und im Container nutzen
Daten – mitschicken oder vom Server holen lassen
- JSON direkt im Request
- Benannte Datenbankquellen für SQL Server, PostgreSQL, MySQL/MariaDB, SQLite und Oracle: vordefinierte, parametrisierte, nur lesende Abfragen
- Verbindungszeichenfolgen nur aus Secrets: Docker- und Kubernetes-Secrets, Key Vault, Secrets Manager
- Dateien (CSV, Excel, JSON), REST-APIs und Queues: Kafka, RabbitMQ, Azure Service Bus, AWS SQS
In Ihrer eigenen .NET-App nutzen Sie EF Core direkt mit dem SDK; im Container erledigen benannte Abfragen das ohne Code.
Ausgaben – streamen, drucken, ablegen
- ZPL als Stream, auch für 100.000+ Labels je Auftrag
- PNG, SVG, PDF, ZIP oder JSON, gewählt über den
Accept-Header - Direktdruck auf benannte Drucker über TCP 9100, vorher mit dem Drucker-Zwilling geprüft
- Ablage in S3, Azure Blob oder einem Volume; Webhook oder Queue-Nachricht, wenn fertig
Cluster – skaliert mit der Last
- Zustandslos und horizontal skalierbar: Kubernetes HPA oder KEDA nach CPU-Last oder Queue-Länge
- NativeAOT: startet in Millisekunden
/health,/ready,/metrics(Prometheus) und OpenTelemetry- Eine Konfigurationsdatei
zplcore.yamloder Umgebungsvariablen, dazu ein Helm-Chart
So wird es aussehen
# Vorlagen aus ./templates bereitstellen
docker run -p 8080:8080 \
-v ./templates:/templates:ro \
zplcore/server
# Daten rein, ZPL raus
curl -X POST \
localhost:8080/v1/labels/versand/dhl-100x150 \
-H 'Accept: application/vnd.zpl' \
-H 'Content-Type: application/json' \
-d '{"name":"Anna Huber","city":"Wien"}'
Außerdem geplant
- REST-API mit OpenAPI und interaktiver API-Doku unter
/docs - Ein Multi-Arch-Tag für linux/amd64 und linux/arm64
- Distroless, ohne Root, schreibgeschütztes Root-Dateisystem; signierte Images mit SBOM
- Offline-Lizenz ohne Nach-Hause-Telefonieren; Entwicklung/Test kostenlos (mit Wasserzeichen)
Zielplattformen
- linux/arm64 & armv7, z. B. Raspberry Pi 4/5 (64 Bit) und Pi 2/3
- linux/amd64 & NAS: x86-64-Server, VMs und Synology DS923+ (Container Manager)
- Docker & Podman (
docker run/podman run), Kubernetes mit Helm-Chart - Cloud-Container-Dienste auf Azure, AWS und Google Cloud; On-Premises und ohne Internet
- Windows & macOS über Docker Desktop

