Ein lesbarer Stack, ein kontrollierbares Deployment.
Drei Clients — Web, Mobile und Desktop — auf einer Domäne, einer Datenbank und einem Regelwerk. Jede Schicht ist isolierbar, testbar und ersetzbar: kein Monolith und keine implizite Abhängigkeit von einer proprietären Cloud.
Logische Architektur
- COREDomäne in C# / .NET — Die Domänendienste — Stammdaten, Wareneingang, Einlagerung, Kommissionierung, Inventur, Qualitätskontrolle, KPIs — liegen an einer Stelle und wissen nicht, von welchem Client die Anfrage kommt. Deshalb zeigen Web, Mobile und Desktop immer dieselben Zahlen: Sie haben nicht drei Logiken, sondern teilen sich eine.
- WEBKazam Web — Blazor Server auf .NET 10 — Der Hauptclient: 86 Seiten in 27 Bereichen, davon 31 rein für die Konfiguration. Die Anwendung läuft auf dem Server und überträgt an den Browser nur die Oberflächenunterschiede — am Arbeitsplatz ist nichts zu installieren, und ein Update gilt sofort für alle. Syncfusion-Komponenten für Tabellen, Diagramme und Lagerplan; Cookie-Authentifizierung.
- BFFEine Schicht für das Web, keine generische API — Zwischen Web-Anwendung und Domäne liegt ein Backend for Frontend: Es stellt genau das bereit, was die Seiten brauchen, und die Anwendung nutzt es über typisierte, per Schlüssel authentifizierte Clients. Die Web-Anwendung öffnet nie eine Datenbankverbindung.
- MOBILEKazam Mobile — .NET MAUI — Android auf Industrie-Handhelds und WinUI auf Windows-Tablets, für alle, die zwischen den Regalen arbeiten. Hardware-Scanner, Offline-Betrieb und differenzielle Synchronisation: Das Lager läuft weiter, auch wo das WLAN nicht bis ans Gangende reicht.
- DESKTOPKazam Desktop — Windows-Client — Der etablierte WinForms-Client, vollständig und unterstützt, für alle, die eine installierte Anwendung bevorzugen. Er arbeitet auf derselben Domäne und denselben Daten wie die anderen.
- WCSSun Tech WCS — die Schicht, die mit den Maschinen spricht — Anlagensteuerung für SPS, Shuttles, Sorter und FTF: Anlagenmodell, Aufträge, Routen und Recovery, wenn eine Maschine stoppt. Open Source unter der Apache-Lizenz 2.0. Diese Schicht hat ein ERP nicht — und sie unterscheidet ein automatisiertes Lager von einem nur digitalisierten.
- AUSTAUSCHIntegration mit dem ERP — REST/JSON-Schnittstellen, nach ERP-Schlüssel indiziert, plus ein Austauschbereich in der Datenbank mit Status je Datensatz. Zwei Wege zum selben Ziel: der synchrone, wenn sofort eine Antwort nötig ist, der asynchrone, wenn beide Systeme nicht aufeinander warten sollen.
- DATENSQL Server, on-premise oder in der Cloud — Die transaktionalen Daten liegen auf SQL Server — dort, wo Sie es wollen. Keine implizite Abhängigkeit von einem proprietären Dienst: Die Datenbank gehört Ihnen und ist mit Ihren gewohnten Werkzeugen abfragbar.
Ein Austauschvertrag, kein herstellerspezifischer Konnektor
Kazam enthält keine an ein einzelnes ERP gebundenen Konnektoren, sondern stellt einen Datenaustausch-Vertrag bereit, den jedes ERP bedienen und nutzen kann. Die Integration entsteht in der Analysephase auf Basis der Satzarten des Kunden und bleibt gültig, auch wenn das ERP morgen wechselt — das Lager steht nicht still.
Korrelationsschlüssel
Jeder Lagerbeleg trägt den Verweis auf den ursprünglichen ERP-Beleg (HOOK_TESTATA_ERP in Kopf und Positionen): Die Verbindung zwischen beiden Welten ist explizit, abfragbar und jederzeit nachprüfbar.
Austauschbereich
Staging-Tabellen auf SQL Server mit Status je Datensatz: Das ERP schreibt, Kazam liest, und jede Zeile weiß, ob sie importiert wurde, aussteht oder fehlgeschlagen ist.
Import-Dienst
Ein Windows-Dienst holt in konfigurierbaren Intervallen ab, was ansteht, und überführt es ins WMS — Kunden, Adressen, Artikel, Ladeeinheiten, Aufträge — idempotent und wiederholbar.
REST-API
Nach ERP-Schlüssel indizierte Endpunkte mit JWT-Authentifizierung, um in Echtzeit zu lesen und zu schreiben, wenn Polling nicht ausreicht. Dazu optionale SQL-Hooks für projektspezifische Anpassungen.
Wie das bei den gängigsten ERP-Systemen aussieht: SAP · TeamSystem · Zucchetti · Microsoft Dynamics · Kazam vs Odoo (Seiten auf Italienisch)
Sauberer Stack, klare Verträge, nachhaltige Weiterentwicklung
Clean Architecture + DI
Klare Trennung zwischen Domäne, Anwendung und Infrastruktur. Dependency Injection für Testbarkeit.
Bounded Contexts (DDD-light)
WMS, WCS und Mobile arbeiten in getrennten Kontexten mit klaren, versionierten Verträgen.
Pragmatisches CQRS
Commands und Queries werden dort getrennt, wo Durchsatz und Skalierbarkeit gefragt sind.
Event-driven
Interne Domain Events; reaktive Integrationen über MQTT / Webhooks zu externen Systemen.
Moderner Stack, industrielle Adapter
.NET 9/10-ready
- Modernes C#, async-first
- WinForms + .NET MAUI
- DevExpress / Syncfusion
- Optimiertes ADO.NET
Industrielle Protokolle
- MQTT für IoT / Geräte
- OPC-UA für Automatisierung
- Modbus, OMRON FINS
- VDA 5050 für AGV / AMR
On-Premise oder Azure
- SQL Server / Express
- Azure App Service optional
- Docker-Container
- Konfigurierbare Queues und Storage
Nachvollziehbare Audits, native Rückverfolgbarkeit
Authentifizierung
JWT / OAuth2. RBAC (Rollen/Profile) auf Modul- und Aktionsebene.
Multi-Tenant
Optional: logische Trennung nach Kunde/Standort mit eigenen DB-Scopes oder Schema-per-Tenant.
Verschlüsselung
TLS bei der Übertragung; selektive At-Rest-Verschlüsselung (Feld/Tabelle); externes Secret-Management.
Audit & Tracing
Append-only-Logs, Audit-Trail bei sensiblen Datensätzen, korreliertes Distributed Tracing.
Architektur-Whitepaper auf Anfrage
Ein technisches Dokument für IT-Manager, Integratoren und Entwickler mit Details zu Konnektoren, Modulen, FINS/OPC-UA, KPI/BI.
Bereit, es auszuprobieren?
Erhalten Sie einen Zugang zur Web-Anwendung: Sie öffnen sie im Browser, ohne etwas auf den Arbeitsplätzen zu installieren. Ein Ingenieur antwortet innerhalb eines Werktags.
Die drei jüngsten Neuerungen: die Web-Anwendung — was sich ändert und was bleibt —, der Assistent, der das Lager im Gespräch konfiguriert, und Sun Tech WCS, das als Open Source veröffentlichte Warehouse Control System.
Kazam WMS · Lagerplattform