Workflow Bridge Description
A Workflow Bridge agent acts as a bridge for communication between realtime workflows, or between batch and realtime workflows, within the same Usage Engine system. There are several benefits of using Workflow Bridge:
- Utilizing realtime-processing capabilities while keeping transaction safety when using the bridge between bridge and realtime workflow.
- Scaling processing of high volume streaming data by distributing processing load between execution contexts when bridging between an upstream data collection workflow and one or more downstream Realtime workflow(s). When sending data to multiple workflows the UDRs can be sent in a load-balancing scenario, where specific data can be distributed to a specific workflow. Data can also be broadcasted to all downstream workflows.
Workflow Bridge collection and forwarding agents
Communication
The Forwarding and Collection Bridge Agents communicate by using a dedicated set of UDRs. Communication is either done in-memory when workflows are executing within the same execution context or over TCP/IP, when workflows are executing on different execution contexts. This provides for efficient transfer of data.
To maintain transactional integrity across multiple workflows, the workflow state changes will be communicated over the workflow bridge. This enables downstream workflows to take action when upstream workflow state changes, and upstream workflows can maintain transaction integrity if downstream workflows fail to execute. For every transaction a session context with arbitrary data can be kept in the Realtime Collection agent. This can be used as a session object during the transaction.
In order to optimize performance, it is possible to collect and send data in a bulk from the Forwarding agent. When the Workflow Bridge Realtime Collection agent has received the data bulk, it is unpacked and forwarded as separate UDRs by the agent. The bulk is created by the Workflow Bridge Forwarding agent after a configured number of UDRs has been reached, or after a configured timeout. This is specified in the Workflow Bridge Profile.