Backend-Microservice
Um einen neuen Backend-Service anzulegen sind zuvor die allgemeinen Infos zum Einrichten eines neuen Services zu beachten.
Maven-Projekt anlegen
Für den neuen Service wird ein Ordner parallel zu den anderen Services angelegt. Dabei ist auf das Namensschema zu achten: wls-<Domain>-service
In dem Ordner wird das Maven-Projekt eingerichtet. Dazu aus den RefArch-Templates die Dateien des jeweiligen Unterordners in den erstellten Projektordner kopieren.
Pflege der Dependencies und Plugins
Einen Überblick über die verwendeten Dependencies und Plugins geben die vorhandenen Services. Der Broadcast-Service ist ein Service, der auf keine andere Services zugreift. Der Basisdaten-Service ist ein Service der auf andere Services zugreift. Dementsprechend verwenden die Services unterschiedliche Plugins.
Da das RefArch-Template auf ein allgemeines Szenario abzielt, ist mit zusätzlichen Schritten zu rechnen, um den Service funktionsfähig zu bekommen.
Workflow Templates
name: build push dev <domain>-service
on:
push:
branches:
- dev
paths:
- 'wls-<domain>-service/**'
- '.github/workflows/wls-<domain>-service_push-dev.yml'
jobs:
build-github-container-image:
permissions:
packages: write
uses:
./.github/workflows/callable-create-github-container-image.yml
with:
service: 'wls-<domain>-service'
name: verify pull request <domain>-service
on:
pull_request:
paths:
- 'wls-<domain>-service/**'
- '.github/workflows/wls-<domain>-service_pull-request.yml'
jobs:
verify-pull-request:
uses:
./.github/workflows/callable-run-mvn-verify.yml
with:
pom-dir: 'wls-<domain>-service'
Datenbank einrichten
Jeder Service hat einen eigenen Benutzer für die Datenbank. Diese sind im File stack/oracle-database/add-user-on-startup.sql
hinterlegt. Die Zugriffs-URL ist für alle Services gleich: jdbc:oracle:thin:@//localhost:1521/XEPDB1
Dabei sollte auf folgendes Schema geachtet werden:
- Benutzername: <Name des Services mit Unterstrichen>
- Passwort: secret
Beispiel für wls-broadcast-service
:
- Benutzername:
wls_broadcast_service
- Passwort:
secret
Routing im Gateway einrichten
Damit das Frontend mit dem Service kommunizieren kann, ist im Gateway eine neue Route einzurichten. Das Routing erfolgt mit dem Servicenamen.
Beispiel:
Anfragen die an den Broadcast-Service gehen sollen beginnen im Path mit /api/broadcast-service/
.
Pflege der Rechte im Auth-Service
Die Pflege der Rechte erfolgt in dem Auth-Service über Flyway-Files. Über insert
-Statements werden die Rechte ergänzt und die Zuordnung zu den Rollen vorgenommen.
NOTE
Die Pflege der Rollen und Rechte erfolgt immer über neue, noch nicht im Default-Branch enthaltene, Flyway-Skripte.