Skip to content

Configuring Topics

Configuration of existing and new Topics is done through the Details Pane. The Details Pane consists of a 4 tabs, representing 4 sections of the configuration:

  • General –general information such as the name of the Topic, any associated sub topics, the category (metadata) associated with the topic, as well as a description and the current zone.
  • Networking –transport related information, as well as compression, auditing and throttling configuration
  • Security – encryption options are maintained in this section
  • Dependencies – Parties currently referencing the topic or sub topics

Users must select the Apply button, followed by clicking the Save button on the toolbar for any changes made to Topic configuration to take effect. All changes are made dynamically if the Neuron ESB Explorer is connected to the configuration in “OnLine” mode. If the Neuron ESB Explorer is connected to a configuration file in “OffLine” mode, but the Neuron ESB Service is configured to use that same configuration file, the Neuron ESB Service will detect the file change, and load the changes to the Topic dynamically.

General

The General tab of the Details Pane is the first section to configure when creating a new Topic.

Property Table

Property NameRequiredDescription
Name                          YesThis is the top level name of a topic.  For example, if the following hierarchical topic name was used: “Contoso.Europe.Finance.Receivables” , then the name entered for this property would be “Contoso”, without quotes.
EnabledYesTrue by default. If set to False, the topic will appear to be grayed out within the Management Window.
DescriptionNoText description of the topic. Will be displayed in the Management Window.
CategoryNoMetadata associated with the Topic. Any existing categories will be displayed in the drop down box. If a new category is desired, it can be manually entered into the text box. Once the topic has been saved, the new category will be available to be used anywhere within the Neuron ESB Explorer
ZoneYesThe zone that the topic will be associated with. By default this is “Enterprise”. Additional zones can be configured in the Deployment section of the Navigation Bar.
Sub Topic HierarchyNoThis is a data grid where users can enter the names of the sub topics associated with the topic. Optional descriptions can be entered with each sub topic. Once the topic is saved, the top level topic name will be prefixed to the subtopic name.
Development - Configuring Topics Fig.1
Figure 3: Details Pane – General Tab (Neuron ESB Explorer) – Topic and sub topics names are configured here, along with Category, Description and Zone.

Networking

The Networking tab of the Details Pane contains properties that control message tracking, logging, transport, throttling and compression.

Development - Configuring Topics Fig.2
Figure 4: Details Pane – Networking Tab (Neuron ESB Explorer) – Transport, auditing, throttling and compression are configured in this tab.  The Transport Property Page is on the right hand side of the Details Pane.

Auditing

Auditing can be set to either Enabled or Disabled. Auditing can only be enabled if the Neuron ESB database has been created and assigned to the current active deployment group. Auditing controls how and when messages are tracked when published to, or subscribed to over the Topic. When Auditing is enabled, the original message (and its metadata) published by a Party will be stored in the Neuron ESB database (storage). The message is stored AFTER it is published to the bus. For a subscribing Party, the message it stored AFTER the Party receives the message from the bus.

If a process is attached to a Party, then messages are persisted to storage BEFORE the execution of the On Client Publish process, and persisted again BEFORE the execution of the On Client Receive process.

Optionally, if auditing is enabled, published messages can be tracked and persisted to storage if there are no recipients for the message. By default this is not checked. In any case, a warning message will always be reported to the Neuron ESB Windows Event Log alerting the user that there were no subscribers to deliver the message to.

When auditing is enabled, all tracked messages and their associated metadata can be viewed in the Message History report by selecting Activity ->Database Reports->Message History from the navigation bar located on the left hand side of the Neuron ESB Explorer.  This report displays all messages submitted, as well as all messages received by Parties, regardless of their location.

For example, if there were 2 parties defined, one a publisher and the other a subscriber, and the publisher submitted a message with the Multicast semantic, the result would be 2 messages reported in the Message History table. In contrast, if the semantic was set to Request (i.e. request/response message pattern), 4 records would be recorded, 2 for each Party as each Party would be sending and receiving a message.

Alternatively, if an exception occurs during publishing of the message, failed execution of a process, a properly configured service or adapter policy executing, or during the receipt of a message by a subscriber, the message will be additionally persisted to the Failed Messages table and can be viewed in the Failed Message History report by selecting Activity ->Administration->Failed Messages from the navigation bar located on the left hand side of the Neuron ESB Explorer.

The Neuron ESB database required to persist all auditing information can be created and managed within the Neuron ESB Explorer by selecting Deployment ->Resources->Databases. This will list all the databases that exist for Neuron ESB as well as the deployment group they are currently assigned to.

Firewall considerations:

  • The Neuron ESB Auditing service uses transactions to submit Party supplied auditing information to the Neuron ESB database. Port 135 must be open in both directions for MSDTC. If you are using a firewall that does not manage RPC connections, you will need to modify the registry on the computers involved to limit RPC secondary outbound ports to 5000-5020 (or whatever your preferred ports are) for MSDTC. Please refer to Microsoft support article: http://support.microsoft.com/kb/306843
  • The port for the Auditing Service is configured on the Ports tab of the Zone’s Detail Pane and defaults to 50200. If necessary, this can be changed by selectingDeployment ->Divisions->Zones from the navigation bar located on the left hand side of the Neuron ESB Explorer. Select the Ports tab for the specific Zone.

Compression

All messages flowing across a Topic can optionally be compressed using ZIP technology.  Once compression is set on a Topic, all messages will be published compressed. If a process is attached to a Party, then messages are compressed AFTER the execution of the On Client Publish process, and decompressed BEFORE the execution of the On Client Receive process. There are several options for compression:

  • Never – This is default setting
  • Always – All messages published to the topic will be compressed, regardless of their original size.
  • Automatic – Users can set a size threshold in either KB, MB or GB in which compression will be applied.  Compression will be applied on any messages that are equal to, or exceed the size threshold.

Throttling

Configuring throttling on a Topic allows Neuron ESB to restrict the flow of traffic from publishers to the bus.  Neuron ESB provides the following options that can be set at the Topic level.

  • Delay per message (ms)
  • Messages per second
  • Messages per minute
  • Data per second (kb)
  • Data per minute (kb)
  • Max message size (kb)

Transports

Selecting a transport and configuring its associated properties is required for each Topic. The transport is the underlying network protocol that all messages are published to, and delivered from. Parties interact with the Topic by directly communicating with the transport configured for the Topic.

Each Transport has its own unique Quality of Service (QOS) attributes controlled by their associated properties located on the right hand side of the Networking tab of the Details Pane within a Property Grid.

Neuron ESB offers 4 Transports to choose from, each one with its own QOS attributes.

  • TCP
  • Named Pipe
  • MSMQ
  • RabbitMQ
  • Peer

Security

The Security tab of the Details Pane controls how and whether or not all messages submitted to the Topic are encrypted. By default no encryption is used. Users can select to encrypt messages using one of the following encryption algorithms:

  • 3DES
  • DES
  • RC2
  • RIJ

Once an Encryption Method is specified, a corresponding Encryption Key must be selected from the drop down selection.

 To create a new key, select the Security from the Neuron ESB Explorer navigation bar, and select Security->Encryption->Keys from the menu. In the Management Window, new keys can be created by selecting the “New” button on the toolbar.  This will display the Details Pane where users can enter a Name to represent the Key, the type of key (of of the 4 listed above) as well as the key itself. Users can also generate new keys from the Details Pane.

Development - Configuring Topics Fig.3
Figure 5: Security Key Management Window – This displays all the security keys that can be used for encrypting messages over Topics. Users can modify or create new keys. 

Once encryption is set on a Topic, all messages will be published using the specified encryption method. If a process is attached to a Party, then messages are encrypted AFTER the execution of the On Client Publish process, and decrypted BEFORE the execution of the On Client Receive process.

Encryption should not be set on a Topic that is using the Secure option provided with the TCP Transport. The primary differences are:

TCP with Secure set to True

  • No Keys are required to be created and maintained in Neuron ESB Explorer.
  • Uses Windows credentials to both Encrypt and Sign each message. Highly secure.
  • Kerberos must be setup properly in the domain.

Using Encryption when Secure is set to False

  • Keys are required to be created and maintained in Neuron ESB Explorer.
  • Messages are only encrypted, they are not signed.
  • Various types of encryption are available (3DES, DES, RC2, RIJ)
  • Performance will be significantly better than if using the Secure option of the TCP Transport.

Dependencies

This tab displays all Parties referencing the Topic as a subscription.  When deleting a Topic, a dialog box will be presented displaying those Parties which will be affected by the removal of the Topic.

Development - Configuring Topics Fig.4
Figure 6: Topic Dependency Tab – This displays all the Publishers and/or Subscribers that are currently using a selected Topic as part of a subscription. 
Was this article helpful?
Dislike 0
Previous: Working with Topics