Splitting message flow processing

Process parts of your message flow in different locations by creating one message flow that calls another message flow.

Before you begin

About this task

You can use callable message flows to split message flow processing between different locations, and to facilitate reuse. A calling flow can call multiple callable flows. The calling flow uses a CallableFlowInvoke node to call a CallableInput node in the callable flow. The callable flow then uses a CallableReply node to return information to the CallableFlowInvoke node in the calling flow.

If you have an on-demand subscription, you can deploy both your calling and callable flows to IBM Integration Bus on Cloud. In this scenario, your flows can communicate with each other as soon as you start your integrations.

If one flow is in IBM Integration Bus while the other is in IBM Integration Bus on Cloud, you must configure communication between them. The flows use a Switch server to route data, and connectivity agents to connect securely to the Switch server. The Switch server, which routes data, is managed by IBM Integration Bus on Cloud. The connectivity agent contains the certificates that your flows require to communicate securely with the Switch server. A connectivity agent must be running in the IBM Integration Bus integration server where you have deployed your on-premises message flows.

The diagram shows an application in Integration Bus, and an application in Integration Bus on Cloud.  The CallableFlowInvoke node in a flow in application 1 in Integration Bus uses a Switch server in the cloud to call the CallableInput node of a flow in application 2 in Integration Bus on Cloud.
The diagram shows an application in Integration Bus on Cloud, and an application in IBM Integration Bus.  The CallableFlowInvoke node in a flow in application 1 in the cloud uses a Switch server in the cloud to call the CallableInput node of a flow in application 2 in Integration Bus.

You can split flows into multiple callable flows. However, for simplicity, the following tasks describe how to create two flows only: a calling flow and a callable flow.

The Switch server is created in IBM Integration Bus on Cloud. You must download an agent configuration file from the cloud, and use it to configure the on-premises connectivity agent.

Procedure

  1. Develop your calling and callable message flows in IBM Integration Bus.

    For detailed instructions, see Developing callable message flows In the IBM Integration Bus product documentation.

  2. Package your message flows in BAR files and deploy the BAR files to the appropriate places.
    • If your message flow is designed to run on premises, deploy that BAR file to IBM Integration Bus (see Deploying integration solutions in the IBM Integration Bus product documentation).
    • If your message flow is designed to run in the cloud, deploy that BAR file to IBM Integration Bus on Cloud (see Running integrations in the cloud).
    If you upload both the calling and callable flows to IBM Integration Bus on Cloud, they work as soon as you start your integrations. You do not need to complete the following steps.
  3. In IBM Integration Bus on Cloud, click Callable Flows.
  4. Click Set up an agent.
  5. Optional: If you have not already done so, install IBM Integration Bus version 10.0.0.4 (or later) on premises. This version contains the connectivity agent.

    For more information, see Installing IBM Integration Bus in the IBM Integration Bus product documentation. For development and test purposes, you can download and use IBM Integration Bus for Developers without charge.

  6. Click Download Configuration and save the agent configuration file (agentx.json) to the same computer where IBM Integration Bus version 10.0.0.4 is installed.
  7. Start an IBM Integration Bus command environment (see Setting up a command environment).
  8. To use the downloaded file to configure the connectivity agent on premises, run the following mqsichangeproperties command for the integration server that contains your message flow.
    • On Windows:
      mqsichangeproperties integrationNodeName -e integrationServerName -o ComIbmIIBSwitchManager -n agentXConfigFile -p filepath\agentx.json
    • On Linux:
      mqsichangeproperties integrationNodeName -e integrationServerName -o ComIbmIIBSwitchManager -n agentXConfigFile -p filepath/agentx.json
  9. Click Test Agent to check that the on-premises agent can connect to the Switch server.
  10. Click Finish.
  11. Restart the IBM Integration Bus integration server.

Results

A message flow that is deployed to the configured on-premises integration server can now communicate securely with a message flow in IBM Integration Bus on Cloud.

You can check that your callable flows are registered with the Switch server in the Callable Flows view of IBM Integration Bus on Cloud (see Callable Flows view).


cl00027_.htm | Last updated 2018-12-15 07:47:01