An integration flow in Project-X represents a specific message processing flow. As shown in the above diagram, an integration flow usually starts with an Ingress Connector which receives messages from other systems and feeds into the integration flow. Then this message, enclosed in a message context goes through a series of Processors, each of which performs a specific processing operation on the message. This operation can be performed on message headers, message properties, message payload, context properties, etc. Finally this flow can be completed with one of the following three ways.
In case of a one-way flow as shown above, the flow can be completed at an one-way egress connector such as File Egress Connector which will send the message out and finish processing.
In case of a two-way flow (a flow with a response path) as shown above, the flow can be completed at the same Ingress Connector that received the original message which will send the response for the message and finish processing.
When a set of Integration Flows are being developed, more often than not there will be situations where a specific part of one or more integration flows can have the same configuration. Subflows have been introduced to prevent this problem by providing the ability to share the same subflow (a specific part of a main flow) between two or more Integration Flows. Such a subflow can be plugged into an Integration Flow using a "Sub Flow Referer" processing element.
The following diagram illustrates how messages from two different Integration Flows goes through a common subflow.
|While any scope variable set within the Integration Flow is available to the Sub Flows, none of the scope variables set within a Sub Flow will be available to the main Integration Flow.|