IBM Integration Bus, Version 10.0.0.3 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS


Designing a subflow created as a .msgflow file

If you are migrating subflows from earlier versions of IBM® Integration Bus, you need to understand how to define a subflow created as a .msgflow file in IBM Integration Bus.

You can add subflows created as a .msgflow file into your message flows if either of the following statements is true:
  • The subflow that you want to add to a message flow is defined in a library.
    Applications and integration services can reference libraries.
    Note: A library is a logical grouping of related code, data, or both that typically contains reusable subflows, and other type of resources.
  • The subflow that you want to add to a message flow is defined in the same Integration project, application, or integration service as the message flow.
During the development phase, in the IBM Integration Toolkit, you can define a subflow once, and then reuse it in more than one message flow.
  • If you use a subflow in multiple message flows that are defined in one or more Integration projects, you can define the subflow within a library. This library can be referenced by any Integration project that needs access to the resources it contains.
  • If you use a subflow in multiple message flows that are defined within the same Integration project, you can define the subflow within the Integration project.
Note: When the IBM Integration Bus run time encounters a subflow within a message flow, it creates a copy of all the message flow nodes that define that subflow. If the subflow is used more than once, it creates a copy of all the message flow nodes that define the subflow every time it occurs. This increases resource usage, which can affect your overall message flow performance.

Types of subflows supported

In IBM Integration Bus, you can create a subflow as a .subflow file or as a .msgflow file.

Note: If you have migrated subflows from earlier versions of IBM Integration Bus, you have subflows created as .msgflow files.

Subflow content

You define subflow content in the same way as you define message flow content, by adding, configuring, and connecting message flow nodes.

A subflow can have one or more input nodes, and zero, one or more output nodes.
  • If you want to use a subflow as the first node in your message flow, you need to add at least one Input node, such as the MQInput node, and one generic Output node.
  • If you want to use a subflow in the middle of a message flow, you need to add at least one generic Input node. You only need to add a generic Output node if you want to connect additional nodes in the message flow after you add the subflow.
  • If you want to use a subflow as the last node in a message flow, you need to add at least one generic Input node, and at least one Output node, such as the MQOutput node.

Subflows created as .msgflow files are grouped in the folder named Message Flow within your application, integration service, or Integration project. The following figure illustrates where you can find subflows created as .msgflow files:

This figure shows how to create a message flow. In the Application Development view, right click the folder Flows in your project. Select New Message Flow.

For subflows created as a .msgflow file, IBM Integration Bus creates a blank flow to which you can add the message flow nodes that you need.

Design considerations

When you define the message flow nodes in a subflow created as a .msgflow file, you should consider the following recommendations:
  • Define subflows in libraries. Create references to a library from your Integration projects to be able to reuse the common logic.
  • Limit the number of nested subflows.
  • Group logic that is defined in consecutive compute nodes into one single compute node. This will improve performance, since the number of nodes loaded at runtime will be reduced.
  • Add a version to the subflow.
  • Do not nest subflows of different types, that is, do not add a subflow created as a .msgflow file into a subflow created as a .subflow file or vice versa.

Development considerations

In earlier versions of IBM Integration Bus, you create message flows and other resources within Integration projects.
Note: Message flow projects have been renamed to Message Broker projects in WebSphere® Message Broker Version 8. Message Broker projects have been renamed to Integration projects in IBM Integration Bus Version 9.0.
You create reusable logic as a message flow. You embed message flows into message flows.
Note: WebSphere Message Broker releases earlier than version 8 only supported subflows created as a .msgflow file. If you plan to develop new integration solutions in IBM Integration Bus, you should create subflows created as a .subflow file. You should convert your subflows created as .msgflow files into subflows created as .subflow files.


scnsubflows_01_16_.htm | Last updated 2015-11-25 08:25:26