WvdS-Plattform — Gesamtübersicht

Stand: 2026-03-06

Diese Seite ist der Hub für alle Architektur- und Integrations-Notizen der WvdS-Plattform.

Die WvdS-Plattform entsteht aus der Notwendigkeit, eine über Jahrzehnte gewachsene, disziplinär fragmentierte Systemlandschaft zusammenzuführen. Mechaniker, Elektriker und Prozessingenieure arbeiteten bislang mit eigenen Datenbanken, eigenen Formularen und eigenen Prüflogiken — ohne gemeinsame Datenbasis, ohne durchgängige Rückverfolgbarkeit und ohne einheitliche Schnittstelle für Reporting und Audit.

Die Plattform besteht aus drei klar getrennten Datenbankschichten, die jeweils genau eine Frage beantworten. ENIVERSSIAM beantwortet: Wer darf was? Identität, Authentifizierung und Berechtigungen sind zentral und werden von allen anderen Systemen konsumiert. ENIVERSCAFM beantwortet: Was gibt es, wo, in welchem Zustand? Alle technischen Objekte — Anlagen, Geräte, Rohrleitungen, Standorte — werden in einem einzigen, disziplin-neutralen Bestandsmodell geführt. ENIVERSPIMS beantwortet: Was muss getan werden, was wurde getan, durch wen? Prüfungen, Reparaturen, Wartungen und Sicherheitsbewertungen sind durchgängig verknüpft und lückenlos nachverfolgbar.

Diese Trennung macht die Plattform erweiterbar: Neue Gerätetypen erfordern keine Programmänderungen, neue Prüfarten lassen sich ohne Schemaänderungen einführen, und neue Benutzer oder Rollen werden an einem einzigen Ort verwaltet, ohne dass Legacy-Systeme einzeln angepasst werden müssen.

Plattform-Komponenten

Komponente Technologie Rolle Dokument
WvdS.Shell FPC/Lazarus (Windows/Linux) Nativer GUI-Host, Extension-Lifecycle, Auth-Client 2. WvdS.Shell Auth-Architektur
Gateway.Service FPC/Lazarus (Windows/Linux) HTTP-REST-Gateway, Auth-Middleware, DB-Abstraktionsschicht 3. Gateway Auth-Erweiterungen
ENIVERSSIAM SQL Server Identity, Auth, Rollen, Deployments 4. Datenschicht
ENIVERSCAFM SQL Server Technische Plätze, Equipment, Standorte, Anlagen 2. CAFM-Architektur
ENIVERSPIMS SQL Server Prüfungen, Aufträge, Sicherheitsgespräche 3. PIMS-Architektur
wvds-amed-cafm pas2js (.wvdx) VSIX-Modul: Bestandsführung (TP, Equipment, EMR) 4.1 CAFM-Extension
wvds-amed-pims pas2js (.wvdx) VSIX-Modul: Prozessführung (Prüfung, Aufträge, Sicherheit) 4.2 PIMS-Extension

Deployment-Topologie

┌─────────────────────────────────────────────────────────────────────┐
│  Client-Rechner (Windows)                                           │
│                                                                     │
│  ┌─────────────────────────────────────────────────────────────┐    │
│  │ WvdS.Shell (FPC/Lazarus)                                    │    │
│  │  ├─ TitleBar / ActivityBar / StatusBar  (nativ)             │    │
│  │  ├─ WebView-Tabs / SideBar / BottomPanel  (CEF)             │    │
│  │  └─ Auth: PFX-Validator + Context-Detector + JWT-Manager    │    │
│  └────────────────────┬────────────────────────────────────────┘    │
│                       │ HTTPS (JWT Bearer / SSPI Negotiate)         │
└───────────────────────┼─────────────────────────────────────────────┘
                        │
┌───────────────────────┼─────────────────────────────────────────────┐
│  Server (Windows)     │                                             │
│                       ▼                                             │
│  ┌──────────────────────────────────────────────────────────────┐   │
│  │ Gateway.Service (FPC/Lazarus)                                │   │
│  │  Middleware-Pipeline (9 Stufen):                             │   │
│  │   Metrics → Logging → HTTPS → Size → RateLimit               │   │
│  │   → InstallId → Auth (amBearer/amWindows) → Crypto → Routes  │   │
│  │                                                              │   │
│  │  /api/v1/auth/*       → Auth-Controller                      │   │
│  │  /api/v1/features     → Feature-Flags (ENIVERSASYS)          │   │
│  │  /api/v1/...          → Business-Endpunkte                   │   │
│  └──────┬───────────────────────────┬───────────────────────────┘   │
│         │                           │                               │
│         ▼                           ▼                               │
│  ┌──────────────┐         ┌──────────────────┐                      │
│  │ ENIVERSSIAM  │         │  ENIVERSCAFM     │                      │
│  │ core.person  │         │  (Synonyme auf   │                      │
│  │ auth.*       │◄────────│   ENIVERSSIAM)   │                      │
│  └──────────────┘         └──────────────────┘                      │
└─────────────────────────────────────────────────────────────────────┘

Auth-Flow (Überblick)

WvdS.Shell                 Gateway.Service            DC / ENIVERSSIAM
     │                            │                          │
     │  1. PFX prüfen (lokal)     │                          │
     │     ↓ Schicht 1 OK         │                          │
     │                            │                          │
     │  2a. SSPI Negotiate ──────►│── Kerberos-Ticket ──────►│
     │      (Corpnet / VPN)       │◄─ Identität bestätigt ───│
     │◄─── JWT (access+refresh) ──│                          │
     │                            │                          │
     │  2b. username+pw ─────────►│── LDAP/DB-Check ────────►│
     │      (Extern / BYOD)       │◄─ OK ────────────────────│
     │◄─── TOTP-Challenge ────────│                          │
     │──── TOTP-Code ────────────►│── HMAC-SHA1 intern       │
     │◄─── JWT (access+refresh) ──│                          │
     │                            │                          │
     │  3. GET /api/v1/features ─►│── ENIVERSASYS-DB         │
     │◄─── Feature-Flags JSON ────│                          │
     │                            │                          │
     │  4. Extension-Scan, UI     │                          │

Details: Auth-Architektur — Gesamtübersicht

Datenbankgrenzen

ENIVERSPIMS                ENIVERSCAFM                ENIVERSSIAM
      │                          │                          │
      │  FK → asset.item.id      │                          │
      │─────────────────────────►│                          │
      │  (inspection.rule,       │   Synonyme (13×)         │
      │   work.order, ...)       │─────────────────────────►│
      │                          │  (auth.user, core.person) │
      │                          │                          │
      └── JWT-Claim ─────────────┴──────────────────────────┘
         (kein DB-Direktzugriff auf ENIVERSSIAM zur Laufzeit)
Regel Beschreibung
1 ENIVERSPIMS referenziert Assets via FK auf asset.item.id (ENIVERSCAFM), nie direkt auf auth.*
2 ENIVERSCAFM greift auf ENIVERSSIAM ausschließlich via Synonyme zu (read-only, 13 Synonyme)
3 Benutzerkontext fließt als JWT-Claim — kein Service liest ENIVERSSIAM direkt aus der DB

Datenbankschicht

Schemaübersicht

Datenbank Schema Kerninhalt Status
ENIVERSSIAM core person — Basisidentität ✓ Produktiv
ENIVERSSIAM auth user, role, permission, device, token, MFA… ✓ Produktiv
ENIVERSCAFM auth 13 Synonyme → ENIVERSSIAM.auth.* ✓ Produktiv
ENIVERSCAFM hr Synonym person → ENIVERSSIAM.core.person ✓ Produktiv
ENIVERSCAFM dbo Legacy-Anlagen, Betrieb, Gebäude (AMED-Daten) Migration ausstehend
ENIVERSCAFM audit Ereignis-Log, PQ-Signaturen ✓ Produktiv
ENIVERSCAFM org Standorte (org.site) ✓ Produktiv
ENIVERSCAFM settings User-Präferenzen ✓ Produktiv
ENIVERSPIMS inspection Prüftypen, Prüfregeln, Prüfergebnisse, Messwerte Im Aufbau (Phase 4)
ENIVERSPIMS work Arbeitsaufträge (unified: U/R/W/…) Im Aufbau (Phase 4)
ENIVERSPIMS safety Sicherheitsgespräche, SIL-Bewertung Im Aufbau (Phase 4)
ENIVERSPIMS fault Schadensmeldungen, Reparaturplanung Im Aufbau (Phase 4)

Migrations-Stand

Phase Inhalt Status
1 auth.* + core.person: ENIVERSCAFM → ENIVERSSIAM ✓ Abgeschlossen
2 LD-System (ENIVERS tblPerson/tblRolle) → ENIVERSSIAM ✓ Abgeschlossen
3 AMED-Bestandsdaten (Branches, Devices, Facilities) → ENIVERSCAFM Ausstehend
4 ENIVERSPIMS aufbauen; WIS/PROOF/TecDB migrieren Ausstehend
5 ENIVERSASYS aufbauen; Feature-Flags aus ENIVERSCAFM auslagern Ausstehend

Details: 5. Auth-Migration — Legacy-Systeme

Quellsysteme (Altdaten)

System Technologie Migrationsziel Status
ENIVERS (LD-System SQL) SQL Server ENIVERSSIAM ✓ Phase 2 done
LdUsr.accdb MS Access (UI-Only) kein Datenziel
AMED .NET Framework C# + ADO.NET TypedDataSet ENIVERSCAFM Ausstehend
AMED .NET 8 (SETY) C# .NET 8 + WebAPI ENIVERSCAFM Ausstehend
WIS / PROOF (Delphi) Delphi + TADOConnection CAFM + PIMS Ausstehend
TecDB (Rohre) SQL Server ENIVERSPIMS Ausstehend
Rohre / TecDB (AMED Amed.Win.Rohre) C# + ADO.NET + SQL Server EAV ENIVERSPIMS Ausstehend
Delphi SCCM/SCCM_PWD Delphi + ADOX abgelöst Phase 2 done
Delphi SB / ISAPI Delphi abgelöst → Shell/Gateway

Details: 5. Auth-Migration — Quellsysteme

Notizen-Index

Nr Dokument Inhalt
WvdS-Plattform — Gesamtübersicht Diese Seite — Überblick, Topologie, Migration
1 Auth-Architektur — Gesamtübersicht Konzept, Schichten, Auth-Modi, CWE-Referenzen
1.2 WvdS.Shell — GUI-Schicht PFX, Kerberos, MFA-Flow, Startup-Phasen, JWT, TOTP
1.3 Gateway.Service — Service-Schicht Endpoints, JWT, TOTP-Service, Middleware, Kerberos
1.4 Datenschicht — DB-Schemas ENIVERSSIAM / ENIVERSCAFM Schemas, Synonyme, PIMS
1.5 Auth-Migration — Legacy-Systeme Phasen 1–5, Mapping-Tabellen, SQL-Skripte
2 CAFM-Architektur — Gesamtübersicht Bestandsführung: TP, Equipment, Standorte, Disziplinen
2.2 ENIVERSCAFM Asset-Modell asset.item, property_schema, Bausteine, Lists, Trigger
2.3 Legacy-Analyse (CAFM) AMED, TecDB — CAFM-Perspektive, Schwächen, Mapping
2.4 Migrationsplan (CAFM) Phasen 3–4 CAFM, Mapping-Tabellen, Greenfield-Workflow
3 PIMS-Architektur — Gesamtübersicht Prozesse: Prüfungen, Aufträge, Safety, Workflow
3.1 Prüfwesen (ENIVERSPIMS) discipline_type, rule, prerequisite, schedule, result
3.2 Arbeitsaufträge (ENIVERSPIMS) work.order (unified ARBEIT), order_type, plan, cost
3.3 Sicherheitsgespräche (ENIVERSPIMS) Merge: EZASichGesp + tblSicherheitGespraech, SIL
3.4 Legacy-Analyse (PIMS) WIS/TimeTrain, AMED EZA-Familie, LD ARBEIT, Rohre
4 VSIX-Module — Gesamtübersicht Modul-Map, Dependencies, Extension Anatomy, Naming
4.1 wvds-amed-cafm Extension CAFM-Views (TP, OBJ, EMR), Forms, Gateway-Calls
4.2 wvds-amed-pims Extension PIMS-Views (INSP, EZA, WORK, PIPE), Forms, Gateway-Calls
4.3 Wo finde ich jetzt...? Legacy → VSIX Zuordnung: AMED, LD, WIS, TecDB
4.4 View-Patterns — UX-Architektur Leading Pattern, Flyout-Drawer, Tab-Sprung, Legacy-Referenz
Zuletzt geändert: den 06.03.2026 um 10:19