Backend Connections
Im Folgenden werden die verschiedenen Konfigurationsmöglichkeiten der Backend Connections vorgestellt und beschrieben.
Anlegen einer Backend Connection
Im Reiter Backend Connections fügen Sie eine neue Komponente hinzu.
Die Art der Backend Connection wird durch das Eingabefeld "Typ" ausgewählt.
Je nach Auswahl des Typs werden die spezifischen Konfigurationsoptionen angezeigt.
Allgemeine Modulkonfiguration
Dies sind die Konfigurationsparameter, die bei allen Backend Connections vorhanden sind.
Setting (Key) | Gruppe | Typ | Beschreibung |
---|---|---|---|
ModuleHeader |
Module |
bool |
Ermöglicht das De-/Aktivieren des ModuleHeaders |
Module_Description |
Module |
text |
Ermöglicht die Hinterlegung einer kurzen Beschreibung des Moduls. Kann z.B. im ModuleHeader angezeigt werden. |
Module_Icon |
Module |
text |
Angezeigtes FontAwesome-Icon der Backend Connection Instanz. |
Module_Name |
Module |
text |
Name des Moduls |
Verbindungstypen
"http_proxy"
Dieser Verbindungstyp ermöglicht beispielsweise, per External Content Modulkomponente auf einen Server zuzugreifen, der eine Anmeldung per BasicAuth erfordert oder nicht direkt, sondern ausschließlich via Proxy erreichbar ist.
Setting (Key) | Gruppe | Typ | Beschreibung |
---|---|---|---|
Connection_Password |
Module |
text |
Password für Authentifizierung der Connection (BasicAuth am Zielserver) |
Connection_Username |
Connection |
text |
Username für Authentifizierung der Connection |
Connection_Timeout |
Connection |
number |
Maximales Timeout der Connection. |
Security |
bool |
Ermöglicht das De-/Aktivieren des CSRF Token Checks. |
|
Connection_FilterBpcSession |
Security |
bool |
Ermöglicht das De-/Aktivieren des Session-Filters. |
Connection_InjectUserSessionJWT |
Security |
bool |
Es wird ein JWT im Header gesetzt, der die Session-Informationen enthält. Beispiel CallGET /?_dc=1569249450661 HTTP/1.1 X-Bpc-Session: eyJhbGciOiJub25lIn0.eyJzdWIiOiJicGMiLCJleHAiOjE1NjkyNDk1MTAsImJwY1VzZXJTZXNzaW9uIjoie1wib3JnYW5pc2F0aW9uc1wiOltcIkRFRkFVTFRcIl0sXCJpbmFjdGl2ZU9yZ2FuaXNhdGlvbnNcIjpbXSxcInJvbGVzXCI6W1wiYnBjYWRtaW5cIixcImFDbGllbnRSb2xlXCIsXCJicGN1c2VyXCJdLFwicmlnaHRzXCI6W1wibG9hZE1vZHVsZV9ibGFua1wiXSxcInByaW5jaXBhbHNcIjp7fSxcImxvZ2luQ29udGV4dFwiOm51bGwsXCJjdXN0b21EYXRhXCI6e1wib2lkYy51c2VySW5mb0pXVFwiOlwiZXlKaGJHY2lPaUpJVXpVeE1pSXNJblI1Y0NJZ09pQWlTbGRVSWl3aWEybGtJaUE2SUNJeU9EQTBNVGczTVMwME0yRXpMVFEwTkRBdFlXVXlaUzFoTkdGaVpUTTFORFZpTXpJaWZRLmV5SnpkV0lpT2lJM1ptRXdNV1l4WVMwd056WTVMVFE0WTJVdE9UUXpNUzFoT0RVNFlqazVZMkV4TjJFaUxDSmhkV1FpT2lKaWNHTXRZMjl5WlNJc0ltRmtaSEpsYzNNaU9udDlMQ0psYldGcGJGOTJaWEpwWm1sbFpDSTZkSEoxWlN3aVluQmpYM0p2YkdWeklqcGJJbUp3WTJGa2JXbHVJaXdpWW5CamRYTmxjaUlzSW1GRGJHbGxiblJTYjJ4bElsMHNJbTVoYldVaU9pSlVhVzF2SUZacGNuUWlMQ0pwYzNNaU9pSm9kSFJ3T2k4dlpHVjJNRFl1ZG1seWRHbHRieTV1WlhRNk9EQTVNUzloZFhSb0wzSmxZV3h0Y3k5aWNHTWlMQ0p3Y21WbVpYSnlaV1JmZFhObGNtNWhiV1VpT2lKaWNHTmhaRzFwYmlJc0ltZHBkbVZ1WDI1aGJXVWlPaUpVYVcxdklpd2labUZ0YVd4NVgyNWhiV1VpT2lKV2FYSjBJaXdpWlcxaGFXd2lPaUppY0dOaFpHMXBia0JsZUdGdGNHeGxMbU52YlNKOS50UDNqSm84Nk9OVzBsYk00N25lX1owS2dNSVhDdDY0NWhrd0sxV2h5NE10QjFaOGU5THh3NEk3Nm4tNHpZa0xHZ0FEa2ExRzZMa1dJNG5DRGpidEo3Z1wifSxcImZpcnN0TmFtZVwiOlwiVGltb1wiLFwibGFzdE5hbWVcIjpcIlZpcnRcIixcImxvZ2luTmFtZVwiOlwiYnBjYWRtaW5cIixcImV4cGlyYXRpb25EYXRlXCI6MTU2OTI0OTY2MzAwMH0ifQ. Cookie: oidc.userInfoJWT=eyJhbGciOiJIUzUxMiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIyODA0MTg3MS00M2EzLTQ0NDAtYWUyZS1hNGFiZTM1NDViMzIifQ.eyJzdWIiOiI3ZmEwMWYxYS0wNzY5LTQ4Y2UtOTQzMS1hODU4Yjk5Y2ExN2EiLCJhdWQiOiJicGMtY29yZSIsImFkZHJlc3MiOnt9LCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYnBjX3JvbGVzIjpbImJwY2FkbWluIiwiYnBjdXNlciIsImFDbGllbnRSb2xlIl0sIm5hbWUiOiJUaW1vIFZpcnQiLCJpc3MiOiJodHRwOi8vZGV2MDYudmlydGltby5uZXQ6ODA5MS9hdXRoL3JlYWxtcy9icGMiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJicGNhZG1pbiIsImdpdmVuX25hbWUiOiJUaW1vIiwiZmFtaWx5X25hbWUiOiJWaXJ0IiwiZW1haWwiOiJicGNhZG1pbkBleGFtcGxlLmNvbSJ9.tP3jJo86ONW0lbM47ne_Z0KgMIXCt645hkwK1Why4MtB1Z8e9Lxw4I76n-4zYkLGgADka1G6LkWI4nCDjbtJ7g; oidc=7fa01f1a-0769-48ce-9431-a858b99ca17a Accept: */*,* X-Requested-With: XMLHttpRequest X-Forwarded-Host: localhost:8181 Referer: http://localhost:8181/?state=5E1qtNCuwF0lLUIACy0pT_WszctgR2Q7ArhKSGjJcGU&session_state=c02b7d89-7b3f-464a-81ab-6020c8f1888b&code=c1004b7b-923d-4915-9539-6823e535c424.c02b7d89-7b3f-464a-81ab-6020c8f1888b.19ca2df0-a9a3-40f9-a858-072680885ba2 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36 DNT: 1 Pragma: no-cache Cache-Control: no-cache Accept-Language: de-DE,de;q=0.9,en;q=0.8,en-US;q=0.7 accept-encoding: gzip, deflate, br Host: xyz.local:1234 Connection: keep-alive In dieser Konfiguration haben wir zwei verschiedene Informationen der User Session:
|
Connection_UntrustedCertificates |
Security |
text |
Es wird allen Zertifikaten vertraut sowie der Common Name (CN) Check übersprungen. |
Http_Header_Filter |
Proxy |
json |
Liste der Header Namen, die rausgefiltert werden sollen. Default:
|
ProxyServer_Port |
Proxy |
number |
Der Port unter dem der Proxy-Server erreichbar ist. |
ProxyServer_URL |
Proxy |
text |
Die Adresse des zu verwendenden Proxy-Servers. Bleibt leer, wenn eine direkte Verbindung zum Zielserver möglich ist. |
Target_BaseURL |
Target |
text |
Dieser Parameter definiert die Basis-URL zum Zielsystem und wird bei jeder Verwendung vorangestellt. |
"identity_provider"
Dieser Verbindungstyp ermöglicht die Konfiguration des verwendeten Identity Provider / Zugriffsverwaltung.
Setting (Key) | Gruppe | Typ | Beschreibung |
---|---|---|---|
IdentityProvider_AdditionalInfoEnabled |
AdditionalInfo |
bool |
Flag ob der Additional Info-Endpunkt aufgerufen werden soll oder nicht. |
IdentityProvider_AdditionalInfoEntriesPrefix |
AdditionalInfo |
text |
Prefix für die Daten des Additional Info-Endpunktes. |
IdentityProvider_AdditionalInfoURL |
AdditionalInfo |
text |
Endpunkt, um die User Sessions mit weiteren Daten zu füllen. |
IdentityProvider_AdditionalInfoURLBasicAuthUsername |
AdditionalInfo |
text |
Benutzername, falls der Additional Info-Endpunkt per Basic Auth abgesichert ist |
IdentityProvider_AdditionalInfoURLBasicAuthPassword |
AdditionalInfo |
password |
Passwort falls der Additional Info Endpunkt per Basic Auth abgesichert ist |
IdentityProvider |
Config |
text/ combobox |
Identity Provider Service. Default: karaf |
IdentityProvider_URL |
Config |
text |
Die URL, unter welcher der Identity Provider erreichbar ist |
IdentityProvider_Configuration(Keycloak, OIDC) |
Config |
json |
Configuration Object für Identity Provider |
IdentityProvider_Mappings |
Config |
json |
Mapping der Rolle zwischen BPC und Identity Provider. Default:
|
IdentityProvider_SelfServiceURL |
Config |
text |
Die URL, unter welcher der Self Service Dienst erreichbar ist |
IdentityProvider_PasswordValidationRegExp |
Config |
text |
Regular Expression(siehe Java Dokumentation) zur Validierung von Passwörtern. Zum Beispiel muss bei Komplexes Beispiel bestehend aus mehreren Teilen:
|
IdentityProvider_ChangeOrganisationEnabled |
Frontend |
bool |
Ermöglicht das De-/Aktivieren der Änderung von Organisation in Oberfläche. |
IdentityProvider_ChangePasswordEnabled |
Frontend |
bool |
Ermöglicht das De-/Aktivieren der Änderung von Password in Oberfläche. |
"deployment_system"
Dieser Verbindungstyp ermöglicht die Konfiguration der BPC-Systeme, die beim Deployment als Quelle und Ziel angesprochen werden sollen.
Setting (Key) | Gruppe | Typ | Beschreibung |
---|---|---|---|
DeploymentSystem_SortPriority |
Config |
number |
Anpassung der Sortierreihenfolge (Auswahlbox im Deployment Dialog). Default: 1000 |
DeploymentSystem_URL+
( |
Target |
text |
Basis URL zum Zielsystem und wird bei jeder Verwendung vorangestellt. |
DeploymentSystem_AllowUntrustedConnections |
Connection |
bool |
Unsichere Verbindungen zulassen. |
DeploymentSystem_ApiKey |
Connection |
text |
API Key des Zielsystems |
"data_source"
Dieser Verbindungstyp wird für die Konfiguration der anzusprechenden Datenbanken verwendet.
Setting (Key) | Gruppe | Typ | Beschreibung |
---|---|---|---|
DataSource_Configuration |
Datasource |
json |
Zusätzliche Data Source Konfigurationsoptionen, die nicht durch die Allgemeinen (DataSource_User, …) abgedeckt sind. Default:
|
DataSource_DriverName |
Datasource |
text/combobox |
Datenbank-Treiber wie oracle, mysql, mariadb |
DataSource_Password |
Datasource |
text |
Passwort des Datenbankbenutzers |
DataSource_URL |
Datasource |
text |
JDBC Verbindungs-URL zur Datenbank. |
DataSource_User |
Datasource |
text |
Name des Datenbankbenutzers |
DataSource_Configuration
Im Konfigurationsparameter "DataSource_Configuration" wird hauptsächlich der verwendete Pool mit den Datenverbindungen konfiguriert. Eine Datenquelle (Data Source) hält einen Pool mit n-Verbindungen zur Datenbank vor. Die einzelnen Replikationsjobs holen sich jeweils eine solche Verbindung und geben sie nach getaner Arbeit wieder an den Pool zurück. Die Größe ist deshalb sinnvoll zu wählen. Diesen Wert zu hoch (>8 oder >16) anzusetzen ist nicht unbedingt von Vorteil bzw. kann sogar zu Fehlern führen, wenn zum Beispiel die Oracle-Datenbank nicht so viele gleichzeitige Verbindungen zulässt (= DB Admin nach der sinnvollen Anzahl fragen). Weitere Pool-Einstellungen sind HIER zu finden.
Setting | Typ | Beispiel | Beschreibung |
---|---|---|---|
pool |
String |
dbcp2 |
der zu verwendende Pool |
xa |
String |
true |
als XA Resource festlegen. Aktiviert die Möglichkeit für verteilte Transaktionen (JDBC XA). Es wird hier true als Einstellung empfohlen. |
pool.minIdle |
String |
2 |
The minimum number of connections that can remain idle in the pool, without extra ones being created, or zero to create none. |
pool.maxIdle |
String |
5 |
The maximum number of connections that can remain idle in the pool, without extra ones being released, or negative for no limit. |
pool.maxTotal |
String |
10 |
Max. Anzahl der Datenbank-Verbindungen im Pool |
Kommt es bei Oracle immer wieder zu Closed Connection
Fehlern, dann folgende Einstellungen noch mit aufnehmen.
Setting | Typ | Beispiel | Beschreibung |
---|---|---|---|
pool.testOnBorrow |
String |
true |
Validierung der DB-Verbindung bei Entnahme aus dem Pool. |
pool.testOnReturn |
String |
true |
Validierung der DB-Verbindung beim Zurücklegen in den Pool. |
factory.validationQuery |
String |
select 1 from dual |
SQL Query die genau einen Treffer zurückgibt.
Dies wird zum Testen der Verbindung genutzt. |
factory.validationQueryTimeout |
String |
15 |
Ausführungs-Timeout in Sekunden für die festgelegte Validation Query. |
{
...
"pool.testOnBorrow": "true",
"pool.testOnReturn": "true",
"factory.validationQuery": "select 1 from dual",
"factory.validationQueryTimeout": "15",
...
}
Dokumentation zu den Parametern: BasicDataSource Configuration Parameters
|