| Nächste Überarbeitung | Vorhergehende Überarbeitung |
| de:int:wvdsshell:notes:start [2026/03/05 18:52] – angelegt - Externe Bearbeitung 127.0.0.1 | de:int:wvdsshell:notes:start [2026/03/06 10:19] (aktuell) – Externe Bearbeitung 127.0.0.1 |
|---|
| ====== WvdS-Plattform — Gesamtübersicht ====== | ====== WvdS-Plattform — Gesamtübersicht ====== |
| |
| //Stand: 2026-03-05// | //Stand: 2026-03-06// |
| |
| Diese Seite ist der **Hub** für alle Architektur- und Integrations-Notizen der WvdS-Plattform. | 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 ===== | ===== Plattform-Komponenten ===== |
| |
| ^ Komponente ^ Technologie ^ Rolle ^ Dokument ^ | ^ Komponente ^ Technologie ^ Rolle ^ Dokument ^ |
| | **WvdS.Shell** | FPC/Lazarus (Windows) | Nativer GUI-Host, Extension-Lifecycle, Auth-Client | [[de:int:wvdsshell:notes:01-auth-architecture:auth-shell|2. WvdS.Shell Auth-Architektur]] | | | **WvdS.Shell** | FPC/Lazarus (Windows/Linux) | Nativer GUI-Host, Extension-Lifecycle, Auth-Client | [[de:int:wvdsshell:notes:01-siam:auth-shell|2. WvdS.Shell Auth-Architektur]] | |
| | **Gateway.Service** | FPC/Lazarus (Windows) | HTTP-REST-Gateway, Auth-Middleware, DB-Abstraktionsschicht | [[de:int:wvdsshell:notes:01-auth-architecture:auth-gateway|3. Gateway Auth-Erweiterungen]] | | | **Gateway.Service** | FPC/Lazarus (Windows/Linux) | HTTP-REST-Gateway, Auth-Middleware, DB-Abstraktionsschicht | [[de:int:wvdsshell:notes:01-siam:auth-gateway|3. Gateway Auth-Erweiterungen]] | |
| | **ENIVERSSIAM** | SQL Server | Identity, Auth, Rollen, Deployments | [[de:int:wvdsshell:notes:01-auth-architecture:auth-database|4. Datenschicht]] | | | **ENIVERSSIAM** | SQL Server | Identity, Auth, Rollen, Deployments | [[de:int:wvdsshell:notes:01-siam:auth-database|4. Datenschicht]] | |
| | **ENIVERSCAFM** | SQL Server | Anlagen, Gebäude, Betriebsstätten, Ressourcen | [[de:int:wvdsshell:notes:01-auth-architecture:auth-database|4. Datenschicht]] | | | **ENIVERSCAFM** | SQL Server | Technische Plätze, Equipment, Standorte, Anlagen | [[de:int:wvdsshell:notes:02-cafm:start|2. CAFM-Architektur]] | |
| | **ENIVERSPIMS** | SQL Server (geplant) | Prozessdaten, Prüfungen, WIS, Rohrtechnik | [[de:int:wvdsshell:notes:01-auth-architecture:auth-database|4. Datenschicht]] | | | **ENIVERSPIMS** | SQL Server | Prüfungen, Aufträge, Sicherheitsgespräche | [[de:int:wvdsshell:notes:03-pims:start|3. PIMS-Architektur]] | |
| | | **wvds-amed-cafm** | pas2js (.wvdx) | VSIX-Modul: Bestandsführung (TP, Equipment, EMR) | [[de:int:wvdsshell:notes:04-vsix:amed-cafm|4.1 CAFM-Extension]] | |
| | | **wvds-amed-pims** | pas2js (.wvdx) | VSIX-Modul: Prozessführung (Prüfung, Aufträge, Sicherheit)| [[de:int:wvdsshell:notes:04-vsix:amed-pims|4.2 PIMS-Extension]] | |
| |
| ===== Deployment-Topologie ===== | ===== Deployment-Topologie ===== |
| │ Client-Rechner (Windows) │ | │ Client-Rechner (Windows) │ |
| │ │ | │ │ |
| │ ┌─────────────────────────────────────────────────────────────┐ │ | │ ┌─────────────────────────────────────────────────────────────┐ │ |
| │ │ WvdS.Shell (FPC/Lazarus) │ │ | │ │ WvdS.Shell (FPC/Lazarus) │ │ |
| │ │ ├─ TitleBar / ActivityBar / StatusBar (nativ) │ │ | │ │ ├─ TitleBar / ActivityBar / StatusBar (nativ) │ │ |
| │ │ ├─ WebView-Tabs / SideBar / BottomPanel (CEF) │ │ | │ │ ├─ WebView-Tabs / SideBar / BottomPanel (CEF) │ │ |
| │ │ └─ Auth: PFX-Validator + Context-Detector + JWT-Manager │ │ | │ │ └─ Auth: PFX-Validator + Context-Detector + JWT-Manager │ │ |
| │ └────────────────────┬────────────────────────────────────────┘ │ | │ └────────────────────┬────────────────────────────────────────┘ │ |
| │ │ HTTPS (JWT Bearer / SSPI Negotiate) │ | │ │ HTTPS (JWT Bearer / SSPI Negotiate) │ |
| └───────────────────────┼─────────────────────────────────────────────┘ | └───────────────────────┼─────────────────────────────────────────────┘ |
| │ Server (Windows) │ │ | │ Server (Windows) │ │ |
| │ ▼ │ | │ ▼ │ |
| │ ┌──────────────────────────────────────────────────────────────┐ │ | │ ┌──────────────────────────────────────────────────────────────┐ │ |
| │ │ Gateway.Service (FPC/Lazarus) │ │ | │ │ Gateway.Service (FPC/Lazarus) │ │ |
| │ │ Middleware-Pipeline (9 Stufen): │ │ | │ │ Middleware-Pipeline (9 Stufen): │ │ |
| │ │ Metrics → Logging → HTTPS → Size → RateLimit │ │ | │ │ Metrics → Logging → HTTPS → Size → RateLimit │ │ |
| │ │ → InstallId → Auth (amBearer/amWindows) → Crypto → Routes │ │ | │ │ → InstallId → Auth (amBearer/amWindows) → Crypto → Routes │ │ |
| │ │ │ │ | │ │ │ │ |
| │ │ /api/v1/auth/* → Auth-Controller │ │ | │ │ /api/v1/auth/* → Auth-Controller │ │ |
| │ │ /api/v1/features → Feature-Flags (ENIVERSASYS) │ │ | │ │ /api/v1/features → Feature-Flags (ENIVERSASYS) │ │ |
| │ │ /api/v1/... → Business-Endpunkte │ │ | │ │ /api/v1/... → Business-Endpunkte │ │ |
| │ └──────┬───────────────────────────┬──────────────────────────┘ │ | │ └──────┬───────────────────────────┬───────────────────────────┘ │ |
| │ │ │ │ | │ │ │ │ |
| │ ▼ ▼ │ | │ ▼ ▼ │ |
| │ ┌──────────────┐ ┌──────────────────┐ │ | │ ┌──────────────┐ ┌──────────────────┐ │ |
| │ │ ENIVERSSIAM │ │ ENIVERSCAFM │ │ | │ │ ENIVERSSIAM │ │ ENIVERSCAFM │ │ |
| │ │ core.person │ │ (Synonyme auf │ │ | │ │ core.person │ │ (Synonyme auf │ │ |
| │ │ auth.* │◄────────│ ENIVERSSIAM) │ │ | │ │ auth.* │◄────────│ ENIVERSSIAM) │ │ |
| │ └──────────────┘ └──────────────────┘ │ | │ └──────────────┘ └──────────────────┘ │ |
| └─────────────────────────────────────────────────────────────────────┘ | └─────────────────────────────────────────────────────────────────────┘ |
| </code> | </code> |
| </code> | </code> |
| |
| Details: [[de:int:wvdsshell:notes:01-auth-architecture:start|Auth-Architektur — Gesamtübersicht]] | Details: [[de:int:wvdsshell:notes:01-siam:start|Auth-Architektur — Gesamtübersicht]] |
| | |
| | ===== Datenbankgrenzen ===== |
| | |
| | <code> |
| | 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) |
| | </code> |
| | |
| | ^ 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 ===== | ===== Datenbankschicht ===== |
| | ENIVERSCAFM | ''org'' | Standorte (''org.site'') | ✓ Produktiv | | | ENIVERSCAFM | ''org'' | Standorte (''org.site'') | ✓ Produktiv | |
| | ENIVERSCAFM | ''settings'' | User-Präferenzen | ✓ Produktiv | | | ENIVERSCAFM | ''settings'' | User-Präferenzen | ✓ Produktiv | |
| | ENIVERSPIMS | — | Noch nicht erstellt | Geplant (Phase 4) | | | 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 ==== | ==== Migrations-Stand ==== |
| | 5 | ENIVERSASYS aufbauen; Feature-Flags aus ENIVERSCAFM auslagern | Ausstehend | | | 5 | ENIVERSASYS aufbauen; Feature-Flags aus ENIVERSCAFM auslagern | Ausstehend | |
| |
| Details: [[de:int:wvdsshell:notes:01-auth-architecture:auth-migration|5. Auth-Migration — Legacy-Systeme]] | Details: [[de:int:wvdsshell:notes:01-siam:auth-migration|5. Auth-Migration — Legacy-Systeme]] |
| |
| ===== Quellsysteme (Altdaten) ===== | ===== Quellsysteme (Altdaten) ===== |
| | WIS / PROOF (Delphi) | Delphi + TADOConnection | CAFM + PIMS | Ausstehend | | | WIS / PROOF (Delphi) | Delphi + TADOConnection | CAFM + PIMS | Ausstehend | |
| | TecDB (Rohre) | SQL Server | ENIVERSPIMS | Ausstehend | | | TecDB (Rohre) | SQL Server | ENIVERSPIMS | Ausstehend | |
| | Delphi SIAM/SCCM_PWD | Delphi + ADOX | **abgelöst** ✓ | Phase 2 done | | | 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 | | | Delphi SB / ISAPI | Delphi | **abgelöst** ✓ | → Shell/Gateway | |
| |
| Details: [[de:int:wvdsshell:notes:01-auth-architecture:auth-migration#quellsysteme_und_migrationspfade|5. Auth-Migration — Quellsysteme]] | Details: [[de:int:wvdsshell:notes:01-siam:auth-migration#quellsysteme_und_migrationspfade|5. Auth-Migration — Quellsysteme]] |
| |
| ===== Notizen-Index ===== | ===== Notizen-Index ===== |
| |
| ^ Nr ^ Dokument ^ Inhalt ^ | ^ Nr ^ Dokument ^ Inhalt ^ |
| | — | [[de:int:wvdsshell:notes:start|WvdS-Plattform — Gesamtübersicht]] | Diese Seite — Überblick, Topologie, Migration | | | — | [[de:int:wvdsshell:notes:start|WvdS-Plattform — Gesamtübersicht]] | Diese Seite — Überblick, Topologie, Migration | |
| | 1 | [[de:int:wvdsshell:notes:01-auth-architecture:start|Auth-Architektur — Gesamtübersicht]] | Konzept, Schichten, Auth-Modi, CWE-Referenzen | | | 1 | [[de:int:wvdsshell:notes:01-siam:start|Auth-Architektur — Gesamtübersicht]] | Konzept, Schichten, Auth-Modi, CWE-Referenzen | |
| | 2 | [[de:int:wvdsshell:notes:01-auth-architecture:auth-shell|WvdS.Shell — GUI-Schicht]] | PFX, Kerberos, MFA-Flow, Startup-Phasen, JWT, TOTP | | | 1.2 | [[de:int:wvdsshell:notes:01-siam:auth-shell|WvdS.Shell — GUI-Schicht]] | PFX, Kerberos, MFA-Flow, Startup-Phasen, JWT, TOTP | |
| | 3 | [[de:int:wvdsshell:notes:01-auth-architecture:auth-gateway|Gateway.Service — Service-Schicht]] | Endpoints, JWT, TOTP-Service, Middleware, Kerberos | | | 1.3 | [[de:int:wvdsshell:notes:01-siam:auth-gateway|Gateway.Service — Service-Schicht]] | Endpoints, JWT, TOTP-Service, Middleware, Kerberos | |
| | 4 | [[de:int:wvdsshell:notes:01-auth-architecture:auth-database|Datenschicht — DB-Schemas]] | ENIVERSSIAM / ENIVERSCAFM Schemas, Synonyme, PIMS | | | 1.4 | [[de:int:wvdsshell:notes:01-siam:auth-database|Datenschicht — DB-Schemas]] | ENIVERSSIAM / ENIVERSCAFM Schemas, Synonyme, PIMS | |
| | 5 | [[de:int:wvdsshell:notes:01-auth-architecture:auth-migration|Auth-Migration — Legacy-Systeme]] | Phasen 1–5, Mapping-Tabellen, SQL-Skripte | | | 1.5 | [[de:int:wvdsshell:notes:01-siam:auth-migration|Auth-Migration — Legacy-Systeme]] | Phasen 1–5, Mapping-Tabellen, SQL-Skripte | |
| | | 2 | [[de:int:wvdsshell:notes:02-cafm:start|CAFM-Architektur — Gesamtübersicht]] | Bestandsführung: TP, Equipment, Standorte, Disziplinen | |
| | | 2.2 | [[de:int:wvdsshell:notes:02-cafm:asset-model|ENIVERSCAFM Asset-Modell]] | asset.item, property_schema, Bausteine, Lists, Trigger | |
| | | 2.3 | [[de:int:wvdsshell:notes:02-cafm:legacy-analysis|Legacy-Analyse (CAFM)]] | AMED, TecDB — CAFM-Perspektive, Schwächen, Mapping | |
| | | 2.4 | [[de:int:wvdsshell:notes:02-cafm:migration|Migrationsplan (CAFM)]] | Phasen 3–4 CAFM, Mapping-Tabellen, Greenfield-Workflow | |
| | | 3 | [[de:int:wvdsshell:notes:03-pims:start|PIMS-Architektur — Gesamtübersicht]] | Prozesse: Prüfungen, Aufträge, Safety, Workflow | |
| | | 3.1 | [[de:int:wvdsshell:notes:03-pims:inspection|Prüfwesen (ENIVERSPIMS)]] | discipline_type, rule, prerequisite, schedule, result | |
| | | 3.2 | [[de:int:wvdsshell:notes:03-pims:work-orders|Arbeitsaufträge (ENIVERSPIMS)]] | work.order (unified ARBEIT), order_type, plan, cost | |
| | | 3.3 | [[de:int:wvdsshell:notes:03-pims:safety|Sicherheitsgespräche (ENIVERSPIMS)]] | Merge: EZASichGesp + tblSicherheitGespraech, SIL | |
| | | 3.4 | [[de:int:wvdsshell:notes:03-pims:legacy-analysis|Legacy-Analyse (PIMS)]] | WIS/TimeTrain, AMED EZA-Familie, LD ARBEIT, Rohre | |
| | | 4 | [[de:int:wvdsshell:notes:04-vsix:start|VSIX-Module — Gesamtübersicht]] | Modul-Map, Dependencies, Extension Anatomy, Naming | |
| | | 4.1 | [[de:int:wvdsshell:notes:04-vsix:amed-cafm|wvds-amed-cafm Extension]] | CAFM-Views (TP, OBJ, EMR), Forms, Gateway-Calls | |
| | | 4.2 | [[de:int:wvdsshell:notes:04-vsix:amed-pims|wvds-amed-pims Extension]] | PIMS-Views (INSP, EZA, WORK, PIPE), Forms, Gateway-Calls | |
| | | 4.3 | [[de:int:wvdsshell:notes:04-vsix:screen-map|Wo finde ich jetzt...?]] | Legacy → VSIX Zuordnung: AMED, LD, WIS, TecDB | |
| | | 4.4 | [[de:int:wvdsshell:notes:04-vsix:view-patterns|View-Patterns — UX-Architektur]] | Leading Pattern, Flyout-Drawer, Tab-Sprung, Legacy-Referenz | |
| |