Files
MABEA/arbeitskacheln/19_satelliten_server.md
patrickandClaude Sonnet 5 2bd97aa435
CI / backend-tests (push) Failing after 1m57s
CI / frontend-build (push) Successful in 18s
docs: alte arbeitskarten (Karte 01-14) gegen arbeitskacheln-Backlog abgeglichen
7 Karten (02,03,06,09,10,11,14) inhaltlich bereits abgedeckt - gelöscht.
7 Karten (01,04,05,07,08,12,13) enthielten nicht erfasste Inhalte:
- neues Epic 17 Zuständigkeit (Karte 01+04)
- neues Epic 18 Notifications/Eskalation (Karte 05+12)
- neues Epic 19 Satelliten-Server (Karte 13, zurückgestellt)
- INV-006 ergänzt um Sofort-Nachfüllung (Karte 07) + Mindermengen-Gültigkeit (Karte 08)

arbeitskarten/ ist damit aufgelöst, nur Index mit Verweis auf arbeitskacheln bleibt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
2026-09-05 17:06:42 +02:00

3.9 KiB

Epic 19 — Satelliten-Server

Details zu SAT-001 (Platzhalter/Architektur-Vorbereitung). Übernommen aus arbeitskarten/13_satelliten_server.md (Karte 13) — die größte gefundene Lücke im 16-Epic-Backlog: eine bereits "entschieden" gewertete Architektur-Erweiterung mit konkreten Datenmodell-Konsequenzen, die in keinem der 16 ursprünglichen Epics erwähnt war.


SAT-001 — Hauptserver mit Satelliten-Servern

  • Ziel: Zusätzlich zum Hauptserver können Satelliten-Server existieren, die lokal (Einsatzort/Wache) laufen und temporär vom Hauptserver getrennt sind — für KatS- Einsatzlagen ohne Internet, Wachen mit dauerhaft schlechter Anbindung, oder reinen Ausfallschutz.
  • Beschreibung: Satellit ist funktional ein vollwertiger, kleiner Hauptserver-Klon (gleiche Software/API/DB), kein reiner Cache — mehrere Mitarbeiter können gleichzeitig am Satelliten arbeiten. Autark-Dauer bewusst nicht zeitlich begrenzt (Stunden bis Tage). Konfliktvermeidung statt Konfliktlösung: jedes Objekt ist während einer Trennung fest genau einem Server zugeordnet (Haupt- oder ein bestimmter Satellit), am jeweils anderen für Schreibzugriffe gesperrt — dadurch strukturell kein "wer gewinnt"-Problem.
  • Benutzerwert: Betrieb bleibt auch bei längerem/vollständigem Verbindungsverlust einsatzfähig, ohne Datenkonflikte beim späteren Zusammenführen.
  • Abhängigkeiten: FOUND-002, ASSET-003, MOBILE-003 (Abgrenzung: Satellit ist die Lösung für ganze Standorte über längere Zeit, MOBILE-003 für Kurzzeit-Netzlücken innerhalb einer einzelnen Kontrolle)
  • Datenmodell: Objekt braucht Feld "aktuell zugeordneter Server" (Hauptserver-ID oder Satelliten-ID), änderbar nur durch bewussten Auslagerungs-/Rückhol-Vorgang. IDs systemweit eindeutig von Anfang an (kein lokal generierter, kollisionsanfälliger Schlüssel) — Voraussetzung für widerspruchsfreies Zusammenführen. Sync überträgt neu entstandene Datensätze per Insert und geänderte bestehende Zeilen (offene Fehlbestände, aktive Mindermengen-Genehmigungen, Objektpositionen) per Upsert.
  • Backend: Auslagerungs-/Rückhol-Endpunkte, Sync-Logik (Insert+Upsert), Schreibsperre für ausgelagerte Objekte am Hauptserver
  • Frontend: Admin-UI zum Auslagern/Zurückholen
  • Mobile: kein Unterschied — Satellit spricht dieselbe API
  • QR-Code/Seriennummer/Inventarnummer: nein
  • Akte: zeigt ggf. aktuellen Server-Zuordnungsstatus
  • Rechte: Auslagerung/Rückholung: Administrator
  • Audit: Auslagerung/Rückholung geloggt, Sync-Vorgänge nachvollziehbar
  • Akzeptanzkriterien: Objekt an Satellit auslagern → am Hauptserver für Schreiben gesperrt; nach Rückholung sind alle am Satelliten entstandenen/geänderten Daten korrekt im Hauptserver.
  • Tests: Sync-Test (Insert neuer Datensätze + Upsert geänderter bestehender Zeilen), Schreibsperre-Test während Auslagerung.
  • DoD: DECISION REQUIRED zum Umsetzungszeitpunkt — Nutzer-Entscheidung aus früherer Session: "erstmal nur mit Hauptserver", also bewusst zurückgestellt. Offene Punkte vor Umsetzung: technischer Auslöser der Auslagerung (manuell vs. automatisch bei Verbindungsverlust), Vorab-Bestückung des Satelliten mit Stammdaten, Verhalten bei laufender Kontrolle während Auslagerung/Rückholung, Hardware-Anforderung.

MABEA-Ist-Stand-Abgleich: nicht umgesetzt, bewusst zurückgestellt (Nutzer-Entscheidung "erstmal nur mit main server gemacht"). Diese Epic-Datei existierte bislang nicht — reine Nachdokumentation der bereits getroffenen Architektur-Entscheidung, damit sie im Backlog nicht verloren geht, bis ein konkreter Bedarf zur Umsetzung führt.

Referenzen

Alte Arbeitskarte (übernommen, Karten-Datei gelöscht): Karte 13 Hauptserver mit Satelliten-Servern. Weiterhin gültige Detail-Referenz (nicht gelöscht, eigenständiges Prompt-Ergebnisdokument): ergebnisse/17_mobile_offline.md Abschnitt 7, ergebnisse/20_datenbank_schema.md Punkt 10.