Kapitel 4 von 5

Provider Architecture

Allgemeines Architekturmodell, das technologieunabhängige Platform Capabilities über einheitliche Provider-Verträge mit konkreten Technologien und Hosts verbindet.

Zweck

Provider bilden die Brücke zwischen der technologieunabhängigen ORLENE Platform Architektur und konkreten technischen Systemen.

Zweck

Die ORLENE Platform kennt ausschließlich Fähigkeiten. Provider setzen diese Fähigkeiten mit konkreten Technologien um.

Zweck

Dieses Dokument beschreibt keine Ubuntu-Installation. Es definiert das allgemeine Architekturmodell für alle gegenwärtigen und zukünftigen Provider der ORLENE Platform.

Grundsatz

Die ORLENE Platform trifft Entscheidungen.

Grundsatz

Provider führen diese Entscheidungen aus.

Grundsatz

Die Platform kennt niemals konkrete Betriebssysteme oder Programme als Bestandteil ihrer Kernarchitektur.

Architektur

```text ORLENE Platform ↓ Capability ↓ Provider ↓ Technologie ↓ Host ```

Architektur

Provider bilden ausschließlich die technische Umsetzung. Sie verändern weder die fachliche Entscheidung noch die Kernarchitektur der Platform.

Capabilities

Capabilities beschreiben technische Fähigkeiten unabhängig von einem konkreten Produkt. Beispiele sind:

Capabilities

- Containerverwaltung - Relationale Datenhaltung - Benutzerverwaltung - Backup - Updates - HTTP - Reverse Proxy - Dateisystem - Audit - Benachrichtigung - Zeit - Netzwerk - Druck - Storage - Monitoring - Logging

Capabilities

Jede benötigte Capability besitzt mindestens einen freigegebenen oder im Review befindlichen Provider.

Provider

Jeder Provider besitzt mindestens:

Provider

- Provider-ID - Name - Version - Capability - Status - Priorität - unterstützte Plattformen - Voraussetzungen - Verifikation - Rollback - Recovery - Dokumentation

Provider

Diese Angaben bilden den nachvollziehbaren technischen Pass eines Providers.

Provider-Lebenszyklus

```text Entwurf ↓ Implementierung ↓ Review ↓ Freigabe ↓ Produktiv ↓ Ersetzt ↓ Archiv ```

Provider-Lebenszyklus

Nur freigegebene Provider dürfen produktiv ausgewählt werden. Ersetzte und archivierte Provider bleiben für Audit, Recovery und historische Installationen nachvollziehbar.

Provider-Vertrag

Jeder Provider implementiert dieselben Grundoperationen:

Provider-Vertrag

```text probe() decide() execute() verify() rollback() recover() report() audit() ```

Provider-Vertrag

Kein Provider darf diesen Vertrag verletzen.

Provider-Vertrag

- `probe()` ermittelt den aktuellen technischen Zustand ohne Veränderung. - `decide()` übernimmt ausschließlich die von der Platform autorisierte Entscheidung und bereitet ihre technische Ausführung vor. - `execute()` führt nur die autorisierte Operation aus. - `verify()` bestätigt das tatsächliche Ergebnis unabhängig von der Ausführung. - `rollback()` führt eine begonnene Änderung in einen dokumentierten sicheren Zustand zurück. - `recover()` setzt eine unterbrochene Operation anhand des gespeicherten Zustands fort. - `report()` liefert strukturierte Ausführungs- und Verifikationsergebnisse. - `audit()` protokolliert Entscheidung, Ausführung und Ergebnis nachvollziehbar.

Platform entscheidet

Die Platform entscheidet:

Platform entscheidet

- welche Capability benötigt wird - welcher freigegebene Provider verwendet wird - welche konkrete Operation autorisiert ist - wann eine Operation abgebrochen oder zurückgesetzt werden muss

Platform entscheidet

Der Provider entscheidet niemals selbstständig über fachliche Ziele, andere Capabilities oder die Auswahl anderer Provider.

Beispiele

```text Capability: Containerverwaltung ↓ Provider: Docker oder Podman

Beispiele

Capability: Relationale Datenhaltung ↓ Provider: PostgreSQL oder MariaDB

Beispiele

Capability: HTTP ↓ Provider: Nginx oder Caddy oder Apache ```

Beispiele

Beim Austausch eines Providers bleibt die ORLENE Platform Architektur unverändert.

Providerregeln

Ein Provider darf:

Providerregeln

- nur seine eigene Capability verändern - keine fremden Provider beeinflussen - ausschließlich autorisierte technische Operationen ausführen - jede Änderung dokumentieren - jede Änderung verifizieren - Rollback unterstützen - Recovery unterstützen - Audit erzeugen

Providerregeln

Bestehende Daten und Konfigurationen dürfen nicht ohne vorherige Sicherung verändert werden.

Provider Registry

Die Provider Registry ist das zentrale Verzeichnis aller bekannten Provider. Sie speichert mindestens:

Provider Registry

- Provider-ID - Version - Capability - Status - Freigabe - Installationen - Kompatibilität

Provider Registry

Die Registry bewahrt die Zuordnung zwischen Capability, Provider-Version, Platform-Version und konkreten Installationen. Sie ersetzt weder das Platform Register noch den Provider selbst.

Provider-Auswahl

Provider werden ausschließlich anhand von Platform Policies ausgewählt, niemals durch Hardcoding im Platform Core.

Provider-Auswahl

Beispiele für auswählende Policies:

Provider-Auswahl

- Ubuntu Policy - Windows Policy - Container Policy - Security Policy - Deployment Policy - Backup Policy

Provider-Auswahl

Policies bewerten Freigabestatus, Plattformkompatibilität, Priorität und Voraussetzungen. Der ausgewählte Provider erhält anschließend eine eindeutige autorisierte Operation.

Provider-Qualität

Ein Provider gilt erst dann als produktiv, wenn:

Provider-Qualität

- alle vorgesehenen Tests erfolgreich sind - das Review abgeschlossen ist - Rollback geprüft ist - Recovery geprüft ist - Audit geprüft ist - Bootstrap-Kompatibilität bestätigt ist - Voraussetzungen und unterstützte Plattformen dokumentiert sind - die Provider Registry den Freigabestatus ausweist

Sicherheit

Provider besitzen niemals eigene Geschäftslogik.

Sicherheit

Sie führen ausschließlich technische Operationen innerhalb ihrer Capability und der von der Platform erteilten Autorisierung aus.

Sicherheit

Provider dürfen keine verdeckten Seiteneffekte, keine stillen Fremdänderungen und keine ungeprüfte Ausweitung ihrer Berechtigungen erzeugen.

Verwendung in der ORLENE Platform

Die Provider-Architektur ist eine gemeinsame technische Grundlage für:

Verwendung in der ORLENE Platform

- ORLENE Platform Bootstrap - Build & Release - Deployment - Platform Services - zukünftige ORLENE-Produkte, soweit sie Platform Capabilities verwenden

Verwendung in der ORLENE Platform

Bootstrap prüft und entscheidet weiterhin im Platform Core. Ein ausgewählter Provider führt nur die autorisierte Hostoperation aus und liefert Verifikation, Report und Audit zurück.

Beziehungen

Dieses Dokument steht in direkter Beziehung zu:

Beziehungen

- ORLENE Platform Bootstrap 1.0 - ORLENE Platform – Systemarchitektur 1.0 - ORLENE Platform Register 1.0 - Build & Release - Documentation Space

Architekturgrundsätze

1. Die Platform beschreibt Fähigkeiten, keine Produkte. 2. Die Platform entscheidet; Provider führen aus. 3. Jeder Provider bleibt auf genau definierte Capabilities begrenzt. 4. Der Provider-Vertrag ist für alle Technologien gleich. 5. Provider werden durch Policies und Registry ausgewählt, nicht durch Hardcoding. 6. Ausführung, Verifikation, Rollback, Recovery, Report und Audit bleiben nachvollziehbar. 7. Neue Technologien verändern weder Bootstrap Core noch ORLENE Platform Kernarchitektur. 8. Provider enthalten keine Geschäftslogik. 9. Produktiver Status setzt Tests, Review und geprüfte Wiederherstellbarkeit voraus. 10. Bestehende Daten werden vor Veränderungen gesichert.

Offene Umsetzungspunkte

Dieses Architekturmodell implementiert noch keine konkreten Provider. Nach fachlicher Freigabe folgen getrennte Spezifikationen und Implementierungen für Provider Registry, Provider-Vertrag und erste Hostprovider. Ubuntu, Windows, Docker, Podman, PostgreSQL oder andere Technologien werden dabei als austauschbare Provider umgesetzt, nicht als Bestandteil des Platform Core.