Publication node

Use the Publication node to filter output messages from a message flow and transmit them through an MQ pub/sub broker to subscribers who have registered an interest in a particular set of topics.

This information contains the following sections:

Purpose

Use the Publication node to publish a message through the IBM MQ queue manager specified on the integration node (the MQ pub/sub broker). Applications that expect to receive publications must register a subscription.

The message being published must:
  • Be a Publish command message
  • Be a Delete Publication command message, or
  • Have at least one topic present in the standard properties of the message.

The Publication node uses the topic, or topics, and any options present in the command message to publish the message. The MQ pub/sub broker delivers the publication to all subscribing applications matching the topic, and any other options specified on their subscriptions.

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

Publication node icon

Terminals and properties

When you have put an instance of the Publication 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.

The Publication node terminals are described in the following table.

Terminal Description
In The input terminal that accepts a message for processing by the node.
NoMatch If no subscribers are matched on any of the published topics, the original message is propagated here.
Out If at least one subscriber is matched by IBM MQ on at least one of the published topics, the original message is propagated here.

The following tables describe the node properties. The column headed M indicates whether the property is mandatory; 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 Publication node Description properties are described in the following table:

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

Property M C Default Description
Implicit Stream Naming Yes No Cleared Select Implicit Stream Naming to take the name of the IBM MQ queue on which the message was received by the message flow as the stream name. This property provides compatibility with earlier versions of IBM MQ Publish/Subscribe, and applies to messages with an MQRFH header when MQPSStream is not specified.

Clear the check box if you do not want this action to be taken.

Subscription Point No No   The subscription point value for the node. If you do not specify a value for this property, the default subscription point is assumed. Set a subscription point for a Publication node to restrict the forwarding of its publications to those subscribers that specify the subscription point in their subscription.

For more information, see Subscription points.

The Publication node MQ Connection properties are described in the following table:

Property M Default Description
Connection No Local queue manager This property specifies how a connection is made to IBM MQ:
  • Select Local queue manager to make a local connection to a specified queue manager. If this option is selected, specify a queue manager in the Destination queue manager name property.

    If this property is set without a Destination queue manager name value, and no MQEndpoint policy is specified, the MQ node uses the connection details of the queue manager that is specified for the integration server at run time. If no queue manager was specified for the integration server, the message flow will not deploy.

  • Select MQ client connection properties to make a client connection to a remote queue manager by specifying the client connection details. If this option is selected, the following properties must also be specified:
    • Queue manager host name
    • Listener port number
    • Channel name
    • Destination queue manager name
  • Select Client channel definition table (CCDT) file to use client connection details that are specified in a client channel definition table (CCDT) file. If this option is selected, you must also specify the queue manager name.
    Specify the location of the CCDT file by running the mqsichangeproperties command, using the registry object property mqCCDT. For example, enter the following command on one line:
    mqsichangeproperties INODE -o BrokerRegistry -n mqCCDT 
    -v "C:\Program Files (x86)\IBM\IBM MQ\Qmgrs\QM1\@ipcc\AMQCLCHL.TAB"

    If you select Connect with CCDT and mqCCDT is not set, then a runtime error occurs when IBM App Connect Enterprise attempts to connect to the specified queue manager. The mqCCDT property applies to a specific integration server, so if you want to connect to different queue managers using CCDT, then you must define separate client connection channels in the CCDT file for each queue manager.

Valid values for mqsiapplybaroverride are SERVER, CLIENT, and CCDT.

Destination queue manager name No This property specifies the name of the queue manager on which the message queues are defined.
Queue manager host name No This property specifies the host name of the queue manager.

To achieve high availability, you can specify more than one host name by separating each host name with a comma. The first host name in the list is used as the primary host name. If the connection to the host name becomes unavailable, the next host name is used, and so on. For more information about high availability in IBM MQ, see the IBM MQ product documentation online.

Listener port number No This property specifies the port on which the queue manager is listening.
Channel name No This property specifies the name of the channel used by the queue manager to send messages.
Security identity No This property specifies an identity that is used to provide user name and password credentials for connections to a secured local or remote queue manager. It can be used to provide credentials on local and client connections, but it is not available for client connections that are configured using a client channel definition table (CCDT).

The identity is defined using the mqsisetdbparms command. When you set the security identity by using this command, ensure that it is prefixed by mq::. Do not include the prefix when setting the security identity on the node or in the MQEndpoint policy.

For more information, see Connecting to a secured IBM MQ queue manager.

Use SSL No No This property controls whether the SSL protocol is used when a client connection is made to a remote queue manager. Select this property to provide confidentiality on the client connection by using SSL. You can also set this property through an MQEndpoint policy.

You can use SSL for client connections that are configured using either the MQ client connection properties or a client channel definition table (CCDT).

If you select Use SSL and specify the connection details through MQ client connection properties, you can also set the following properties:
  • SSL peer name
  • SSL cipher specification
The SSL peer name and SSL cipher specification properties are not used for client connections that use a client channel definition table (CCDT); you can specify this information in the CCDT.
If you select the Use SSL property, you must also specify the location of the SSL key repository. The SSL key repository is created using the IBM MQ GSkit, and it holds the required private and public certificates appropriate to the chosen certificate policy for the queue manager. You specify the key repository location by using the mqsichangeproperties command; it is specified as the SSL key repository full file path minus the .kdb file extension. For example, if the SSL key repository is located in C:\SSL\key.kdb, you set it by using the following command:
mqsichangeproperties ACE11NODE -o BrokerRegistry -n mqKeyRepository -v C:\SSL\key

The SSL key repository password stash file key repository file name.sth must be located in same folder location as the key repository. The stash file is created using IBM MQ GSKit.

Use the MQSC REFRESH SECURITY command to pick up the changes to the SSL key repository.

For more information, see Connecting to a secured IBM MQ queue manager.

SSL peer name No This property specifies the name that is passed to the remote queue manager when making the client connection. The value specified by this property must match the value specified in the SSLCIPH property in the remote channel definition.

You can specify this property if the Use SSL property is selected and the client connection details are specified through MQ client connection properties. It is not used for client connections that use a client channel definition table (CCDT); you can specify this information in the CCDT.

SSL cipher specification No This property specifies the name of the symmetric key cryptography algorithm through which the remote queue manager is secured.

You can specify this property if the Use SSL property is selected and the client connection details are specified through MQ client connection properties. It is not used for client connections that use a client channel definition table (CCDT); you can specify this information in the CCDT.

Configure the connection details to enable a message to be retrieved from a queue on a local or remote queue manager. Values that are set on the MQ Connection tab are used at run time, unless overridden by a value in an MQEndpoint policy that is specified on the Policy tab.

The Publication node Policy properties are described in the following table:

Property M Default Description
Policy No   Set the value of this field to the location of an MQEndpoint policy to use the connection details defined in that policy for this Publication node. Specify the name of the policy project and the policy in the format {policyProjectName}:PolicyName.

If an MQEndpoint policy is specified, the property values that are set in the policy are used at run time. The properties that are set in the policy override the corresponding properties that are set on the MQ Connection tab. If an MQEndpoint policy is not specified, then property values that are set on the MQ Connection tab are used.

If no MQEndpoint policy is specified, and the Connection property on the MQ Connection tab is set to Local queue manager with no queue manager specified (the default state), then the MQ node uses the connection details for the queue manager that was specified for the integration server. If no queue manager was specified for the integration server, then the message flow will not deploy.

If an MQEndpoint policy is specified, any equivalent properties that are set on the MQ Connection tab are ignored at run time (see MQEndpoint 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.