An explanation on managing flows in BusinessWorks 6.X and BusinessWorks Container Edition

In many integration situations, BusinessWorks handles external events, such as REST API calls, JMS message publications, or file transfers, received at a rate largely determined by business activity.

This means that at some moments, there could be a high load of events to manage and this may exceed the BusinessWorks configuration capabilities and create problems like high cpu consumption impacting other flows or out of memory errors impacting the flow processing.

It is essential to implement solutions in a production setting to restrict the processing of events concurrently in BusinessWorks. The platform offers a ‘Flow Limit’ feature for this purpose; however, it may not be the most optimal choice depending on the event transport being utilized. This guide outlines the best practices for managing flows with the usual transports in BusinessWorks.

HTTP based flows:
HTTP based flows in BusinessWorks are limited by the Maximum QTP Threads parameter in the HTTP Connector resource, which determines the number of events that can be processed simultaneously (default: 75).

It is highly advised to control the value of this parameter using a property so the operations team can make adjustments to its value in the runtime environment.

JMS based flows:
To efficiently manage JMS based flows, configure JMS Receive Message activities in applications to use ‘Client Acknowledgement’ and ‘Max Sessions’, and handle confirmations explicitly with ‘Confirm’ activities. This setup determines the number of events processed simultaneously by BusinessWorks.

In this method, the EMS server efficiently handles flow control, ensuring that BusinessWorks processes a defined number of flows in parallel, as per the Max Sessions setting, for as long as necessary.

It is highly advised to control the Max Sessions Parameter value using a property, enabling the operations team to make real-time adjustments. If ‘Client Acknowledgement’ is not utilized in the JMS Receive Message activity, the Flow Limit mechanism should be implemented.

Other kind of flows:

There are two scenarios to consider for different types of flows:

  1. If the Process starter activity does not have a flow control mechanism, use the BusinessWorks Flow Limit mechanism.
  2. If the Process starter activity already has a flow control mechanism, utilize the existing mechanism.

For instance, for file-based flows or mail-based flows triggered by specific activities, it is best to use the Flow Limit mechanism.
Alternatively, when it comes to SAP flows initiated by the ‘Idoc Listener’, it is recommended to utilize the ‘Max Connections’ feature provided by this activity. Refer to the BusinessWorks Plugin for SAP documentation for further information: