AggregateControl node

Use the AggregateControl node to mark the beginning of a fan-out of requests that are part of an aggregation.

Information about the state of in-flight messages is held on storage queues that are controlled by IBM® MQ. If you are using aggregation on an integration server that is managed by an integration node, you must install IBM MQ on the same computer as your integration node in order to use the capabilities that are provided by the AggregateControl node. The storage queues that hold the state information are owned by the queue manager that is associated with the integration node.

If you are using aggregation on an independent integration server, you can use a remote default queue manager to control the system queues, without the need to install IBM MQ on the same machine as the integration server. Interactions between an independent integration server and IBM MQ can use a client connection to a remote queue manager, by using a default policy setting. For more information about using a remote default queue manager, see Using a remote default queue manager and Configuring an integration server to use a remote default queue manager.

For more information about the queues that are required by the AggregateControl node, see Configuring the storage of events for aggregation nodes.

This topic contains the following sections:

Purpose

Aggregation is an extension of the request/reply application model. It combines the generation and fan-out of a number of related requests with the fan-in of the corresponding replies, and compiles those replies into a single aggregated reply message.

The aggregation function is provided by the following three nodes:
  • The AggregateControl node marks the beginning of a fan-out of requests that are part of an aggregation. It sends a control message that is used by the AggregateReply node to match the different requests that have been made. The information that is propagated from the Control terminal includes the integration server identifier, the aggregate name property, and the timeout property. You must not change the aggregation information that is added to the message Environment by the AggregateControl node.
  • The AggregateRequest node records the fact that the request messages have been sent. It also collects information that helps the AggregateReply node to construct the aggregated reply message. You must preserve the information that is added to the message Environment by the AggregateControl node, otherwise the aggregation fails.
  • The AggregateReply node marks the end of an aggregation fan-in. It collects replies and combines them into a single aggregated reply message.

This node creates the LocalEnvironment.ComIbmAggregateControlNode folder. This folder and the fields in it are for internal use by IBM App Connect Enterprise and you should not rely on their existence or values when developing your message flows.

The AggregateControl node is contained in the Routing drawer of the palette, and is represented in the IBM App Connect Enterprise Toolkit by the following icon:

AggregateControl node icon

Terminals and properties

When you have put an instance of the AggregateControl 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 AggregateControl node terminals are described in the following table.

Terminal Description
In The input terminal that accepts a message for processing by the node.
Out The output terminal to which the original message is routed when processing completes successfully.

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 AggregateControl node Description properties are described in the following table:

Property M C Default Description
Node name No No The node type (AggregateControl) 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 AggregateControl node Basic properties are described in the following table:

Property M C Default Description mqsiapplybaroverride command property
Aggregate Name Yes Yes   A name that is used to associate the fan-out message flow with the fan-in message flow. This value must be contextually unique in an integration server.

This name is also used to identify an Aggregation policy (if one exists) to be used by the node (see Aggregation policy). Specify the name of the policy project and the policy in the format {policyProjectName}:PolicyName.

aggregateName
Timeout (sec) Yes No 0 The amount of time, in seconds, to wait for replies to arrive at the fan-in.

The default value is zero; if you accept this default value, the timeout is disabled for fan-outs from this node (the flow waits indefinitely for replies). If not all responses are received, the message flow continues to wait, and does not complete. Set a value greater than zero to ensure that the message flow can complete, even if not all responses are received. For further information about timeouts, see AggregateReply node.

The value that is specified by the Timeout (sec) property on the noe is overridden by the value that is set in the Aggregation timeout (seconds) property of the Aggregation policy, if it is set. Timeout values that are specified by the node and the policy are overridden by a timeout value that is defined in the message, at the location that is specified by the Timeout location property of the AggregateControl node.

 

The AggregateControl node Advanced properties are described in the following table:

Property M C Default Description
Timeout location No No '$LocalEnvironment/Aggregation/Timeout' The location in the message tree where the aggregation timeout value is defined. The value that is specified in the message tree overrides the Timeout (sec) property of the AggregateControl node and the Aggregation timeout (seconds) property of the Aggregation policy.
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.

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