Inter Workflow Forwarding Agent in a Real-Time Workflow(5.0)

Inter Workflow Forwarding Agent in a Real-Time Workflow(5.0)

Open the Inter Workflow Forwarding Agent configuration dialog from a workflow configuration. Right-click the agent icon and select Configuration or double-click the agent icon.

IW_Forwarding_Agent_Realtime_config.png
The Inter Workflow Forwarding Agent configuration dialog

Setting

Description

Setting

Description

Profile

The name and most recent version of the profile as defined in the Inter Workflow profile configuration.

All workflows in the same workflow configuration can use separate Inter Workflow profiles, if that is preferred. In order to do that, the profile must be set to Default in the Workflow Table tab found in the Workflow Properties dialog. After that each workflow in the table can be appointed different profiles.

Named MIM

The user defined MIM names according to the definitions in the selected profile.

MIM Resource

Selected, existing MIM values of the workflow that the Named MIMs are mapped to. This way, MIM values from this workflow are passed on to the collection workflow.

Volume (bytes)

When the file size has reached the number of bytes entered in this field, the file will be closed as soon as the current bytearray has been included, and stored in the storage directory. This means that the file size may actually be larger than the set value since

 will not cut off any bytearrays. If nothing is entered, this file closing criteria will not be used.

Volume (UDRs)

When the file contains the number of UDRs entered in this field, the file will be closed and stored in the storage directory. If nothing is entered, this file closing criteria will not be used.

Timer (sec)

When the file has been open for the number of seconds entered in this field, the file will be closed and stored in the storage directory. If nothing is entered, this file closing criteria will not be used.

Enable Worker Thread

Select this check box to enable worker thread functionality, allowing you to configure a queue size in order to improve performance and reduce the risk for blocking during heavy I/O.

Caution!
If Enable Worker Thread is deselected and the agent cannot access the storage, the workflow will not abort. This may cause loss of the incoming data.

Queue Size

Enter the queue size you wish to have for the Worker Thread in this field.

Include outstanding

Select this checkbox to make the agent flush the worker queue data before writing its content to disk (meaning that all the data in the queue will be written to disk at this time).

Use Custom Stream

Select this checkbox to enable Stream ID-based connections across multiple workflows using the same profile. When checked, collector and forwarding agents establish connections based on both the profile and a Stream ID, allowing workflows to link dynamically. In cases where a real-time workflow connects to a batch workflow, they scale as a unit, ensuring backend/frontend pairs stay linked via the Stream ID.

Note!
If this checkbox is cleared, the Inter Workflow profile is fixed at design time and cannot be changed dynamically, preventing chained workflows from scaling.

Example - Configuring a Stream ID in Inter Workflow Forwarder and Collection Agents

Scenario:
You have multiple processing workflows that each need to send data to a specific collection workflow. Instead of creating separate Inter Workflow profiles for each pair, you can configure a stream ID to manage these connections within a single profile.

For example, if three processing workflows (A, B, and C) need to send data to three corresponding collection workflows (X, Y, and Z), you can define stream IDs like "A-X", "B-Y", and "C-Z". This ensures each processing workflow sends data to the correct collection workflow while maintaining a simpler, more scalable configuration.

Stream ID

If you have checked the Use Custom Stream checkbox add a Stream ID.

Send response UDR

Select this checkbox to make the agent send a response back to the agent sending data to the InterWorkflow Output agent. It will do this when it has written data to disk, which is determined by the file closure criterias in the agent. In this mode, the agent will change its Input and Output mode to accepting UDR's of type InterWorkflow.RequestCycleUDR instead of the bytearray.

Note!
Since there are no natural batch boundaries within a real-time workflow, volume and/or timer criteria must be set to close the file and open a new one. If several criteria for closing the file have been selected, all will apply, using a logical OR.

If the workflow is deactivated before any of the file closing criteria has been fulfilled, the UDRs currently stored in memory will be flushed, that is flushed to the current batch without being processed. Hence, the size of the last file cannot be predicted. In case of a crash, the content of the last batch cannot be predicted. The error handling is taken care of by the Inter Workflow collection agent. If the file is corrupt, it will be thrown away and a message is logged in the System Log. The collector will automatically continue with the batch next in order.