Flow

Flow is a specialized variant of http_proxy Backend Connections and is used to establish Connections to process engines (IGUASU and INUBIT). Detailed documentation on connecting to IGUASU can be found here.

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

Create a New Flow Component

In the Flow tab, add a new component.

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/disables the ModuleHeader

Module_Description
(moduleHeader_description)

Module

text

Allows you to enter a short description of the module. Can be displayed, for example, in the ModuleHeader.

Module_Icon
(module_iconCls)

Module

text

The FontAwesome icon displayed for the Backend Connection instance.

Module_Name
(module_name)

Module

text

Name of the module

Connection_Password
(connectionPassword)

Module

text

Password for connection authentication (BasicAuth on the target server)

Connection_Username
(connectionUsername)

Connection

text

Username for connection authentication

Connection_Timeout
(connectionTimeout)

Connection

number

Maximum connection timeout.
Default: 180

Connection_CheckCsrfToken
(checkCsrfToken)

Security

bool

Enables or disables the CSRF token check.

Connection_FilterBpcSession
(filterSessionCookie)

Security

bool

Enables or disables the session filter.
Default: true

Connection_InjectUserSessionJWT
(injectSessionJwt)

Security

bool

A JWT containing the session information is set in the header.
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:

  • The cookie oidc.userInfoJWT contains the JWT with user data as provided by Keycloak. This is signed and can be validated via OIDC.

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

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 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 on which the proxy server is accessible.
Default: 80

ProxyServer_URL
(proxyServer)

Proxy

text

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

Service URL
(connectionBaseUrl)

Target

text

This parameter defines the base URL for the target system and is prepended to every request if no frontend URL is defined.

FrontendURL
(frontendUrl)

Target

text

If the Flow frontend is accessible via a different URL, it can be configured here. This is relevant for jumps from BPC to 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 includes the most important basic settings of a flow component for quick and clear configuration. It contains the additional “Processors” section, which lists in a table the processors with which the BPC can communicate to start a flow. This table includes 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 a processor using the “Jump” column.

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

Flow Manager

Flow in Process Monitoring

If a user wants to jump from a monitor to IGUASU, a flow component must be set up. This allows the user to navigate directly to the respective process or Service in 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 “ externalReference ” column, which is configured with a so-called “ flowId.” The “ flowId ” is the ID of the Flow component and can be specified when creating the component.
Prerequisite: A Flow component must have been created beforehand. The flowId for this component must then be entered in the column configuration (Monitor_ColumnConfig).
For detailed information, see Jumping from BPC to IGUASU.


Keywords: