Flow

Flow is a specialized modification of http_proxy Backend Connections and is used to establish connections to process engines (IGUASU and INUBIT). You can find detailed documentation on the IGUASU connection here.

The various configuration options for Flow are presented and described below.

Create new Flow component

Add a new component in the Flow tab.

The type of Flow is selected using the "Type" input field. Depending on the type selected, the specific configuration options are displayed.

Settings

Setting (Key) Group Type Description

ModuleHeader
(moduleHeader_enabled)

Module

bool

Enables the ModuleHeader to be activated/deactivated

Module_Description
(moduleHeader_description)

Module

text

Enables a short description of the module to be stored. Can be displayed in the ModuleHeader, for example.

Module_Icon
(module_iconCls)

Module

text

Displayed FontAwesome icon of the Backend Connection instance.

Module_Name
(module_name)

Module

text

Name of the module

Connection_Password
(connectionPassword)

Module

text

Password for authentication of the Connection (BasicAuth on the target server)

Connection_Username
(connectionUsername)

Connection

text

Username for authentication of the Connection

Connection_Timeout
(connectionTimeout)

Connection

number

Maximum timeout of the Connection.
Default: 180

Connection_CheckCsrfToken
(checkCsrfToken)

Security

bool

Enables the deactivation/activation of the CSRF token check.

Connection_FilterBpcSession
(filterSessionCookie)

Security

bool

Enables the session filter to be deactivated/activated.
Default: true

Connection_InjectUserSessionJWT
(injectSessionJwt)

Security

bool

A JWT is set in the header, which contains the session information.
Default: false

Example Call
GET /?_dc=1569249450661 HTTP/1.1
X-Bpc-Session: SESSIONID.
Cookie: oidc.userInfoJWT=eyJhbGciOiJIUzUxMiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIyODA0MTg3MS00M2EzLTQ0NDAtYWUyZS1hNGFiZTM1NDViMzIifQ.eyJzdWIiOiI3ZmEwMWYxYS0wNzY5LTQ4Y2UtOTQzMS1hODU4Yjk5Y2ExN2EiLCJhdWQiOiJicGMtY29yZSIsImFkZHJlc3MiOnt9LCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYnBjX3JvbGVzIjpbImJwY2FkbWluIiwiYnBjdXNlciIsImFDbGllbnRSb2xlIl0sIm5hbWUiOiJUaW1vIFZpcnQiLCJpc3MiOiJodHRwOi8vZGV2MDYudmlydGltby5uZXQ6ODA5MS9hdXRoL3JlYWxtcy9icGMiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJicGNhZG1pbiIsImdpdmVuX25hbWUiOiJUaW1vIiwiZmFtaWx5X25hbWUiOiJWaXJ0IiwiZW1haWwiOiJicGNhZG1pbkBleGFtcGxlLmNvbSJ9.tP3jJo86ONW0lbM47ne_Z0KgMIXCt645hkwK1Why4MtB1Z8e9Lxw4I76n-4zYkLGgADka1G6LkWI4nCDjbtJ7g; oidc=7fa01f1a-0769-48ce-9431-a858b99ca17a
Accept: */*,*
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 this configuration we have two different pieces of user session information:

  • Cookie oidc.userInfoJWT contains the JWT with user data as it comes from the keycloak. This is signed and can be validated via OIDC.

  • Header X-Bpc-Session contains the serialized BpcUserSession as JWT (plain, not signed)

Connection_UntrustedCertificates
(allowUntrustedConnections)

Security

text

All certificates are trusted and the Common Name (CN) check is skipped.
Default: false

Http_Header_Filter
(httpHeaderFilter)

Proxy

json

List of header names that are to be filtered out. For security reasons, the BPC API key header (X-APIKey) is always filtered.

Default:

[
  "X-Frame-Options"
]

ProxyServer_Port
(proxyServerPort)

Proxy

number

The Port under which the proxy server can be reached.
Default: 80

ProxyServer_URL
(proxyServer)

Proxy

text

The address of the proxy server to be used. Remains empty if a direct connection to the target server is possible.

Service URL
(connectionBaseUrl)

Target

text

This parameter defines the base URL to the target system and is prefixed each time it is used if no frontend URL is defined.

FrontendURL
(frontendUrl)

Target

text

If the flow frontend can be reached under a different URL, this can be configured here. This is relevant for jumps from the BPC to the flow.

IGUASU specific settings

Setting (Key) Group Type Description

System ID
(systemId)

Target

text

The system ID is configured in the IGUASU HybridRESTClientController Service and is only relevant if the BPC receives messages from different IGUASU instances.

Flow Manager

The Flow Manager contains the most important basic settings of a flow component for quick and clear configuration. It contains the additional "Processors" area, in which the processors with which the BPC can communicate in order to start a flow are listed in a table. This table contains information about the ID, name and description of the processors that have been configured in the respective process engine (IGUASU or INUBIT). You can jump directly to the processor via the jump column.

The jump only works if an external URL has been set as a Service or Frontend URL. If an internal URL is used as a Service URL because both are in the same system, a Frontend URL must be set. If they are not in the same system and Service URL is an external URL, Frontend URL does not have to be set additionally.

Flow Manager

Flow in Process Monitoring

If a user wants to jump to the IGUASU from a monitor, a flow component must be set up. This makes it possible to navigate directly to the respective process or Service in the IGUASU via a defined link. For this jump to work, the monitor view must contain a column that provides the corresponding link. This is done via the column externalReference, which is configured with a so-called flowId. The flowId is the ID of the flow component and can be defined when the component is created.
Prerequisite: A flow component must have been created beforehand. The flowId of this component must then be stored in the column configuration (Monitor_ColumnConfig).
Detailed information can be found at Jump from BPC to IGUASU.


Keywords: