You are on page 1of 3

TIBCO Enterprise Message Service

In developing large and useful business applications, there is really a need for
communication between two or more software components so that they may perform their
tasks accordingly.
One way of communication is through direct connection between different systems.
However, this kind of approach is not applicable for large number of systems because some
software components function differently from others. Also, it will require all the systems to
know how to connect to every system in the network. This is one of the reasons why
enterprise messaging system was created; so that all these systems can connect to each
other through a central messaging server and all they need to know is how to connect to
this central messaging server. This enterprise message system is implemented in TIBCO
Enterprise Message Service.
1. What is enterprise messaging?
Enterprise messaging allows different systems to communicate with each other using a
loosely coupled architecture. A loosely coupled architecture means that we can replace
components without affecting the other components running in the server. The reason
behind this is that the components are less dependent on each other. This also means that
the system can continue to work even though some components are not connected to the
network or to the server. Furthermore, some components within the system can still
continue to send messages without waiting for reply messages.
2. What are the advantages of enterprise messaging?
Enterprise messaging can provide a single unifying medium of communication between
different systems. It is also good for a network setup that is always changing.
For example, we have ten different systems and we want all of these systems to
communicate with each other. If we are not using messaging, then we will need to know
and configure the connection to every system. Now, just imagine what would happen if we
have 100 computers or more. But, if we are using enterprise messaging, then we will just
need to know how to connect the systems to a central messaging server.
Another advantage is that there is a movement of real-time data. The messages can be
created and received in real-time.
Moreover, enterprise messaging has time independence, which means that the client has the
option to still receive messages when he reconnects to the server even if the client was
down when the message was sent.
3. What is TIBCO EMS?
TIBCO EMS stands for Enterprise Message Service and it is TIBCO's implementation of Java
Message Service. TIBCO EMS is fully compliant with the JMS specification and it has added
some enhancements to the JMS specification. It also has added features like load-balancing,
routing, and fault tolerant configurations, which help improve performance and minimize
failures in the server.
4. What is JMS?
JMS which stands for Java Message Service is an enterprise messaging specification created
by Sun Microsystems. It is also what we call the store-and-forward messaging system.
Store-and-forward messaging system means that all messages created by clients pass
through the server before it is sent or forwarded to the designated consumers. This also
applies to the reply messages created by the consumers.
JMS also provides both queue-based and publish-subscribe APIs. Queue-based APIs make
use of queue destinations and publish-subscribe APIs make use of topic destinations.
5. What is the JMS Message structure?
The JMS Message structure is composed of the headers, properties, and body. The header is
required, while the properties and body are both optional.
The Header of the message contains predefined fields which are used to route and deliver
the message. Some of these predefined fields are the following:
o JMSDestination is the destination to which the message is sent.
o JMSDeliveryMode determines if the message is persistent or non-persistent
o JMSExpiration is the length of time that the message will live before expiration.
The Properties (optional) are optional properties that can be added on JMS systems by
authorized users such as administrators.
The Body (optional) contains the data you want to send to the consumers. It must be one of
these five types:
o TextMessage
o MapMessage
o BytesMessage
o StreamMessage
o ObjectMessage
6. What is message compression?
Message compression ensures that the message will take less memory space when saved on
the storage of the server. Nonetheless, we must take note that message compression will
only compress the body of a message. The headers and properties can never be
compressed.
7. What are the types of queues and topics we can create in EMS?
There are three types of queues or topics that we can create in EMS. They can be static,
temporary, or dynamic queues/topics. Static queues/topics are specified explicitly in the
configuration files. Temporary queues/topics are used for reply messages in request/reply
interactions. Dynamic queues/topics are not specified in the configuration files for these are
dynamically created by client programs. Moreover, dynamic queues are TIBCO specific,
which means that it is an extension added by TIBCO to the JMS specification.
8. What are the advanced features of TIBCO EMS?
The advanced features of TIBCO EMS include JMS capability to non-Java programs such as C
and C# Client API. It also provides an administrative API which is used for managing and
monitoring the EMS server and its components. It can be configured for connection to other
EMS servers such as fault-tolerance and routing so that multiple EMS servers can participate
in the server operations. It can also be connected to other TIBCO components specifically
TIBCO Rendezvous and TIBCO SmartSockets. It offers destination bridging which makes it
easier to send the same message from one destination to other destinations. It has JNDI
and SSL support to provide security over the EMS server and its components. Also, it can be
integrated into third party application servers.
9. How do you configure the TIBCO EMS?
There are the three ways to configure TIBCO EMS. The first way is by modifying the
configuration files. The main server configuration file is the tibemsd.conf. This is where you
can set the names of the other configuration files. It has some basic parameters such as
server name and password, listen port and storage location for messages. Its other
parameters are for fault-tolerance, and SSL.
Another way to configure TIBCO EMS is through the use of the EMS Administration tool
which comes in console mode. This means that you have to type or issue the correct
commands to use this tool.
The third way to configure TIBCO EMS is the through the use of Administration API.
10.What is fault tolerance and how does it work?
Fault tolerance is having a pair of EMS servers configured as the primary and backup
servers. The primary server accepts client connections, and interacts with clients to deliver
messages. When the primary server fails, the backup server resumes the operation in its
place. The backup server will be the primary server, and the other server will be the backup
server when it goes online.
One important configuration for these fault-tolerant servers is that they should have access
to the same shared state which consists of information about client connections and
persistent messages.
11.What are destination bridges?
Destination bridging is a server-based solution provided by TIBCO EMS. It is an alternative
for creating messages multiple times. For example, if we want to send the same message
from one destination to other destinations, we don't need to send the same message a
number of times. We just bridge the different destinations so that the same message will be
sent to all the bridged destinations.
12.How can you improve Client-side processing while using TIBCO EMS?
We can improve the client side processing by configuring the Server Settings, Destination
Settings and Security Settings.
In the server settings, we can use EMS routing between servers within the network so that
all servers and systems within the network can communicate with each other. Also, we
should use destination bridging so that we don't have to send the same message again and
again.
For the destination settings, we should only use durable topics if it is really needed. We can
enable pre-fetching for small size messages. We can make use of lower JMS reliability
modes. For client-load balancing, we can use non-exclusive queues so that more than one
consumer can process the message from the queue in a round-robin fashion.
In setting up the security for TIBCO EMS, we should just use SSL if there is no available
Virtual Private Network. Another way is through disabling authentication if possible so that
the servers and clients can easily communicate with each other.

You might also like