Callable flows overview

A callable flow is a type of flow that another flow can invoke. The invoking and callable flows can both be in App Connect or they can be in different locations, such as App Connect Enterprise or webMethods Integration.

By using callable flows, you can split your message flow processing between different flows in App Connect or different locations. Callable flows offer several benefits.
  • Some parts of a message flow might logically belong in a specific location. For example, if your flow queries an on-premises database, performance is better if that part of the flow remains on premises. But if part of your flow queries a website multiple times, performance might be improved by running that part of the flow in the cloud. You can call the cloud-based flow from your on-premises flow, and the flow in the cloud doesn't use any of your on-premises resources.
  • Callable message flows facilitate reuse because multiple flows can invoke them.
  • App Connect Enterprise provides a powerful environment to develop integration solutions that transform, route, and process your messages and data. You can take advantage of these features by using callable flows to call App Connect Enterprise flows from App Connect.

With callable flows in App Connect and App Connect Enterprise, a Callable Flow Invoke node in the invoking flow triggers a Callable Flow Input node in a callable flow. The callable flow also contains a Callable Flow Reply node, which returns a response to the Invoke node in the invoking flow. Asynchronous invoke and response nodes are also available in App Connect Enterprise. When you add a callable flow to a webMethods Integration workflow, a node in the workflow can call the callable flow, which returns a response that subsequent nodes in the workflow can use.

If your flows are split between App Connect and App Connect Enterprise, you must configure secure connectivity between them. You configure connectivity by using a Switch server and a secure agent. A Switch server is a special type of integration server that routes data between the invoking and callable flows, and it works with the secure agent over a secure web socket connection. The secure agent contains the certificates that your flows need to communicate securely with the Switch server. The App Connect Enterprise integration server where your on-premises message flows are deployed is configured with a secure agent. You configure the secure agent by downloading an agent configuration file (called switchclient.json) from your App Connect instance. Multiple integration servers can use the same Switch server, but each integration server must have its own secure agent configuration.

The following diagrams illustrate some scenarios that use callable flows to split processing.
An invoking flow invokes a callable flow in App Connect
The following diagram shows how two flows in your App Connect instance can communicate with each other. You might use this scenario if you need to reuse a process across multiple flows. The Callable flow Invoke node in your first flow triggers a Callable flow Input node in your second flow by using the name of the second flow as the application name. When the second flow completes processing, the Callable flow Reply node sends data back to the Callable flow Invoke node in the first flow.
The diagram shows two flows in App Connect. Flow 1 contains a Callable flow Invoke node, which calls a Callable flow Input node in flow 2. At the end of flow 2, a Callable flow Reply node returns data to the Callable flow Invoke node in flow 1.
A calling flow in App Connect invokes a callable flow in App Connect Enterprise
The following diagram shows how a Callable flow Invoke node in App Connect invokes a callable flow that is running on premises in an integration server. The invoking flow in the cloud connects to App Connect Enterprise by using a Switch server in the cloud and a secure agent on premises. You download an agent configuration file from App Connect and copy it to the work directory of the integration server in App Connect Enterprise. When the integration server is started, the callable flows register with the Switch server and the names of registered flows are available to select in the Application field of the Invoke node. The Invoke node in App Connect can then connect to the CallableInput node in the on-premises flow and send and receive data.
The diagram shows a flow with a Callable flow Invoke node in App Connect, and a flow with a CallableInput node in App Connect Enterprise. The Invoke node uses a Switch server to call the CallableInput node. A CallableReply node in App Connect Enterprise then returns data to the Invoke node in App Connect.
A calling flow in App Connect Enterprise invokes a callable flow in App Connect
The following diagram shows how a CallableFlowInvoke node in a flow that is running in App Connect Enterprise invokes a callable flow that is running in App Connect. The callable flow in App Connect Enterprise connects to the flow in the cloud through a Switch server in the cloud and a secure agent on premises. You download an agent configuration file from App Connect and copy it to the work directory of the integration server in App Connect Enterprise. When the integration server is started, the callable flows register with the Switch server. The Target Application field on the CallableFlowInvoke node specifies the name of the callable flow in App Connect. The CallableFlowInvoke node can then connect to the Callable flow Input node in the callable flow and send and receive data.
The diagram shows a flow with a CallableFlowInvoke node in App Connect Enterprise, and a flow with a Callable flow Input node in App Connect . The Invoke node uses a Switch server to call the Callable flow Input node. A CallableReply node in App Connect then returns data to the Invoke node in App Connect Enterprise.

This example demonstrates synchronous processing. CallableFlowAsyncInvoke and CallableFlowAsyncResponse nodes are also available in App Connect Enterprise for asynchronous processing. For more information, see Developing asynchronously callable message flows in the App Connect Enterprise documentation.