Features & Nutzung
Der AEP api-webservice-server stellt eigene API-Endpunkte bereit, so dass Marktpartnern
- per mTLS verschlüsselte API-Anfragen an diesen stellen können,
- die Signatur der API-Anfragen verifiziert wird,
- die MpId des Mandanten durch die angeforderte API-URL bestimmt wird,
- die API-Anfragen gegenüber der BDEW API-Spezifikation validiert werden,
- dem Marktpartner eine entsprechender Antwort-Code zurückgegeben wird und
- die API-Anfrage samt Übertragungsdaten an das Mako-System weitergeleitet wird.
Hardware Anforderungen
Eine Service-Instanz erfordert mindestens 512 MB RAM.
Wir empfehlen 0,4 CPU-Kerne je Instanz.
Logs werden auf die Festplatte geschrieben, entsprechend muss genügend Speicherplatz vorhanden sein.
Abhängigkeiten
Der Service greift auf einen Message-Broker zu, um Nachrichten zu empfangen und zu versenden.
Der Service nutzt die REST API des Security Server FSS. Der FSS muss im Hintergrund auf ein HSM zugreifen können.
Dieser Dienst stellt auch eine Verbindung zu anderen Diensten wie dem aep-api-address-service her, um die URL von Marktpartnern abzurufen.
Erforderliche Konfiguration für aep-api-webservice-server.properties
Mehrere Prozesse können mithilfe der durch Kommas getrennten Liste wie folgt aktiviert werden. Wenn kein Wert festgelegt ist, ist standardmäßig kein Prozess aktiviert.
process.enabled=maloident,steuerungshandlung
Message-Broker einrichten
rabbitmq.host=localhost
rabbitmq.port=5672
rabbitmq.username=guest
rabbitmq.password=guest
Sie können sich auch für den Service-Bus von Azure entscheiden, dafür brauchen Sie eine vorhandene Infrastruktur. Um Service-bus zu aktivieren müssen Sie folgende Eigenschaften setzen:
spring.profiles.active=servicebus
spring.cloud.azure.servicebus.connection-string=<Your-Connection-String>
spring.cloud.azure.servicebus.namespace=<Your-Namespace>
Optionale Konfiguration
Wenn Ihr FSS und Adressdienst im sicheren Modus (geschützt durch Authentifizierung) ausgeführt wird, können Sie den Client so konfigurieren, dass er im API-Aufruf Token sendet. Konfigurieren Sie die folgenden Eigenschaften, um die Authentifizierungseigenschaften zu aktivieren und einzurichten.
Hinweis: Konfigurieren Sie in Keycloak einen neuen Client mit dem Namen api-service und aktivieren Sie Client Authentication.
address-service.secured-rest-client=false
fss.secured-rest-client=false
client.issuer-uri=https://<domain>/auth/realms/<realm>/protocol/openid-connect/token
client.id=api-service
client.client-secret=*****
client.scope=openid
client.user-name=
client.password=
Über diese Eigenschaft können Sie das Verbindungszeitlimit für Anrufe zu anderen Diensten wie FSS und Adressdienst ändern:
web-client.connection-timeout-millis=10000
Die verschlüsselte Verbindung mit mTLS zwischen Client und Server ist standardmäßig aktiviert und kann mit dieser Eigenschaft deaktiviert werden.
tls-enabled=false
Mit diesem Attribut können Sie den Port für https bestimmen
https-port=8442
Mit diesen Attributen können Sie steuern, wie die synchrone Verarbeitung von Threads gehandhabt wird. Dabei bleiben eingehende Anfragen so lange geöffnet, bis die entsprechenden Nachrichten alle Schritte und Queues durchlaufen und vollständig verarbeitet wurden.
thread-connection-timeout=60
is-throw-exception-if-no-thread-is-found=false
Dieses Attribut ermöglicht die Überprüfung von SSL-Hostkonfigurationen für alle konfigurierten Mandanten und gibt den Status “Integrität inaktiv” zurück, wenn SSL-Hostkonfigurationen für keinen der Mandanten abgerufen werden können.
startup-ssl-check=true