Ce poste explique comment configurer le Broker dans une plateforme ESB utilisant le JMS comme mode d'échange. Il explique aussi comment configurer et utiliser les différents composants nécessaires à établir un échange interne ou externe à la plateforme.
This post explains how to configure the Broker in an ESB platform using the JMS as an exchange mode. It also explains how to configure and use the different components necessary to establish an internal or external exchange to the platform.
Setting in My webMethods Server
Logical Broker server
From My webMethods Server create a logical Broker if it is not added yet
Using the JNDI file system provider allows you to export the properties file and reuse it from clients that do not support the native webMethods APIs in order to retrieve the configurations made.
Create a JNDI Provider from MWS
A Connection Factory defines the classes and parameters needed to establish a connection to a queue or a JMS topic on a broker. Typically, two Factory can be set by broker according to the needs: one for the topics, one for the queues.
Create a Connection Factory
A destination carries the configuration of queues and topics.
Create a Destination by queue type: Destination for Queues and another for Topics
The effective creation of a queue on the broker is done using the following operations:
Select the Messaging / Broker Server / Clients menu and click on "Add Queue"
The actual creation of a topic on the broker is done using the following operations:
Select the Messaging / Broker Server / Document types menu and click on "Add Topic »
Rights setting (client-group)
A JMS Client must have rights to publish or subscribe to a topic / queue documents. The default IS group client is IS-JMS. The client group configuration can be accessed from the Messaging / Broker Server / Client Groups menu:
Creating client group
If necessary a new client group can be created using the button "Add Client Group »
Access rights: Select a group client (IS-JMS by default) and set access rights via the "Can Publish" and "Can Subscribe" tabs
Rights on Queues
Check that standard documents corresponding to JMS queues have been automatically added in both tabs. If necessary these can be deleted and added by clicking on "Add Document Types".
The standard document of the standard document is of the type : JMS::Queues::name_of_queue_jms
Rights on Topics
In the case of topics, the standard document must be added manually in both tabs by clicking on "Add Document types ».
The standard document of the standard document is of the type : name_of_topic_jms
Durable subscriber client (Topic)
To ensure guaranteed delivery when subscribing to JMS topics, a Sustainable Subscriber can be created:
Select the menu Messaging / Broker Servers / Clients and click on « Add durable subscription »
JNDI Properties File
The JNDI Properties file contains the necessary elements for a JMS client. Since MWS it is possible to export this file:
Setting in Integration Server
Create a JNDI Provider Alias from the console of Integration Server : « JNDI Settings »
Perform a Lookup Test to make sure the JNDI provider is running
JMS Connection alias
Create a JMS Connection Alias : « Create JMS Connection Alias »
You publish the JMS message using the pub.jms:send service whose parameters are:
JMS triggers are created using the Designer:
- The JMS connection alias (Creating a JMS connection)
- The name of the destination (Creating a destination (Topic / Queue))
- The type of the corresponding destination
In the case of a JMS topic trigger, specify the Durable Subscriber Name to ensure guaranteed delivery.
In the case of single-thread processing, Select a "Serial" processing mode.
Such a setting may be complementary to a JMS destination configuration of the type "Shared State Ordering = Publisher" in order to process the documents in their order of publication.
In the case of multi-threaded processing, Select a "Concurent" processing mode.
Such a setting requires a JMS destination configuration of the type "Shared State Ordering = None" otherwise the processing will remain single-threaded because of the mechanisms ensuring the respect of the processing order.
Configure the max execution threads (number of threads) and max batch message (batch size) consistently to adjust the number of threads used to process the received documents.