Configuring Topics
- Home
- Neuron ESB
- Development
- Developing Neuron Applications
- Topics and Parties
- Topics
- 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 Name | Required | Description |
Name | Yes | This 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. |
Enabled | Yes | True by default. If set to False, the topic will appear to be grayed out within the Management Window. |
Description | No | Text description of the topic. Will be displayed in the Management Window. |
Category | No | Metadata 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 |
Zone | Yes | The 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 Hierarchy | No | This 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. |
Networking
The Networking tab of the Details Pane contains properties that control message tracking, logging, transport, throttling and compression.
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: https://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.
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.