Installation & Setup Server

Der Beispielserver stellt die drei sichtbaren Artefakte des Vorhabens als Container bereit: diese Dokumentationswebseite, die Muster-Versicherung (die Services) und den Muster-Vermittler (Installation & Setup Client). Alles liegt hinter einem Einstiegspunkt, einem Host und einem Port, sodass die Doku den laufenden Muster-Vermittler verlinken kann und der Client die Services ohne Cross-Origin-Konfiguration erreicht.

Die Muster-Versicherung läuft dabei dreimal, einmal je Beispielversicherer: Eine laufende Instanz ist genau eine Versicherung mit ihrem Produktkatalog und ihrem Tarif. So lässt sich ein Vermittler gegen mehrere Versicherungen testen, wie es die Praxis verlangt.

Quelle: docker-compose.yaml, Dockerfile_Server, Dockerfile_Client und Dockerfile_Docs in der Wurzel des Repositorys; die nginx-Konfiguration des Einstiegspunkts liegt in reference/sample-broker/nginx.conf.

Öffentlicher Beispielserver

Ein Beispielserver läuft öffentlich unter https://kapdion.com/omds-ld:

Was Adresse

Dokumentation

https://kapdion.com/omds-ld/docs/

Muster-Vermittler

https://kapdion.com/omds-ld/

Schnittstelle Disrupto

https://kapdion.com/omds-ld/insurers/disrupto/api

Schnittstelle Anglo-American

https://kapdion.com/omds-ld/insurers/angloamerican/api

Schnittstelle Pfefferminzia

https://kapdion.com/omds-ld/insurers/pfefferminzia/api

MCP-Server (Streamable HTTP)

https://kapdion.com/omds-ld/insurers/<name>/mcp mit disrupto, angloamerican oder pfefferminzia (Einrichtung)

Chatbot mit den MCP-Servern

https://chatbot.kapdion.com

Die Links der Schnittstellen führen auf die Produktliste (listProducts). Die Geschäftsfälle liegen nur im Speicher der jeweiligen Instanz; ein neues Deployment verwirft sie.

Voraussetzungen

  • Docker mit Docker Compose (Compose V2, Befehl docker compose).

  • Netzzugang beim Bauen: Maven- und npm-Abhängigkeiten sowie das UI-Bundle der Dokumentation werden beim Build geladen.

  • Nichts weiter – weder JDK noch Node.js noch Maven müssen auf dem Server installiert sein; die Images bauen alles selbst.

Starten

docker compose up --build -d      # Images bauen und alle Container im Hintergrund starten
docker compose logs -f            # Logs verfolgen
docker compose down               # alle Container stoppen und entfernen

Der erste Build dauert einige Minuten (Maven-Build der Muster-Versicherung, Angular-Build des Muster-Vermittlers, Antora-Build der Dokumentation). Die Muster-Versicherung hält ihre Geschäftsfälle im Speicher; ein Neustart oder Rebuild verwirft sie.

Services, Pfade und Ports

Service (Compose) Inhalt Erreichbar unter

sample-broker

Muster-Vermittler (Angular) mit nginx als Einstiegspunkt

Host-Port 9081: /omds-ld/ (Client), /omds-ld/docs/ (Doku), /omds-ld/insurers/<name>/api/ und /omds-ld/api/ (Services)

docs

Diese Dokumentation (Antora-Site)

nur über den Einstiegspunkt: /omds-ld/docs/

sample-insurer-disrupto

Muster-Versicherung als Disrupto

/omds-ld/insurers/disrupto/api/ und als Alias /omds-ld/api/; direkt Host-Port 9080

sample-insurer-angloamerican

Muster-Versicherung als Anglo-American

/omds-ld/insurers/angloamerican/api/; direkt Host-Port 9082

sample-insurer-pfefferminzia

Muster-Versicherung als Pfefferminzia

/omds-ld/insurers/pfefferminzia/api/; direkt Host-Port 9083

Die drei Instanzen der Muster-Versicherung entstehen aus einem Image; welcher Beispielversicherer gespielt wird, bestimmt die Umgebungsvariable SPRING_PROFILES_ACTIVE (disrupto, angloamerican, pfefferminzia). Im Container lauscht jede Instanz auf Port 9090; nach außen unterscheiden sie sich durch den Pfad am Einstiegspunkt und durch den direkten Host-Port.

Der Pfad /omds-ld/api/ bleibt als Alias für Disrupto erhalten: für Werkzeuge, das Lebenszeichen der Infoseite und bestehende Anleitungen. Neue Clients sprechen die Instanzen über /omds-ld/insurers/<name>/api/ an; der Muster-Vermittler kennt diese Pfade als Vorbelegung seiner Versichererliste.

Ein Aufruf von http://<host>:9081/ leitet auf die Startseite der Dokumentation weiter. Der Muster-Vermittler ist von dort verlinkt.

Direkte Host-Ports (9080, 9082, 9083) sind für Werkzeuge gedacht, die eine Instanz ohne den Einstiegspunkt ansprechen, etwa Validatoren, Selbsttests oder ein Muster-Vermittler auf einem anderen Host. Jede Instanz erlaubt Cross-Origin-Anfragen auf ihre Services. Eine Geschäftsfall-ID gilt nur bei der Instanz, die sie vergeben hat.

Automatisches Deployment

Ein Push auf den Branch master baut die Images neu und ersetzt alle Container (docker compose up -d --build, Gitea-Workflow .gitea/workflows/build-deploy.yaml). Der Runner läuft auf dem Beispielserver selbst; es ist keine weitere Konfiguration nötig.

Lokal ohne Container

Für die Entwicklung läuft die Muster-Versicherung auch direkt aus dem Repository, eine Instanz je Beispielversicherer:

mvn spring-boot:run -pl reference/sample-insurer                                          # Disrupto auf :9090
mvn spring-boot:run -pl reference/sample-insurer "-Dspring-boot.run.profiles=angloamerican"   # Anglo-American auf :9091
mvn spring-boot:run -pl reference/sample-insurer "-Dspring-boot.run.profiles=pfefferminzia"   # Pfefferminzia auf :9092

Die Services liegen dann unter http://localhost:909x/omds-ld/api; die Infoseite unter http://localhost:909x/ nennt den Beispielversicherer der Instanz. Für die meisten Arbeiten genügt die Disrupto-Instanz; der Entwicklungsserver des Muster-Vermittlers leitet die drei Pfade /omds-ld/insurers/<name>/api auf die Ports 9090, 9091 und 9092 weiter (siehe Installation & Setup Client).