CallableFlowInvoke node

Use the CallableFlowInvoke node to split message flow processing. The CallableFlowInvoke node calls the CallableInput node of message flow in another location. When that message flow completes processing, data is returned to the CallableFlowInvoke node.

The CallableFlowInvoke node is available in the following operation modes:
  • Developer
  • Application Integration Suite
  • Standard
  • Advanced
  • Express
  • Scale
  • Adapter
For more information, see Operation modes.
This topic contains the following sections:

Purpose

You can split message flows so that you do processing in different locations. You can split your processing between different locations in IBM® Integration Bus, between IBM Integration Bus and IBM App Connect on IBM Cloud. You can split flows between different applications in an integration server or between different integration servers, which can be on different integration nodes. A calling flow processes information in one location, then calls another flow in another location. The calling flow includes a CallableFlowInvoke node, which calls a CallableInput node in a second (callable) flow.

You specify an endpoint name on the CallableInput node of the callable flow. The CallableFlowInvoke node calls the correct callable flow by specifying the application that contains the callable flow, and the endpoint name that is specified on the CallableInput node. When the callable flow has completed processing, the CallableReply node sends the information back to the CallableFlowInvoke node in the calling flow.

When you pass a message into the main message flow, the CallableFlowInvoke node sends the contents of the message body and local environment folders to the CallableInput node of the callable flow. The CallableFlowInvoke node parses the incoming message in full, so that it is in a suitable format to send to the CallableInput node. Therefore, you should validate the message before it reaches the CallableFlowInvoke node. If the message fails validation at this point, it can be rolled back.

Alternatively, you can split message flow processing asynchronously, by using the CallableFlowAsyncInvoke node. The CallableFlowAsyncInvoke node issues a call to the CallableInput node of a message flow in another location and then completes. When the called message flow completes processing, data is returned to the paired CallableFlowAsyncResponse node. For more information, see CallableFlowAsyncInvoke node.

The CallableFlowInvoke node is contained in the Callable Flow drawer of the palette, and is represented in the IBM Integration Toolkit by the following icon:
CallableFlowInvoke node icon

Terminals and properties

When you have put an instance of the CallableFlowInvoke node into a message flow, you can configure it; see Configuring a message flow node. The properties of the node are displayed in the Properties view. All mandatory properties for which you must enter a value (those that do not have a default value defined) are marked with an asterisk.

The CallableFlowInvoke node terminals are described in the following table.
Terminal Description
Failure The output terminal to which the message is routed if a failure is detected during processing.
Out The output terminal through which the message is routed to the CallableInput node of a callable flow.
Error The output terminal to which the message is routed if an error is detected during processing. If the Error terminal is not connected and an error occurs, the error is lost.

The following tables describe the node properties. The column headed M indicates whether the property is mandatory (marked with an asterisk if you must enter a value when no default is defined); the column headed C indicates whether the property is configurable (you can change the value when you add the message flow to the BAR file to deploy it).

The Description properties of the CallableFlowInvoke node are described in the following table.
Property M C Default Description
Node name No No The node type (CallableFlowInvoke) The name of the node.
Short Description No No   A brief description of the node.
Long Description No No   Text that describes the purpose of the node in the message flow.
The Basic properties of the CallableFlowInvoke node are described in the following table.
Property M C Default Description mqsiapplybaroverride command property
Target Application Yes Yes   The name of the application that contains the message flow that you want to call.

The application name is case sensitive.

targetApplication
Target Endpoint Name Yes Yes   The Endpoint Name property that is set on the message flow that you want to call.

This property is case sensitive and must match the Endpoint Name property on the CallableInput node of the flow that you want to call.

targetEndpointName
Request timeout (sec) No Yes 120 The time within which the callable flow must be called, in seconds. If the callable flow is not called within the specified time, an error message is issued. requestTimeout
Call Preference No No Prefer local calls Specifies how the CallableFlowInvoke node locates a callable flow. Select one of the following options:
Prefer local calls
Select this option if the callable flow is in the same integration server as the main flow.
Remote calls only
Select this option if the callable flow is in a different integration server from the main flow, or if one flow is in IBM Integration Bus and the other flow is in App Connect on IBM Cloud.
 
The Monitoring properties of the node are described in the following table.
Property M C Default Description
Events No No None Events that you have defined for the node are displayed on this tab. By default, no monitoring events are defined on any node in a message flow. Use Add, Edit, and Delete to create, change or delete monitoring events for the node; see Configuring monitoring event sources by using monitoring properties for details.

You can enable and disable events that are shown here by selecting or clearing the Enabled check box.

Local environment overrides

You can override the following node properties dynamically in the local environment. You can set the following values under LocalEnvironment.Destination.CallableFlow.Invoke.
Table 1. Local environment overrides for the CallableFlowInvoke node
Setting Description
requestTimeout Overrides the Request timeout (secs) property on the node; for example:
SET LocalEnvironment.Destination.CallableFlow.Invoke.requestTimeout = 180;
callPreference Overrides the Call Preference property on the node. Set this property to RemoteOnly or PreferLocal; for example:
SET LocalEnvironment.Destination.CallableFlow.Invoke.callPreference = 'RemoteOnly';
targetApplication Overrides the Target Application property on the node; for example:
SET LocalEnvironment.Destination.CallableFlow.Invoke.targetApplication = 'App2';
targetEndpointName Overrides the Target Endpoint Name property on the node; for example:
SET LocalEnvironment.Destination.CallableFlow.Invoke.targetEndpointName = 'Gold';