Installation & Setup Client

Der Muster-Vermittler ist die Referenzimplementierung eines Vermittler-Clients: eine Angular-Anwendung, die die Antragsstrecke gegen die Muster-Versicherung bedient – Stichtag und Verkaufsprodukt wählen, Produktbaum konfigurieren, Risikoobjekt erfassen, Prämie berechnen. Sie ruft die Services jeder Versicherung unter deren Basis-URL auf; im Entwicklungsbetrieb leitet ein Proxy diese Aufrufe an die laufenden Instanzen der Muster-Versicherung weiter (siehe Installation & Setup Server).

Auf dem Beispielserver läuft der Muster-Vermittler unter /omds-ld/ – zum Ausprobieren der Antragsstrecke, ohne etwas zu installieren.

Quelle: reference/sample-broker/ im Repository.

Versichererliste

Ein Vermittler arbeitet mit mehreren Versicherungen. Der Muster-Vermittler führt deshalb eine Liste von Versicherern, jeder mit Anzeigename und Basis-URL seiner Services. Vorbelegt sind die drei Beispielversicherer Disrupto, Anglo-American und Pfefferminzia unter /omds-ld/insurers/<name>/api, also die drei Instanzen der Muster-Versicherung hinter dem Einstiegspunkt.

Die Seite „Versicherer“ in der Navigation zeigt die Liste. Dort lässt sich jeder Versicherer aktivieren oder deaktivieren, mit „Verbindung prüfen“ auf Erreichbarkeit testen und ein eigener Eintrag hinzufügen, etwa eine Muster-Versicherung auf einem anderen Server (absolute URL mit http oder https) oder eine echte Versicherung, die die Services anbietet. Eigene Einträge und Schalter bleiben im Browser gespeichert.

Die Produktauswahl fragt alle aktiven Versicherer gleichzeitig nach ihren Verkaufsprodukten und zeigt sie gruppiert nach Versicherer. Ist eine Versicherung nicht erreichbar, erscheint eine Meldung in ihrer Gruppe; die anderen bleiben bedienbar. Produktbaum und Berechnung laufen dann bei der Versicherung, deren Produkt gewählt wurde.

Voraussetzungen

  • Node.js (24 oder neuer) und npm.

  • Eine laufende Muster-Versicherung auf Port 9090 (Disrupto) – lokal gestartet oder als Container; für die anderen Versicherer eine Instanz auf 9091 (Anglo-American) bzw. 9092 (Pfefferminzia). Ein Versicherer ohne laufende Instanz wird in der Produktauswahl als nicht erreichbar gemeldet und stört die übrigen nicht.

  • Für die Ende-zu-Ende-Tests: Chromium für Playwright (npx playwright install chromium, einmaliger Download; die Browser-Binaries sind nicht Teil des Repositorys).

Installation und Start

cd reference/sample-broker
npm install
npm start

npm start startet den Entwicklungsserver unter http://localhost:4200/omds-ld/ und leitet /omds-ld/insurers/disrupto/api, …/angloamerican/api und …/pfefferminzia/api an die Muster-Versicherungen auf localhost:9090, 9091 und 9092 weiter (/omds-ld/api bleibt als Alias für Disrupto).

Bauen

npx ng build

Der Maven-Build des Repositorys (mvn clean install) baut den Client mit. Im Container-Stack (docker compose up --build -d in der Repository-Wurzel) ist der Client unter http://localhost:9081/omds-ld/ erreichbar; sein nginx ist der Einstiegspunkt und leitet /omds-ld/insurers/<name>/api/ an den Container der jeweiligen Muster-Versicherung und /omds-ld/docs/ an die Dokumentation weiter.

Prüfen

Komponententests (Vitest, ohne Server):

npm test

Ende-zu-Ende-Tests (Playwright): Ein echter Browser durchläuft die Antragsstrecke – Produktauswahl, Produktbaum, Risikoobjekte, Berechnen, Versichererliste – gegen die laufende Muster-Versicherung. Das ist der Weg, den Client gegen eine Muster-Versicherung zu prüfen.

npm run e2e                          # headless in Chromium; startet den Entwicklungsserver selbst
npm run e2e:ui                       # Playwright-Oberfläche zum Zusehen
npm run e2e -- --project=recorded    # ohne Muster-Versicherung, mit aufgezeichneten Antworten

Antwortet auf Port 9090 keine Muster-Versicherung, bricht der Lauf vor dem ersten Test mit einer entsprechenden Meldung ab. Die Tests laufen mit Disrupto als einzigem aktiven Versicherer, damit eine Instanz genügt. Abläufe, die heute an bekannten Fehlern des Clients scheitern, sind als erwartete Fehlschläge markiert und werden gemeldet, sobald sie unerwartet bestehen.