TIBCO EMS FAQ -4
101) What are the permissions that you can grant to users to access topics?
a. Subscribe
b. Publish
c. Durable
d. Use durable
102) What is the difference between Queues and Topics?
Queue
• Guaranteed Service
• Only the Target gets the message (One message per Consumer)
• Uses Peer-to-Peer Mode to deliver messages
• Blocking
• Load Balancing is possible
Topic
• Reliable Service
• Everyone active gets the message (One message may Consumers)
• Uses Pub / Sub mode to deliver messages
• Non-Blocking
• Load Balancing is not possible.
103) What is the use of secured queues and topics?
Setting ‘secure’ property to queues/topics can restrict unauthorized users from publishing/sending and subscribing/receiving the messages.
104) What are acknowledgement modes and where do you set them and what is the applicability of each mode?
Ans:The acknowledge mode for incoming messages. Can be one of the following:
• Auto — the message is automatically acknowledged when it is received.
• Client —the message will be acknowledged at a later point by using the Confirm activity. If the message is not
confirmed before the process instance ends, the message is redelivered and a new process instance is
created to handle the new incoming message. Ensure that your process definition confirms the message
when using this acknowledge mode .
• TIBCO EMS Explicit Client Acknowledge — this mode behaves exactly the same as the Client mode, except the
session is not blocked and one session can handle all incoming messages
• Dups OK — the message is acknowledged automatically when it is received. JMS provides this mode for lazy
acknowledgement, but TIBCO BusinessWorks acknowledges messages upon receipt.
• Transactional — this mode is used when a transaction that can process JMS messages is included in the process definition. The message is acknowledged when the transaction commits.
105) What is the structure of messages in JMS?
Ans: header(needed),
properties(optional)
body(optional).
Header parameters:
JMS destination,
JMS message.
106) What is the purpose of JMS Queue receiver activity and Queue sender activity?
Ans: Starts a process whenever a new message comes into the specified queue.
A queue sender activity sends messages into the specified queue.
107) What is the potential problem with JMS Queue requestor?
Ans: When we specify a reply to queue there is a chance of other processes sending messages to the same queue
and the jms queue requestor interpreting that as the actual response and sending this wrong message to the client.
108) What is JMS queue requestor?
The JMS Queue Requestor activity is used to send a request to a JMS queue name and receive a response back from the JMS client.
109) What is JMS topic requestor?
The JMS Topic Requestor activity is used to communicate with a JMS application’s request-response service. This service invokes an operation with input and output. The request is sent to a JMS topic and the JMS application returns the response to the request.
110) How to setup load balancing for Topics and queues?
Ans: We can achieve load balancing using bridging queues and topics.
Or Queues can be set non-exclusive so that any number of consumers can access the queue.
What are the different levels of load balancing in EMS and how would you do it?
Ans: server level and consumer level
Server: by having multiple servers.
Consumer: by creating consumer instances.
111) What are the differences between server load balancing & producer/consumer load balancing?
Point-to-Point: Non-exclusive queues are useful for balancing the load of incoming messages across multiple receivers.
Programs can use distributed queues for one-of-n certified delivery to a group of servers, in order to balance the load among the servers.
Rendezvous distributed queue software assigns each task to exactly one of the servers, while the group of servers and the distribution of tasks remains completely transparent to the client processes.
EMS Load balancing can be done in only one way on the consumer side, by using multiple subscribers/receivers to a same topic/queue, and which will be executed in round robin fashion. If we are connecting two different severs by using “|” symbol is not be load balancing, Consumers can not switch connections between two servers. By default, we will implement multiple consumers but we have to consider above mentioned issues in consumer load balancing.
112) How would you do fault-tolerance in EMS? Explain the complete process.
Ans: FT in EMS can be achieved by implementing pair of servers called primary and backup while the primary does the normal job of sending and receiving messages the back up server takes the place of primary if the primary fails. The pair shares the information from the shared state. When the primary goes down the backup server reads all the primary config files and starts from there. The primary locks the shared state if its active so that the backup server doesn’t take its place. the lock is released when the primary goes down so that the backup can lock the shared state. Only persistent messages can be implemented in this situation since non-persistent messages cannot be stored in external storage like shared state.
113) How a consumer can connect to the new primary EMS server when the running primary server goes down?
Ans: we can specify multiple URL’S for the client so that if the primary is down the next URL belonging to back up will be used.
In case of a primary having multiple address we can use multiple URL’S for the same server so that even the primary in one location is down it can connect to the primary of another location.
The URL’S are usually comma separated in client config.
114) How the clients of the primary server access the messages stored by primary server when it goes down and secondary server becomes primary server?
Ans: clients can be config to be intimated of the failover.
The backup reads the current state of the client from the shared storage
And then connects to the client if there are any undelivered persistent messages.
115) Scenario: Topic T1, Queue Q1 and Queue Q3 are bridged. A publisher published a message to Topic T1. But the publisher has no access rights to Q1. How the message will be traversed?
Ans: Message producers must have access to a destination in order to send messages to that destination. Messages can only be sent to bridged destinations to which the message producer has access.
116) Scenario: A publisher is publishing messages quickly than the consumers are consuming the messages. How to control this situation?
Ans: we can use flow control to address this situation. The target maximum size for pending messages is specified so that only that amount of message is stored and any messages above that will be blocked.
The server blocks the send call and releases only when the storage limit is below the set value.
The flow control is enabled only if the topic or queue has receivers.
This way the producers are slowed down. And the balance is achieved.
117) Can we set a limit for the total number of pending messages on Queue or Topic? What is the parameter for that?
Ans: yes, max-bytes for pending messages.
118) What if max-bytes limit exceeds?
Ans: Messages that would exceed the limit will not be accepted into storage and an error is returned to the message producer.
119) What is the pre-fetch value?
Ans: In order for reducing the client’s waiting time in a server client scenario
For a queue based messaging only the prefetch value allows the the server to send messages in batches so that the message will be ready for the client when ever the client is ready. For automatic fetching its >1 and for disabling its “none”.
120) What is fail-safe?
Ans: The Tibco ems provides 2 modes for persistent topic/queue message storing to external device.
Normal: in this mode the messages stay in a buffer before writing to a storage(disk). So in case of any failure the messages may be lost.This mode is very efficient in situations were little loss of data is allowed.
Failsafe: in the fail safe mode the messages are first written to an external storage before sending so that no messages are lost ever. This is used when no loss of data can be encouraged.
121) How many ways we can determine the life span of the message in a queue. What are they?
Ans: Expiration parameter in queue configuration file.
JMS expiration time in queue sender.
The JMS expiration time in queue sender overrides any value given in config.
122) What are the basic configuration you would setup if you want to enable your EMS server for SSl communication
Ans: listen parameter and ssl_server_identity. Optionally private key.
123) What is the main config file in JMS?
Ans: The main configuration file controls the characteristics of the TIBCO Enterprise Message Service server. This file is usually named tibemsd.conf, but you can specify another file name when starting the server.
Exp para: server, password,flowcontrol,storage,server sartup…
124) Can you send messages from a server to another server?
TIBCO Enterprise Message Service servers can route messages to other servers.
• Topic messages can travel one hop or multiple hops(from the first server).
• Queue messages can travel only one hop to the home queue, and one hop from the home queue.
A server forwards topic messages along routes only when the global property is defined for the topic.
When a route becomes disconnected (for example, because of network problems), the forwarding server stores topic messages. When the route reconnects, the server forwards the stored messages.
125) What are multi-hop zone?
Ans: Multi-hop zone is a group of servers connected by routes.
How do you configure multi-hop zones?
By using routes
To create a route using the administration tool, first connect to one of the servers, then use the create route command with the following syntax:
create route url= zone_name= zone_type=1hop|mhop
Tell me about bridges. Why do we use them, Syntax to create bridges, use of message selector
Some applications require the same message to be sent to more than one destination possibly of different types.
So we use bridges.
126) What is the purpose for stores.conf?
a. This file defines the locations either store files or a database, where the EMS server will store messages or
metadata
b. Each store configured is either a file-based or a database store.
How many modes are the messages written to store file.
2 modes.. sync or async. When absent , the default is async
127) What is tibemsd.conf?
It is the main configuration file that controls the characteristics of the EMS server.
128) How many delivery modes for messages?
Persistent, Non-persistent, Reliable-delivery.
129) What is the maximum messagesize?
Ems supports max message size of 512 mb
130) Name 3 destination properties and explain them.
Global, secure, maxmsgs, maxbytes, flowcontrol, sender_name, sender_name_enforced, trace, maxRedelivery
log_trace
“Log_Trace” writes information to the specified log file based on the trace options
logtrace will be written to log file.
Console_trace
Console Trace will be useful when you start your server in common window, and all logs will be displayed there, and ofcourse it written to log files also when you configure it.
a. Subscribe
b. Publish
c. Durable
d. Use durable
102) What is the difference between Queues and Topics?
Queue
• Guaranteed Service
• Only the Target gets the message (One message per Consumer)
• Uses Peer-to-Peer Mode to deliver messages
• Blocking
• Load Balancing is possible
Topic
• Reliable Service
• Everyone active gets the message (One message may Consumers)
• Uses Pub / Sub mode to deliver messages
• Non-Blocking
• Load Balancing is not possible.
103) What is the use of secured queues and topics?
Setting ‘secure’ property to queues/topics can restrict unauthorized users from publishing/sending and subscribing/receiving the messages.
104) What are acknowledgement modes and where do you set them and what is the applicability of each mode?
Ans:The acknowledge mode for incoming messages. Can be one of the following:
• Auto — the message is automatically acknowledged when it is received.
• Client —the message will be acknowledged at a later point by using the Confirm activity. If the message is not
confirmed before the process instance ends, the message is redelivered and a new process instance is
created to handle the new incoming message. Ensure that your process definition confirms the message
when using this acknowledge mode .
• TIBCO EMS Explicit Client Acknowledge — this mode behaves exactly the same as the Client mode, except the
session is not blocked and one session can handle all incoming messages
• Dups OK — the message is acknowledged automatically when it is received. JMS provides this mode for lazy
acknowledgement, but TIBCO BusinessWorks acknowledges messages upon receipt.
• Transactional — this mode is used when a transaction that can process JMS messages is included in the process definition. The message is acknowledged when the transaction commits.
105) What is the structure of messages in JMS?
Ans: header(needed),
properties(optional)
body(optional).
Header parameters:
JMS destination,
JMS message.
106) What is the purpose of JMS Queue receiver activity and Queue sender activity?
Ans: Starts a process whenever a new message comes into the specified queue.
A queue sender activity sends messages into the specified queue.
107) What is the potential problem with JMS Queue requestor?
Ans: When we specify a reply to queue there is a chance of other processes sending messages to the same queue
and the jms queue requestor interpreting that as the actual response and sending this wrong message to the client.
108) What is JMS queue requestor?
The JMS Queue Requestor activity is used to send a request to a JMS queue name and receive a response back from the JMS client.
109) What is JMS topic requestor?
The JMS Topic Requestor activity is used to communicate with a JMS application’s request-response service. This service invokes an operation with input and output. The request is sent to a JMS topic and the JMS application returns the response to the request.
110) How to setup load balancing for Topics and queues?
Ans: We can achieve load balancing using bridging queues and topics.
Or Queues can be set non-exclusive so that any number of consumers can access the queue.
What are the different levels of load balancing in EMS and how would you do it?
Ans: server level and consumer level
Server: by having multiple servers.
Consumer: by creating consumer instances.
111) What are the differences between server load balancing & producer/consumer load balancing?
Point-to-Point: Non-exclusive queues are useful for balancing the load of incoming messages across multiple receivers.
Programs can use distributed queues for one-of-n certified delivery to a group of servers, in order to balance the load among the servers.
Rendezvous distributed queue software assigns each task to exactly one of the servers, while the group of servers and the distribution of tasks remains completely transparent to the client processes.
EMS Load balancing can be done in only one way on the consumer side, by using multiple subscribers/receivers to a same topic/queue, and which will be executed in round robin fashion. If we are connecting two different severs by using “|” symbol is not be load balancing, Consumers can not switch connections between two servers. By default, we will implement multiple consumers but we have to consider above mentioned issues in consumer load balancing.
112) How would you do fault-tolerance in EMS? Explain the complete process.
Ans: FT in EMS can be achieved by implementing pair of servers called primary and backup while the primary does the normal job of sending and receiving messages the back up server takes the place of primary if the primary fails. The pair shares the information from the shared state. When the primary goes down the backup server reads all the primary config files and starts from there. The primary locks the shared state if its active so that the backup server doesn’t take its place. the lock is released when the primary goes down so that the backup can lock the shared state. Only persistent messages can be implemented in this situation since non-persistent messages cannot be stored in external storage like shared state.
113) How a consumer can connect to the new primary EMS server when the running primary server goes down?
Ans: we can specify multiple URL’S for the client so that if the primary is down the next URL belonging to back up will be used.
In case of a primary having multiple address we can use multiple URL’S for the same server so that even the primary in one location is down it can connect to the primary of another location.
The URL’S are usually comma separated in client config.
114) How the clients of the primary server access the messages stored by primary server when it goes down and secondary server becomes primary server?
Ans: clients can be config to be intimated of the failover.
The backup reads the current state of the client from the shared storage
And then connects to the client if there are any undelivered persistent messages.
115) Scenario: Topic T1, Queue Q1 and Queue Q3 are bridged. A publisher published a message to Topic T1. But the publisher has no access rights to Q1. How the message will be traversed?
Ans: Message producers must have access to a destination in order to send messages to that destination. Messages can only be sent to bridged destinations to which the message producer has access.
116) Scenario: A publisher is publishing messages quickly than the consumers are consuming the messages. How to control this situation?
Ans: we can use flow control to address this situation. The target maximum size for pending messages is specified so that only that amount of message is stored and any messages above that will be blocked.
The server blocks the send call and releases only when the storage limit is below the set value.
The flow control is enabled only if the topic or queue has receivers.
This way the producers are slowed down. And the balance is achieved.
117) Can we set a limit for the total number of pending messages on Queue or Topic? What is the parameter for that?
Ans: yes, max-bytes for pending messages.
118) What if max-bytes limit exceeds?
Ans: Messages that would exceed the limit will not be accepted into storage and an error is returned to the message producer.
119) What is the pre-fetch value?
Ans: In order for reducing the client’s waiting time in a server client scenario
For a queue based messaging only the prefetch value allows the the server to send messages in batches so that the message will be ready for the client when ever the client is ready. For automatic fetching its >1 and for disabling its “none”.
120) What is fail-safe?
Ans: The Tibco ems provides 2 modes for persistent topic/queue message storing to external device.
Normal: in this mode the messages stay in a buffer before writing to a storage(disk). So in case of any failure the messages may be lost.This mode is very efficient in situations were little loss of data is allowed.
Failsafe: in the fail safe mode the messages are first written to an external storage before sending so that no messages are lost ever. This is used when no loss of data can be encouraged.
121) How many ways we can determine the life span of the message in a queue. What are they?
Ans: Expiration parameter in queue configuration file.
JMS expiration time in queue sender.
The JMS expiration time in queue sender overrides any value given in config.
122) What are the basic configuration you would setup if you want to enable your EMS server for SSl communication
Ans: listen parameter and ssl_server_identity. Optionally private key.
123) What is the main config file in JMS?
Ans: The main configuration file controls the characteristics of the TIBCO Enterprise Message Service server. This file is usually named tibemsd.conf, but you can specify another file name when starting the server.
Exp para: server, password,flowcontrol,storage,server sartup…
124) Can you send messages from a server to another server?
TIBCO Enterprise Message Service servers can route messages to other servers.
• Topic messages can travel one hop or multiple hops(from the first server).
• Queue messages can travel only one hop to the home queue, and one hop from the home queue.
A server forwards topic messages along routes only when the global property is defined for the topic.
When a route becomes disconnected (for example, because of network problems), the forwarding server stores topic messages. When the route reconnects, the server forwards the stored messages.
125) What are multi-hop zone?
Ans: Multi-hop zone is a group of servers connected by routes.
How do you configure multi-hop zones?
By using routes
To create a route using the administration tool, first connect to one of the servers, then use the create route command with the following syntax:
create route url= zone_name= zone_type=1hop|mhop
Tell me about bridges. Why do we use them, Syntax to create bridges, use of message selector
Some applications require the same message to be sent to more than one destination possibly of different types.
So we use bridges.
126) What is the purpose for stores.conf?
a. This file defines the locations either store files or a database, where the EMS server will store messages or
metadata
b. Each store configured is either a file-based or a database store.
How many modes are the messages written to store file.
2 modes.. sync or async. When absent , the default is async
127) What is tibemsd.conf?
It is the main configuration file that controls the characteristics of the EMS server.
128) How many delivery modes for messages?
Persistent, Non-persistent, Reliable-delivery.
129) What is the maximum messagesize?
Ems supports max message size of 512 mb
130) Name 3 destination properties and explain them.
Global, secure, maxmsgs, maxbytes, flowcontrol, sender_name, sender_name_enforced, trace, maxRedelivery
log_trace
“Log_Trace” writes information to the specified log file based on the trace options
logtrace will be written to log file.
Console_trace
Console Trace will be useful when you start your server in common window, and all logs will be displayed there, and ofcourse it written to log files also when you configure it.
Comments
Post a Comment