EMS stands for Enterprise Message Service which implemented Java Message Service (JMS) to integrate the applications. EMS act as a Message-oriented-middleware (MOM) and creates a common communication protocol between these applications and allows you to easily integrate new and existing applications in your environment.
The EMS supports Point-to-Point and Publish-and-Subscribe messaging models. The objects which we used for these messaging models are queues and topics.
Read How to monitor EMS using TIBCO Hawk?
Point-to-Point
Point-to-point messaging queues and will have one producer and one consumer per message. The queue will store messages until they are received by a consumer. More than one producer can send messages to queue and more than one consumer can retrieve messages from the same queue.
Publish-and-Subscribe
As the name implies, a publisher can send a message to a single topic and can be received by many subscribers. Many publishers can publish the messagesĀ on the same topic. In this model, the topic won’t store the messages. Only the subscriber was listening to the topic when the publisher sends the message will get it.
In EMS we can have authorization enabled in EMS level as well as for each queue and topics. Send, Receive and Browse are the permission for queues. For topics, permissions available are Publish and Subscribe.
Below are the main configuration files for the TIBCO EMS server.
tibemsd.conf - The main configuration file which defines the EMS server factories.conf - This file defines the connection factories for the internal JNDI names durables.conf - This file defines static durable subscribers bridges.conf - This file defines bridges between destinations routes.conf - This file defines routes between TIBCO Enterprise Message Service servers queues.conf - This file defines all queues topics.conf - This file defines all the topics stores.conf - This file defines the locations, either store files, store, or a database, where the EMS server will store messages users.conf - This file defines all users groups.conf - This file defines all groups acl.conf - This file defines permissions for each user
From EMS 8.4, it is possible to merge all the above files into a single JSON format file which have all the details of the EMS server, queues topic etc.
To convert existing configuration files to JSON format we can use the utility comes with the 8.4 EMS.
tibemsconf2json -conf source-file -json output-file
This utility is available under [TIBCO-HOME]/ems/8.4/bin/. Here source file is tibemsd.conf. You don’t need to convert any other configuration files. This utility will pick all other files like queues.conf, topic.conf etc and merge it to the output file.