Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
de:int:wvdsshell:notes:start [2026/03/05 18:52] – angelegt - Externe Bearbeitung 127.0.0.1de:int:wvdsshell:notes:start [2026/03/06 10:19] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 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            | AnlagenGebäudeBetriebsstättenRessourcen              | [[de:int:wvdsshell:notes:01-auth-architecture:auth-database|4Datenschicht]] | +| **ENIVERSCAFM**     | SQL Server            | Technische PlätzeEquipmentStandorteAnlagen           | [[de:int:wvdsshell:notes:02-cafm:start|2CAFM-Architektur]] | 
-| **ENIVERSPIMS**     | SQL Server (geplant)  Prozessdaten, Prüfungen, WISRohrtechnik                  | [[de:int:wvdsshell:notes:01-auth-architecture:auth-database|4. Datenschicht]] |+| **ENIVERSPIMS**     | SQL Server            | Prüfungen, AufträgeSicherheitsgespräche                  | [[de:int:wvdsshell:notes:03-pims:start|3. PIMS-Architektur]] | 
 +| **wvds-amed-cafm**  | pas2js (.wvdx)        | VSIX-ModulBestandsfü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 =====
Zeile 20: Zeile 28:
 │  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)         │
 └───────────────────────┼─────────────────────────────────────────────┘ └───────────────────────┼─────────────────────────────────────────────┘
Zeile 32: Zeile 40:
 │  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>
Zeile 76: Zeile 84:
 </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 =====
Zeile 91: Zeile 119:
 | 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 ====
Zeile 102: Zeile 133:
 | 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) =====
Zeile 113: Zeile 144:
 | 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     |
  
Zuletzt geändert: den 05.03.2026 um 18:52