getting started on ems

28
Getting Started on EMS - Ems was installed under the location of : 'C:\tibco\ems' - TRA is not required for Ems installation - Main configuration file for Ems is : 'tibemsd.conf' - All configuration file is located under the BIN folder i.e. c:\ tibco\ems\bin - At the time of installation, two major things happen: 1. install an Ems server service in the Operating System service 2. install Ems Administration tool - Before start the Ems Administration tool, must start the Ems server service - Start Ems server in 2 way: Way-1: All programs->Tibco->Ems->Running the Ems server Way-2: From DOS prompt, go to c:\tibco\ems\bin and excute 'tibemsd.exe - Start Ems Administration tool in 2 way: Way-1:All programs->Tibco->Ems->Starting the Ems Administration tool Way-2: From DOS prompt, go to c:\tibco\ems\bin and excute 'tibemsadmin.exe - Connect to the Ems server by using command (ems in a single computer): connect tcp:/<host name>:<port number> ems in the network: connect [server url] [user name] [password] [server url] is tcp://host-name:port-number EMS Configuration Files The Ems installation process places configuration files in two directories - ems/bin/: contains a subset of configuration files suitable for quickly testing the installation - ems/samples/config/: contains the more complete set of sample configuration files Mechanics of Configuration: The EMS server reads configuration files only once, when the server starts. It ignores subsequent changes to the configuration files. If you change a configuration file, use the shutdown command from the EMS

Upload: rsreddy434

Post on 26-Dec-2014

1.142 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Getting Started on EMS

Getting Started on EMS- Ems was installed under the location of : 'C:\tibco\ems'- TRA is not required for Ems installation- Main configuration file for Ems is : 'tibemsd.conf'- All configuration file is located under the BIN folder i.e. c:\tibco\ems\bin- At the time of installation, two major things happen:   1. install an Ems server service in the Operating System service   2. install Ems Administration tool- Before start the Ems Administration tool, must start the Ems server service- Start Ems server in 2 way:           Way-1: All programs->Tibco->Ems->Running the Ems server          Way-2: From DOS prompt, go to c:\tibco\ems\bin and excute 'tibemsd.exe- Start Ems Administration tool in 2 way:           Way-1:All programs->Tibco->Ems->Starting the Ems Administration tool          Way-2: From DOS prompt, go to c:\tibco\ems\bin and excute 'tibemsadmin.exe- Connect to the Ems server by using command (ems in a single computer): connect tcp:/<host name>:<port number>       ems in the network: connect [server url] [user name] [password]      [server url] is tcp://host-name:port-number

EMS Configuration Files

The Ems installation process places configuration files in two directories- ems/bin/: contains a subset of configuration files suitable for quickly testing the installation- ems/samples/config/: contains the more complete set of sample configuration files 

Mechanics of Configuration:

The EMS server reads configuration files only once, when the server starts. It ignores subsequent changesto the configuration files. If you change a configuration file, use the shutdown command from the EMS Administration Tool to shutdown the server and then restart the server.

List of Configuration Files:- tibemsd.conf   : The main configuration file controls the characteristics of the EMS server- users.conf       : Defines EMS user- groups.conf     : Defines EMS group- topics.conf      : Defines EMS Topics- queues.conf    : Defines EMS Queues

Page 2: Getting Started on EMS

- acl.conf          : Defines EMS access control lists- bridges.conf    : Defines bridges between destinations- routes.conf     : Defines routes between this and other EMS servers - factories.conf  : Defines the connection factories stored as JNDI names on the EMS server- transports.conf: Defines transports used by EMS to import messages from or export messages to external message service, such as Rendezvous and SmartSockets - tibrvcm.conf   : Defines the TIBCO Rendezvous certified messaging (RVCM) listeners for use by topics that export messages to a tibrvcm transport- durables.conf  : Defines static durable subscribers

Common Properties btwn Queue and Topic

Queue                        Topic                     Common Properties

exclusive                     import                  failsafeprefetch                     export                  secureimport                                                   maxbytes

Using Message Selectors in TIBCO EMS

One of the main purposes of the JMS message properties is to apply filters against the message properties. The filters are applied against the header and properties. JMS refers to these filters as message selectors.

Combined with destination routing and bridging, message selectors can be an efficient tool. Message selectors are filter statements that are based on the expression syntax. A discussion for the details of creating the filter statements is beyond the scope of this document.

The selector function transfers the filtering work from the application to the infrastructure. This infrastructure filtering reduces the processing overhead

Page 3: Getting Started on EMS

from the application. However, it should be noted that this increases the processing overhead on the messaging infrastructure!

This can be important in the planning of physical layout of server structure. For example, the use of selector functions does not actually shift load from application hardware to the infrastructure hardware if JMS and the application server are running on the same machine.

There are several other concerns to address when using selectors:o   If the payload of the message contains data that will require a selector function, then it must be duplicated in the message properties. This is not very efficient.o   If a selector were not utilized, the consumer would be required to examine the message before it determines if it should continue processing the message or discard it. This can be accomplished directly against the content of the message, properties of the header, without payload content being duplicated in the properties. This is not necessarily a high processing overhead operation, unless the processing device has limited processing capabilities. In many cases, this also may be a viable alternative to using selectors.o   Selector functions are also used in the routing of messages within the server infrastructure. They are also available for use in the bridging functions. See later discussions on destination routing and bridging.

However, for external adapters that execute out-of-process there can be benefits in using the selector functions. For example, a given adapter may have limited processing capabilities or bandwidth restrictions, and the selector could restrict the number of messages sent to the adapter based on the content of the message header and properties.

Selector functions are also useful when used in conjunction with queue browser functions. When the server topology changes, such as JMS gets their own paired servers, saving processing overhead in the application by using selector functions may result in performance increase of the orchestration server.

Let me know if you require syntaxes for this. 

  Pending messages in EMS Queue There can be various reasons.1-naming error between sender and receiver

Page 4: Getting Started on EMS

2-permission issue.3- if more then one receiver then exclusivity issue.4-may be not in same data structure between sender and  receiver.

Usefull Command Lisiting

The command line interface of the administration tool allows you to perform a variety of functions. The following lists of command usefull for Ems.

Create User: create a new usersyntex : create user <user name> ["user_description"] [password=<password>]example: create user test "Test user" password=test

Show Users: Show all userssyntex : show usersexample: show users

Delete user: delete the named usersyntax : delete user <user name>example: delete user test

Create group: creates a new group of users. Initially the group is empty. You need to add users in the group.syntax : create group group_name "description" example: create group Training "Training group"

Delete group: delete the named groupsyntax : delete group <group name>example: delete group training

Add member: Add one or more users to the groupsyntax : add member <group name> <user name>, <user name> ...example: add member training  test

Set password: Set the password for the named usersyntax : set password <user-name> [password] example: set password test 123

Grant admin : Grant the named global administrator permissions to the named user or group. For a complete listing of global

Page 5: Getting Started on EMS

administrator permissionssyntax : grant admin user=<user name> | group=<group name> <admin_permissions>example: grant admin user=test all             grant admin group=training allNote: some admin permissions: all:- all admin permissions, change-connection:-delete connection 

Connect: Connect the administrative tool to the serversyntax : connect tcp://<server name>:<port number> example: connect tcp://server2000:7222

Disconnect: Disconnect the administrative tool from the serversyntax : disconnectexample: disconnect

create topic : Creates a topic with specified name and properties. Properties are listed in a  comma-separated list, as described in topics.conf . You can set the properties directly in the topics.conf or by means of the setprop topic command in the EMS Administrator Tool. syntax : create topic <topic_name> <[properties]> example: create topic t1

Show Topic : Shows the details for the specified topicsyntax : show topic <topic-name>example: show topic t1

setprop topic : Set topic properties, overriding any existing propertiessyntax : setprop topic <topic-name> <properties> example: setprop topic t1 secure,sender_name

addprop topic : Adds properties to the topic. Property names are separated by commassyntax : addprop topic <topic_name> <properties,...>example: addprop topic t1 failsafe

Grant topic : Grants specified permissions to specified user or group on specified topic. Multiple permissions are separated by commas.Topic permissions are: subscribe, publish, durable, use_durableDestination-level administrator permissions can also be granted with this

Page 6: Getting Started on EMS

command. The following are administrator permissions for topics are - view , create , delete, modify , purge syntax : grant topic <topic-name> <user=name | group=name> <permissions>Note: The best way to define permissions on topic is-open acl.conf and modify in the fileexample: TOPIC=t1 USER=user1 PERM=publish,subscribe,view 

purge topic :  Purge all messages for all subscribers on the named topicsyntax : purge topic <topic-name>example: purge topic t1 

delete topic : delete specefic topic syntax : delete topic <topic-name >example: delete topic t1

create queue : Creates a queue with the specified name and properties. The possible queue properties are described in Destination Properties. Properties are listed in a comma-separated list, as described in queues.conf. You can set the properties directly in the queues.conf or by means of the setprop queue command in the EMS Administrator Tool. syntax : create queue <queue_name> <[properties]>example: create queue q1

Show Queue : Shows the details for the specified queue syntax : show queue <queue-name>example: show queue q1

setprop queue : Set queue properties, overriding any existing properties. Any properties on a topic that are not explicitly specified by this command are removedsyntax : setprop queue <queue-name> <properties> example: setprop queue q1 secure,sender_name

addprop queue : Adds properties to the queue. Property names are separated by commassyntax : addprop queue <topic_name> <properties,...>example: addprop queue q1 failsafe

Grant queue : Grants specified permissions to specified user or

Page 7: Getting Started on EMS

group on specified queue. Multiple permissions are separated by commasQueue permissions are: receive, send, browseDestination-level administrator permissions can also be granted with this command. The following are administrator permissions for queue are - view , create , delete, modify , purge syntax : grant queue <queue-name> <user=name | group=name> <permissions>Note: The best way to define permissions on queue is-open acl.conf and modify in the fileexample: QUEUE=q1 USER=user1 PERM=receive,browse

purge queue : Purge all messages in the named queuesyntax : purge queue <queue-name>example: purge queue q1 

delete queue : delete specefic queue syntax : delete queue <topic-name >example: delete queue t1

Create durable : Creates s static durable subscribersyntax : create durable <topic name> <durable name> [property,....,property]example: create durable t1 durable1 

Note: why durable: By default, subscribers only receive messages when they are active. If messages arrive on the topic 

when the subscriber is not available, the subscriber does not receive those messages.The EMS APIs allow you to create durable subscribers to ensure that messages are received, even if the message consumer is not currently running. Messages for durable subscriptions are stored on the server as long as durable subscribers exist for the topic, or until the message expiration time for the message has been reached, or until the storage limit has been reached for the topic. Durable subscribers can receive messages from a durable subscription even if the subscriber was not available when the message was originally delivered.When an application restarts and recreates a durable subscriber with the same ID, all messages stored on the server for that topic are published to the durable subscriber.

Page 8: Getting Started on EMS

Delete durable : Delete the named durable subscribersyntax : delete durable <durable-name>example: delete durable durable1

Show config: Shows the configuration parameters for the connected serversyntax : show config

Show consumer or show consumers: information about a specific consumer or all consumerssyntax : show consumer <consumer id> or show consumersexample: show consumer 6 or show consmers

show connections : Show connections between clients and serversyntax: show connections [type=q|t|s] [host=hostname] [user=username] [version] [address] [counts] [full] example: show connections

show db : Print a summary of the server’s databasessyntax : show db [sync|async] example: show db

Creating Bridges in TIBCO EMS

Some situations we might need to create bridge between a queue to queue or  topic to topic or topic to queue or vice versa. Please refer other articles, to know indepth concepts. Just follow the instructions to create the bridge.

1. Login

Type 'help' for commands help, 'exit' to exit:> connect tcp://localhost:7222Login name (admin):adminPassword:Connected to: tcp://localhost:7222

2. Create Queue 

Page 9: Getting Started on EMS

tcp://localhost:7222> create queue bridgequeueQueue 'bridgequeue' has been created

3. Create Queue 

tcp://localhost:7222> create topic bridgetopicTopic 'bridgetopic' has been created

4. Create Bridge with out Message Selectors 

tcp://localhost:7222> create bridge source=queue:bridgequeue target=topic:bridgetopicBridge has been created

OR   

4. Create Bridge with Message Selectors

tcp://localhost:7222> create bridge source=queue:bridgequeue target=topic:bridgetopic selector="illinois"Bridge has been createdtcp://localhost:7222>

Note : If you want to update any bridge, you got to recreate. 

5. To Delete Bridge (Only when needed)

tcp://localhost:7222> delete bridge source=queue:bridgequeue target=topic:bridgetopicAre you sure (yes,no)? yesBridge has been deleted

Ems-Fault Tolerance Setup-A

Fault Tolerance configuration setupParameters will be in Bold and Inclined for easy identification

Page 10: Getting Started on EMS

Configuring Primary serveropen the c:\tibco\ems\bin\tibemsd.conf          (This file is called Ems configuration file)

Server=EMS-SERVER-RAMU(This value is upto your choice)Listen=tcp://7222(This value is upto uour choice)Ft_active=tcp://7444(This value is upto your choice)

Configuring Backup serverCreate a folder called Backup in that please copy all the *.conf files(only configuration files) from c:\tibco\ems\bin\ and place it in c:\tibco\ems\bin\Backup\

Note:From now we will work in the Backup Folder, open tibemsd.conf file in the folder

Server=EMS-SERVER-RAMU(This value must match the value of the server parameter in primary server's tibemsd.conf file)Listen=tcp://7444(This value must match the value in Ft_active paramter in primary server's tibemsd.conf file)Ft_active=tcp://7222(This value must match the value in Listen parameter in primary server's tibemsd.conf file)store=c:\tibco\ems\bin\datastore(This value must match the value in store parameter in primary server's tibemsd.conf file,note that the value in primary server's tibemsd.conf file is just datastore)

Prepend this path to    c:\tibco\ems\bin\Backup\    below list in the backup sever tibemsd.conf

users=c:\tibco\ems\bin\Backup\users.confgroups=c:\tibco\ems\bin\Backup\groups.conftopics=c:\tibco\ems\bin\Backup\topics.confqueues=c:\tibco\ems\bin\Backup\queues.confacl_list=c:\tibco\ems\bin\Backup\acl.conffactories=c:\tibco\ems\bin\Backup\factories.confroutes=c:\tibco\ems\bin\Backup\routes.confbridges=c:\tibco\ems\bin\Backup\bridges.conftransports=c:\tibco\ems\bin\Backup\transports.conf

Page 11: Getting Started on EMS

tibrvcm=c:\tibco\ems\bin\Backup\queues.confdurables=c:\tibco\ems\bin\Backup\durables.conf

 If you observe the tibemsd.conf file in primary server and compare the tibemsd.conf file in Backup serverThe values for some parameters in primary tibemsd.conf file is jfor example "users=users.conf"  where as in backup server tibemsd.conf file we give "users=c:\tibco\ems\bin\Backup\users.conf".The reason why because while installing the Ems server ,it sets these values and it knows where to look for the path , so thats the reason why the full path is not mentioned for various parameters in tibemsd.conf for primary server

Ems-Fault Tolerance Setup-B

This post is continuation of Fault Tolerance Setup-A

Go to All programs>Run>type cmdYou will get a command prompt window Type command: cd c:\tibco\ems\binNow you will be inside bin directory

Start Primary ServerType command: tibemsd (This is a application )

Start Backup ServerOpen another command promptNavigate to the directory by entering the below commandcd c:\tibco\ems\binGive the following commandtibemsd -config Backup\tibemsd.conf    (This is not done in primary but you are doing in back up server , since Primary server tibemsd.conf file is in same directory as tibemsd application)In the backup sever command prompt you can see that it is in standby mode for primary (tcp://7222)

Ems-Fault Tolerance setup-C

Page 12: Getting Started on EMS

This is post is continuation of Fault Tolerance setup-BWhich Explains about testing the Ems-Fault Tolerance setup is Functioning or not

Note: clients both publishers/senders or Subscribers/receivers should connect to both the Ems-Servers using "," comma URL'S   so that  even the primary server is dead they can connect to backup server 

Create a Jms connection , in this specify both the url's seperated by commas(JNDI Connection).Use this conection in both Publisher/Sender or Subscriber/Receiver 

Start sending the messages from Publisher to a queue and Start a receiver who is listening to this queue.Stop the primary server by entering the command Shutdown in command prompt,this will cause the server to shutdownYou can observer that backup server becomes Active in the command prompt, without disrupting the Business Process.

Now start the primary server you will see that this will be in stand-by mode.

Ems Load Balancing Setup A

This topic deals with configuring both Primary and Load Balanced ServerNote:All the parameters will be in Bold and Italic that you are going to use for Load Balancing

                                                    Configuring Primary Server

In this we are going to use 3 files which are given below for configuring Primary server1) tibemsd.conf2) routes.conf3) factories.conf

Go to location c:\tibco\ems\bin you can find the above listed files.

Page 13: Getting Started on EMS

Open tibemsd.conf file and input the parameters with the Values

Server=EMS-SERVER1(This value can be anything)Routing=enabled(Thisvalue should be same )store=datastore(which contain 3 files sync-db,async-db,meta-db)Save the file and exit

Open routes.conf file and input the parameters with the values,Note: if the paramter is not there add it.When you go to bottom of this file you will find the below parameters

[EMS-SERVER2]  This should be there by default(Note:Ensure that this parameter is used in Load Balanced server, should be same name as that in LB Server)url=tcp://7144                             (change the default port number to your requirement)zone_name=default_mhop_zone    (Add this parameter and value)zone_type=mhop                         (Add this parameter, the value should be mhop or shop,depends upon the requirement)save and exit this file

Open the factories.conf file 

       Important Note:## If factory's url is specified in the form##    url = tcp://7222    (or any other port number)## then it is expanded during JNDI lookup to include the default# hostname of the machine running tibemsd server, for example:##    tcp://MYHOST:7222## This enables the use of the same factories.conf file on different# hosts. However, note that only default host name will be used. On# servers with multiple interfaces you need to use explicit host name# in factories url if it should be not the default name.## Factories using 'localhost' as the host name only work when the client# and server are on the same computer. You will need to replace

Page 14: Getting Started on EMS

# 'localhost' below with the the appropriate hostname of the machine# where the server is running.

Add the following parameters, these parameters are not there in the file

[LBTopicConnectionFactory]url=tcp://7222|tcp://7144  (From the above note actual production scenario use url=tcp://Machine1:7222|tcp://Machine2:7144)metric=connections

[LBQueueConnectionFactory]url=tcp://7222|tcp://7144   (From the above note actual production scenario use url=tcp://Machine1:7222|tcp://Machine2:7144)metric=connectionsSave and exit the configuration file

                                                      Configuration of Load Balanced server for primary server

Create LB Directory in c:\tibco\ems\binCreate datastore2 Directory in c:\tibco\ems\bin\LB

Copy the *.conf files from c:\tibco\ems\bin     to     c:\tibco\ems\bin\LB  (only the configuration files)Copy the datastore files from c:\tibco\ems\bin\datastore   to     c:\tibco\ems\bin\LB\datastore2  (There would be 3 files)

Note: From Now on we will work in LB Directory

The 2 files that we are going to use for Load Balancing server is tibemsd.conf and routes.conf files

open the file c:\tibco\ems\bin\LB\tibemsd.conf set the below parameteres with appropriate values

server=Ems-server2Listen=tcp://7144users=c:/tibco/ems/bin/LB/users.conf ( Note:or go for this path "\" if the other doesn't work)groups=c:/tibco/ems/bin/LB/groups.conftopics=c:/tibco/ems/bin/LB/topics.conf

Page 15: Getting Started on EMS

queues=c:/tibco/ems/bin/LB/queues.confacl_list=c:/tibco/ems/bin/LB/acl.conffactories=c:/tibco/ems/bin/LB/factories.confroutes=c:/tibco/ems/bin/LB/routes.conftibrvcm=c:/tibco/ems/bin/LB/tibrvcm.confdurables=c:/tibco/ems/bin/LB/durables.confstore=c:/tibco/ems/bin/LB/datastore2

Note:The reason why we are giving this path in LB Server is because the tibemsd application knows where to look for the files when you execute tibemsd in primary server, but for LB Sever tibemsd application is in bin and the files for that are in different folder.

Open routes.conf file from location c:\tibco\ems\bin\LB\routes.conf

Go to the bottom of the file and modify them as below if anything is there or add it if it is not there (Reason for this is we just copied the files that have been chaned for primary server)

[EMS-SERVER1]url=tcp://7222(This value sould be of primary server listen port)zone_name=default_mhop_zonezone_type=mhop

Save and exit the file

Read the next post Ems-Load Balancing Setup B for testing the LB Servers.

LoadBalance Setup-B

This post is continuation of LoadBalance Setup-A

Go to All programs>Run>type cmdYou will get a command prompt window Type command: cd c:\tibco\ems\binNow you will be inside bin directory

Start Primary Server:

Page 16: Getting Started on EMS

Type command: tibemsd (This is a application )

Start Second Server:Open another command promptNavigate to the directory by entering the below commandcd c:\tibco\ems\binGive the following commandtibemsd -config LB\tibemsd.conf    

In Primary server window u will see 'EMS-SERVER2' connected to url 'tcp://localhost:7144'and in second server window u willsee 'EMS-SERVER1' accepted from host 'machine name'

Creating Ems Server and Adding to Tibco Admin in Linux Producation Box

Instructions:   Putty into linux machine using your personal account and create a /tmp/ems folder.

   Using SECUREFX, copy EMS 4.4.0 and EMS 4.4.1 software folders from Windows Shared Drive  \\TIBCOSoftware\Linux\ to     LINUXMACHINE - /tmp/ems folder.         Run “sudo su – tibcoadm” and reenter your account password.                Go to The location where the installation files are there and do the below commands      Run “./TIB_ems-simple_4.4.1_linux24g123_x86.bin –console”   Agree to the EULA and follow the default prompts through the install.      Run “./TIB_ems-simple_4.4.2_linux24g123_x86.bin –console”   Agree to the EULA and follow the default prompts through the install.

   Create a /apps/tibco/ems/logs folder

   Navigate to /apps/tibco/ems/bin   Run “vi tibemsd.conf”

Page 17: Getting Started on EMS

   Set server = EMS1   Set max_msg_memory = 0MB   Set listen = tcp://12000   Set routing = enabled   Set flow_control = enabled   Set logfile = /apps/tibco/ems/logs/mymacchine-mid.log   Set logfile_max_size = 20MB   Set log_trace = DEFAULT   Set console_trace = DEFAULT   Save and quit vi session.

   Run “./tibemsd &” from the /apps/tibco/ems/bin folder.   Run “./tibemsadmin” from the /apps/tibco/ems/bin folder.

   At the prompt type “connect MYMACHINE:120000”   Username is admin, password is blank.   Show Queues   Type “exit”

   Run “vi queues.conf” and scroll to the bottom past queue.sample and add the following entries:a.   PUBLISH.SOAP   PUBLISH.RMC   PUBLISH.WS   SUBSCRIBE.WS   MID.RETRY   EXCEPTION.PUBLISH@MYMACHINE global,prefetch=64   Save and quit vi session.

   Run “vi factories.conf”                 update all port references (7222 and 7224) to 12000 then save and quit vi.   Connect to the new EMS server (MYMACHINE:12000) using the EMS Administration Tool.   Type “create route MYMACHINE url= tcp://aix1:12000,tcp://aix2:12000 zone_name=default_mhop_zone zone_type=mhop” 

                Adding Ems Server to Tibco Admin Uisng Command Line

   Navigate to /apps/tibco/tra/5.5/template/domainutility/cmdline/.   Run “vi AddJMSServer.xml and edit the following:

Page 18: Getting Started on EMS

   Set DomainName = MYDOMAIN(Tibco Admin domain )   Set AdministratorUsername = admin   Set AdministratorPassword = “Admin Password”   Set MachineName =MYMACHINE(Depends)   Set JMhaa haaecutable = /apps/tibco/ems/bin/tibemsd   Set JMSConfigFile = /apps/tibco/ems/bin/tibemsd.conf   Set JMSUserName = admin   Set JMSPassword = “JMS admin password”   Set HawkCluster = 10.200.4.09(Depends)   Set OSName = Linux   Set OSVersion = 2.4.21-40.ELsmp(Depends)   Save and quit vi.

   Navigate to /apps/tibco/tra/5.5/bin   Run “./domainutilitycmd -cmdFile /apps/tibco/tra/5.5/template/domainutility/cmdline/AddJMSServer.xml”

Re: Regarding TIBCO EMS certification practice Question/Answers

Hi Amit,

Here are the sample EMS certification question . 

1. If user Bob wants to receive messages on topic $sys.monitor.admin.* he must have subscribe permission on topic _____.A. >B. $sys.>C. $sys.monitor.>D. > and $sys.monitor.>Answer: C

2. A topic A.B is bridged to a queue B.C, and B.C is bridged to a queue C.D.Where will a message published on topic A.B be delivered?A. only to B.CB. only to C.DC. to B.C and C.DD. to neither B.C nor C.D

Page 19: Getting Started on EMS

Answer: A

3. What is the limitation of using a foreign JNDI provider?A. You can only store destinations.B. You can only store connection factories.C. You cannot perform fault tolerant JNDI lookups.D. It has to run on the same machine as the TIBCO EMS server.Answer: C

4. What are three exceptions that can be generated by calling Session.Commit() on a session? (Choose three.)A. JMSSecurityExceptionB. IllegalStateExceptionC. MessageFormatExceptionD. InvalidDestinationExceptionE. TransactionInProgreshaa haaceptionF. TransactionRolledBackExceptionAnswer: BEF

5. TIBCO EMS supports SSL communication between _____. (Choose four.)A. two routed serversB. two fault tolerant serversC. a C client and the serverD. a .Net client and the serverE. the Administration Tool and the serverAnswer: ABCE

6. Name the two statements which are true. (Choose two.)A. In ClientAcknowledge mode, call Message.acknowledge(), acknowledges allunacknowledged messages that the client application has consumed within the session.B. In ExplicitClientAcknowledge mode, call Message.acknowledge(), acknowledgesonly the individual message.C. In DupsOkAcknowledge mode, call Message.acknowledge(), acknowledges allunacknowledged messages that the client application has consumed within theconnection.

Page 20: Getting Started on EMS

D. In ClientAcknowledge mode, call Message.acknowledge(), acknowledges allunacknowledged messages that the client application has consumed within theconnection.Answer: A,B

7) An error occurs when a message is delivered to one of the destinations but it is bridged tomultiple destinations.Explain which statement is true.A. If the producer is using a transacted session, then the transaction is rolled back (nomessage is delivered).B. Once a message is delivered to one of the bridged destinations, it can never be rolledback.C. The bridge is using a local transaction, so none of the bridged destinations receive themessage.D. If the destinations are failsafe, then none of the bridged failsafe destinations receivethe message.Answer: A

 

For storing persistent messages, which two files are used by TIBCO EMS? (Choose two.)A. failsafe-msgs.dbB. sync-msgs.dbC. async-msgs.dbD. meta.dbAnswer: B,C

9)To install settings from a response file, which three TIBCO EMS installer modes can beused? (Choose three.)A. sysprepB. rpmC. silent

Page 21: Getting Started on EMS

D. GUIE. consoleAnswer: C,D,E

10)When creating a connection factory, how is the metric parameter used?A. The metric parameter is used by the server when load balancing client connections.B. The metric parameter is used to enable client statistics gathering for all clients usingthis factory.C. The metric parameter is used to control connection resource allocation within theTIBCO EMS server.D. The metric parameter is used to provide client feedback on overall messagethroughput.Answer: A

11) Name the two statements which are true about reliable delivery mode for TIBCO EMS.(Choose two.)A. All message publish calls will succeed unless the connection to the server has beenterminated.B. Reliable delivery mode decreases the volume of network traffic.C. Reliable delivery mode is part of JMS specifications.D. Reliable delivery mode can be used only with topics and cannot be used with queues.Answer: A,B

12) In TIBCO EMS for creating TextMessage objects, which is a factory class?A. DestinationB. SessionC. MessageD. ConnectionAnswer: B

13) Quite a few of the parameters in the TIBCO EMS main configuration file requireBoolean values.Choose the value set which cannot be used.

Page 22: Getting Started on EMS

A. no/yesB. disabled/enabledC. false/trueD. 0/1Answer: D14) Choose three exceptions that can be generated by calling Session.Commit() on a session.(Choose three.)A. MessageFormatExceptionB. InvalidDestinationExceptionC. TransactionRolledBackExceptionD. IllegalStateExceptionE. TransactionInProgreshaa haaceptionF. JMSSecurityExceptionAnswer: C,D,E

15)Which step should you take to install the EMS JNDI provider, after an EMS serverinstallation?A. You execute the tibemsjndi process in the /lib directory.B. You enable the EMS JNDI provider in the tibemsd.conf file.C. No additional step is required.D. You copy the com.tibco.tibjms.naming.TibjmsInitialContextFactory to the/lib directory, and restart the server.Answer: C

TIBCO EMS Multicast - Features

Hi, 

TIBCO EMS is a distributed and reliable architecture, with support for load-balancing, routing, and fault tolerant configurations that together remove single points of failure.    Features

By using TIBCO's messaging solution, companies have been able to reliably support over 50,000 messages per second and achieve 99.999% uptime.A distributed message bus with multi-protocol support for Java Message

Page 23: Getting Started on EMS

Service (JMS), TIBCO Rendezvous®, and TIBCO SmartSockets. TIBCO supports many of the leading open standards, including web services, and provides adapters for third-party applications and infrastructure including IBM MQSeries. This makes it possible for companies to reuse their existing investments and focus on delivering new functionalityBuilt-in monitoring and management capabilities that provide detailed administrative functions and statistics and support automation through an administrative API or command-line shell. Companies can also leverage TIBCO's common monitoring and management framework for top-down, end-to-end distributed monitoring and management of TIBCO and non-TIBCO products

Multicast - Features

Multicast is a messaging model that allows the EMS server to send messages to multiple consumers simultaneously by broadcasting them over an existing network..      Features

Multicast is highly scalableMulticast reduces the amount of bandwidth consumedMulticast reduces the number of operations performed by the serverMulticast broadcasts the message only once where as in case of publish and subscriber for each of the consumer a copy of the message is getting published

Facts

Multicast does not guarantee message deliveryMessages requiring a high degree of reliability should not use multicastMulticast offers last-hop delivery only; it cannot be used to send messages between servers.Multicast should not be used in applications where security is a priority

Routes Creation In TIBCO EMS

Page 24: Getting Started on EMS

This example will just show how you create routes in EMS, Please follow the instructions to create routes on two different EMS Servers. 

1. Create a copy for bin in c:\tibco\ems and name it to bin2.2. Open tibemsd.conf under c:\tibco\ems\bin change the following settingsa. Change the server name to EMS –SERVER to EMS-SERVERAb. routing property to enabledc. save and exit3. Open tibemsd.conf under c:\tibco\ems\bin2 change the following settingsa. Change the server name to EMS –SERVER to EMS-SERVERBb. Change the port to tcp://7224 instead of tcp://7222c. routing property to enabledd. save and exit4. open factories.conf under c:\tibco\ems\bin2 change the following settingsa. Change the GeneralConnectionFactory,QueueConnectionFactory and TopicConnectionFactory URL to tcp://7224 instead of tcp://7222 ( You can leave FT and SSL connection factories, only required when you are using these pairs)b. save and exit5. Start EMS-SERVERAa. You can start through service instancesORb. Using command prompti. C:\ticbco\ems\bin\tibemsd.exe –config tibemsd.conf

6. Login to EMS Admin tool on EMS-SERVERA using admin credentials7. Create route on EMS-SERVERA as followsa. Create route EMS-SERVERB url=tcp://localhost:72243. Start EMS-SERVERBa. Using command prompti.C:\ticbco\ems\bin2\tibemsd.exe –config tibemsd.conf4. You will see route established between these two servers, you can check in the logs or by using the following command in admin console in either of the servers.a. show routes5. create global queue or topic on these two instances a. create global topics on both the servers as follows (make sure the name matches for topics)i. create topic testroute globalb. create global queues on both the servers as followsi. In EMS-SERVERA

Page 25: Getting Started on EMS

1.create queue testroute globalii. In EMS-SERVERB1. create queue testroute@EMS-SERVERA global6. Test or change the topic/queue names using a sample BW application.7. There you go with success results in routing