You are on page 1of 714

TIBCO BusinessWorks Performance Tuning

The performance of software or applications installed in every system may vary according to some aspects involved like the efficiency of the program and the specifications of the system. The program may function very well but if the resource of the computer where it is installed does not meet its minimum requirements then it will affect the functionality of the program and other applications that may be running on the system. It may also slow down the computer. There are also instances when the computer's resources are more than enough to be able to run applications. But the issue here is that the resources of the computer is not fully utilized. You may still be able to tune up your computer for better performance. Upon installation and the use of the TIBCO BusinessWorks and its components, you may find your applications functioning very well, but what you do not know is that you can still be able to improve its performance. You may also have some negative issues depending on the computer that you are using, but don't worry because there are ways to be able to modify some settings of the TIBCO BusinessWorks so that it may be able serve your needs. 1. What TIBCO component is used for optimizing TIBCO BusinessWorks performance? TIBCO Administrator is used for optimizing TIBCO BusinessWorks components. TIBCO Administrator functions as a central server for administering different TIBCO components. This tool can also be used for creation, deployment and management of applications. To be able to access TIBCO Administrator's Interface, you need to use a web browser but before that, you should first make sure that the TIBCO Administrator service and the TIBCO Runtime Agent service for the domain that you will be using are both running. Just for added information, TIBCO Runtime Agent (TRA) is needed so that you will be able to create projects using the TIBCO Designer and deploy and manage them using the TIBCO Administrator. 2. What is TIBCO ActiveMatrix BusinessWorks Engine? TIBCO ActiveMatrix BusinessWorks Engine controls the execution of processes. These processes have activites to be executed and a set of resources. The BusinessWorks Engine also has other tasks such as management of connections, validation of data, managing and monitoring of different services, and configuring logs. 3. What changes in the settings can be done to optimize TIBCO BusinessWorks Performance? We can modify parameters such as max jobs, flow limit, step count, activation limit, thread count, minProcessors, maxProcessors and accept count if we don't want all of our process instances to be held in memory because generally, process instances created reside in the memory of the computer. Specifying a value in the max jobs means that the number of process instances in the memory will not exceed this value. If the value set for the max jobs is already reached, then the process instances created will be held on the disk of the computer, but they will be moved back to the memory if the memory space is already sufficient. If a value is set for the flow limit, then the number of process instances created will not exceed this value. If this value is reached then the creation of process instances is suspended but the process instances already in memory still continue to run. Creation of new process instances will resume if the number of currently running process instances is more or less half the value set for the flow limit.

The value for step count is the number of tasks that are executed successively by a thread before it is released. However, this may not be true all the time because of some exceptions when the job is blocked or the job is in a transaction. If the job is in a transaction and the step count has already been exceeded, then the thread will still not be released until the transaction is completed. On the other hand, if the process instance is in a blocked condition or is waiting for an event then that process instance will be paged out to disk, and the memory space it was consuming will be used to run other process instances. Checking the option for activation limit means that if the process instance is in a blocked condition, it will still stay in the memory and will not be paged out to disk until it is completed. Having this option checked will greatly affect the performance of the engine because the process instances in the memory may be waiting for an event indefinitely. The thread count determines the number of process instances that can be executed at the same time. The default value of this parameter is eight. Setting a different value for this parameter may be done in a trial and error manner because different values have different pros and cons. If the throughput is satisfactory but the system's resources are not fully used, then you can set this parameter to a higher value; however, take note that if you specify a value that is too high it may cause CPU thrashing behavior. On the other hand, if you set a value that is too low, it will increase the use of memory but the throughput will be lowered and some of the system's resources may not be utilized. For processes that use HTTP connection, we can modify the minProcessors, maxProcessors, and acceptCount parameters. The minProcessors which has a default value of ten determines the number of threads that are initially created when the HTTP server starts. Setting a high value for minProcessors may block some CPU resources because a large number of threads that may not be necessary are created. The maxProcessors which has a default value of 75 determines the maximum number of threads that can be created by the HTTP server. Setting a high value for this parameter can increase concurrency of executing process instances but the throughput for the process executions may decrease. On the other hand, if the value for maxProcessors is low, then there is an increased throughput but the number of processes executed concurrently will also be limited. The acceptCount parameter which defaults to 100 determines the maximum number of connection requests that are accepted when all the processors of HTTP are already running. When the value set for this parameter is reached then all incoming requests are discarded. If you set a low value for maxProcessors, then you can set a higher value in acceptCount so that connection requests will not be rejected. 4. What modifications in the Java Virtual Machine can we do to optimize the BW engine's performance? Java Virtual Machine (JVM) is a set of applications that use a virtual machine to execute other computer programs. For an overview, a virtual machine is an application that has the functionality of running other applications just like a real computer. In TIBCO, the BusinessWorks engine is running in a JVM. You can configure the heap size for the engine by setting a minimum and maximum value. These values determine the amount of memory to be used by the engine. You can also enable garbage collection so that resources in the system that are no longer in use can be deleted. 5. What are the characteristics of activities in BusinessWorks and how will it affect the engine's performance?

There are two types of activities in BusinessWorks. They can either be blocking or non-blocking activities. This is determined based on how the activity functions with the thread. Blocking activities are activities that are executed using the engine thread. This type of activity may affect the engine's performance because if this activity is waiting for an event then the engine thread will also be waiting for the activity to resume from its waiting state. Non-blocking activities are activities that are executed using a private thread. This kind of activity does not affect the engine's performance because when the activity is processing, it switches to its own private thread. When it is done with its process, it will be fetched by the engine thread that is currently running. 6. What are other factors that may affect the BW engine's performance? The other factors that may affect the BW engine's performance are the following: o If you are using enterprise messaging, then the number of incoming messages and the rate of its creation in the messaging server may affect the engine's performance. o If your application is connected to other third party applications, then the other applications efficiency in processing may also affect the engine's performance. o If your computer has other applications currently running or it is performing some update on your system, it will also affect the BW engine's performance. Using TIBCO makes developers very productive because it is easy to use and the development of applications and business processes takes a less amount of time. Furthermore, it adds other useful features and it can still be tuned up for better performance.

FAQS

RV

1. What is difference between synchronous and asynchronous communication

Synchronous communication is time driven and asynchronous is event driven. Synchronous communication expects reply or acknowledgement back and in asynchronous communication doesnt expect any results of its communication right away. In messaging perspective request/reply messaging is synchronous communication and publish/subscribe is asynchronous communication.

2. What is TCP and UDP

TCP - Transmission Control Protocol, UDP - User Datagram Protocol Differences 1. TCP can establish a Connection, UDP cannot; 2. TCP provides a stream of unlimited length, UDP sends small packets; 3. TCP guarantees that as long as you have a connection data sent will arrive at the destination, UDP provides no guaranteed delivery; 4. UDP is faster for sending small amounts of data since no connection Setup is required, the data can be sent in less time than it takes for TCP to establish a connection.

3. What is difference between multicasting and broadcasting Multicasting is messaging with many potential recipients.

Broadcasting is messaging into the network with all interested recipients

4. What is Rendezvous It is a framework/mechanism to integrate different applications running on distributed network on heterogeneous platforms.

5. What is the functionality of RV daemon Its a background process; RV enabled programs (programs which use RV api) depend on rvd for reliable and efficient network communication. The rvd completes the pathway between rendezvous program processes across the network. It sends information into the network receives information from the network and filters subject addressed messages.

6. Explain Reliable communication Provides a platform for integration of different application to establish communication. It is loosely coupled and is platform independent.

7. Explain Transport It is software mechanism for sending and delivering messages.

8. What are the various parameters in Network component and what do each one indicate Service, Network and Daemon Service parameter instructs the rvd to use UDP or PGM services whenever it conveys messages on this transport. Network parameter instructs the rvd to use a particular network for communication Daemon parameter indicates to which rvd the program has to connect

9. Explain Certified messaging registration process steps and confirmation Process Certified messaging offers greater certainty of delivery.-even when the processes and their network connections are unstable.

REGISTRATION.DISCOVERY REGISTRATION.REQUEST REGISTRATION.CERTIFIED (Certified delivery agreement) DELIVERY.CONFIRMED DELIVERY.COMPLETE

10. Explain Load balancing in Rendezvous, What are the various parameters in load balancing. In a producer/subscriber scenario when producer is sending messages faster than subscriber can consume, messages will be queued up with consumer and may be lost. To address this situation we can balance the load of the consumer by clones of the consumer program and balancing the load among the consumer instances. This is load balancing. Programs use distributed queues for certified delivery to a group of servers, in order to balance the load among the servers. Parameters Scheduler weight Heartbeat Interval Scheduler Activation Interval

11. Explain fault tolerance in Rendezvous Fault Tolerance in a network environment is characterized by rapid recovery from failures such as process termination, hardware failure and network disconnect. Rendezvous provides a mechanism to achieve the fault tolerance among the RV processes.

12. Explain about daemon and service parameters? Service parameter instructs the rvd to use UDP or PGM (Pragmatic General Multicast) services whenever it conveys messages on this transport. Daemon parameter indicates to which rvd the program has to connect

13. What is ledger file used in RV for? CM Transport keeps Ledger file to record information about every unresolved outbound certified message.

14. What protocol would RV use to communicate within a subnet? What about outside the subnet? UDP with in a subnet TCP out side subnet

15. In DQ how scheduler and worker communicate with each other? Why? (Which protocol) RV Messaging

In DQ, the scheduler receives messages and then passes on to the worker (active) member. The message is sent only to the worker that needs to receive it. Its a PTP and RV messaging.

16. How can U establish point-point communication in RV? Can be established using RPTP(Reliable point to point) protocol over a UDP channel

17. What does inbox mean? Inbox name specifies a destination that is unique to a particular process. Point-to-point delivery.

18. Is request/reply communication possible in RV? How? Yes, reply) Two P-T-P messages .(one for request,one for

19. What will happen when limit of a queue exceeds (how the event objects will be removed from a queue)? Sends an advisory QUEUE.LIMIT_EXCEEDED Queue dispatch calls remove the event objects at the head of a queue, and run its callback function. Callback function is a program code which responds to events-processing inbound messages.

20. What are the limit policies of a Queue in RV? Discard none, discard first, discard last, discard new.

21. What is the advisory message thrown by RV when the maximum limit of a queue exceeds? QUEUE.LIMIT_EXCEEDED

23. Is message loss possible in RV? When is it possible? Yes, In slow consume and fast producer scenario message lost will be possible.

24. How many types of advisory messages are there in RV? System Advisory, RVCM Advisory, Fault- tolerance Advisory.

25. What are different quality of services available in RV? RV reliable, RVCM, RVTx(Transaction)

26. How to handle slow consumers when publisher is publishing rapidly? Use a dispatcher - increase process instances to avoid overflow. Implement load balancing

27. How can u implement security in RV? Using SSL Protocol. Can be attained at 3 layers between rvd and services, in rvd, and between rvrd.

28. What are the scheduler parameters in DQ.

Weight, Heart beat interval, Activation Interval.

29. Scenario: A producer is producing messages at 100/min and consumer able to process only at the rate of 50/min, what is going to happen to other 50 messages? (underlying communication is RV reliable) Use a dispatcher- attain multithreading of process instances to avoid overflow.

30. What is TRDP? Why is it called reliable? Tibco Reliable data protocol.

30. What are different types of messages in RV? Rv reliable, RVCM.

31. Between AE schema and RV schema which one is preferred and why?

AE and Rv can interchangeably used . So No preference.

32. If rvd is down and a program has to send a message, how it sends Creating a transport object in the program invokes new rvd process.

33 If you do not want a message to go into network, how will you do it (there are two ways)? Creating a transport object with network parameter as 127.0.0.1 Sending a message with subject name as _LOCAL

33. What is the default queue and what is the maximum number of queues of a default queue? Is it configurable?

Upon invocation of an rv process a default Q is created. This Q lies the last in the Q sequence. A client can use this default Q or create its own Qs. No it is not configurable. A default Q is just one.

34. what is the difference between JMS messaging and RV messaging?

JMS messaging uses publish/subscribe messaging model while RV uses PTP message model protocol

RV messaging is a de-centralizing messaging/JMS centralized messaging

35.explain rv messaging, how does it work?

RV messaging provides creating messages in a universal format assign a subject name to the message and publish the message on to the network. Messages will travel over the network and reaches all the nodes in the network. RV provides RV enables subscribers to capture the message of interest and process it.

36.how does the rv publisher know that some rv subscription has gone down?(rvcm), and how it finds out that it has come up again? (if rvcm is being used) 37.explain how do you set up RVCMDQ? and how does it work ?

A producer is producing messages at 100/min and cosumer able to process only at the rate of 50/min, what is going to happen to other 50 messages? (underlying communication is RV reliable) hint ans: slow response advisory is thrown, oldest messages discarded depending on the destination settings. 38 A process group is on RVCMDQ, can that be made both load-balanced and fault-tolerant? hint: no, they are mutully exclusive semantics. 39 We have two process groups, each group contains 4 load-balanced processes (all on RVCMDQ), can we make these two groups behave as one fault tolerant group? how is that possible? hint: no, that is not possible. 40 In RV queues, how to change default discard options? what does it mean if we set it to 0? hint: limit=0/discard=none means infinite queue storage, otherwise you can set these options in RV API: limit=n/discard=first : n storage and older messages from the top of the queue are removed, limit=n/discard=last : n storage and messages removed from the back of the queue. 41 What is the main problem/issue with load balancing as in RVCMDQ

(ans: duplication occurs/non-completion of assigned tasks)? What are possible scenarios when this occurs? hint: 1. if the worker is slow, scheduler might re-assign the task to another worker resulting in duplication. 2. scheduler fails and the new scheduler reassigns incomplete tasks, resulting in duplication. Also non-completion of tasks can occur if a worker has complete time=0 and has accepted the task never to return. 42 How can we separate all communication in a test domain and a development domain using RV service parameters? hint: test domain components should use one rv service parameter and devel domain should use another. 43. What is RVRD for? how do we configure and use it? hint: RVRD is for routing messages published on a subject to machines on another subnet. There has to be one RVRD for each subject, and an RVRD pair installed one on each subnet. 44. How do you do load balancing for ADB adapters? hint: Use RVCMDQ to run more than one instance of a the adapter. Also you can specify batch processing of records (batch commit, instead of commiting each record individually). Also you can increase thread count ( but thats going to help only if you increase it from 4-8). 45. What is batch commit and what is time-out parameter there? hint: ??

How do achieve load balancing and fault tolerance in RV, JMS?

46.rv decoupling. Ans: usually sending data needs destination (listeners) information like the IP address,port numbers etc. using rv the message subject name is given so that the listeners who need the data will pick it up.

In addition to this subject name rv adds service parameters to know the kind of service like UDP or PGM.

Network parameters to indicate which network or type. Daemon para to send to listeners in a network or multiple networks.

47 situations were we use CM. ans: a) producer needs compulsory ack of the message. b) consumer cannot compromise on loosing messages.

48. situations were we cant use CM. ans: high data rate bcos CM occupies most of the band width.

49. contents or CM implementation.------ transport name+ledgerfile Ans: CM transport parameters: Subject name Service Network Daemon Ssl Cm name Preregister list Relay agent Ledger file Sync ledger Default time limit Require old message

Message format Stronge delivery feature main purpose of CM.

50. protocol used by rv. Ans: UDP. Protocol:

Path: c:\... File: rvd.exe Local port: listner IP address: sender Remote port: sender Protocol: UDP

51. What is rvcache?

The program rvcache stores data from recent messages, indexed by subject name, and automatically sends the cached data to new listeners. Given a set of one or more subject names, rvcache listens for messages addressed to those subjects. Each time it receives such a message, it stores the messages data content. When a client program queries for a cached subject, rvcache sends a reply message with the current cached value. The first time you run rvcache, you must configure its subjects and change its state to running. After that, rvcache reads the subject list from its file. Data stored in rvcache never expires. It remains in the cache until superseded or augmented by data from a new message on the same subject.

rvcache stores the data in program memory and in a disk file. 52. What are virtual circuits and smartsockets? A virtual circuit is an exclusive, monitored connection between two terminalseach of which is a virtual circuit transport object. The two terminals communicate exclusively with each other. They do not communicate with any other transport object. Each terminal can send messages to the other terminal. Messages arrive in the same order as the opposite terminal sent them. Each terminal monitors the connection to ascertain continuous correct operation. Smartsockets: Publish-subscribe for intelligent, streamlined one-to-many communications
http://www.staffware.com/resources/software/enterprise_backbone/smartsockets.pdf

53. What is the difference between virtual circuits and remote sockets?

54. What is rvtransaction?

When a group of messages are sent, even if one message is not delivered, all the messages are rolled back. RVTX support is deprecated from AE 5.1.

55. How would you know that a publisher and a subscriber are in cm mode?

Subscriber will be pre-registered with the publisher in a cm mode.

EMS

1. What are the destinations in EMS/JMS and their differences? Ans: Queues: point-point communication. Any number of producers and consumers can exist. Exclusive: only the first consumer who picks up the first message can take the rest of the messages (used if u want only one consumer). Non-exclusive: where any number of consumers can exist.used for load balancing. At any time and situation each message is taken by only one consumer.

Topics: publish-subscribe. Any number of publishers and subscribers can exist. Each message can be taken by any number of consumers (radio).

2. 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.

3. 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 doesnt 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.

4. How a consumer can connect to the new primary EMS server when the running primary server goes down? Ans: we can specify multiple URLS 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 URLS for the same server so that even the primary in one location is down it can connect to the primary of another location.

The URLS are usually comma separated in client config.

5. 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.

6. 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.

7. 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.

8. 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.

9. 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.

10. 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.

11. How flow control property functions?

12. What is the pre-fetch value? Ans: in order for reducing the clients 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.

13. What are different kinds of acknowledgement modes? Ans: DUPS_OK_ACKNOWLEDGE, for consumers that are tolerant of duplicate messages. AUTO_ACKNOWLEDGE, in which the session automatically acknowledges a clients receipt of a message. CLIENT_ACKNOWLEDGE, in which the client acknowledges the message by calling the messages acknowledge method. In no-acknowledge receipt mode, after the server sends a message to the client, all information regarding that message for that consumer is eliminated from the server. Therefore, there is no need for the client application to send an acknowledgement to the server about the received message. Not sending acknowledgements decreases the message traffic and saves time for the receiver, therefore allowing better utilization of system resources.

14. How many types of queues we can have in a server? Ans: exclusive and non-exclusive. Exclusive queues : only one consumer can take messages from here. Non-exclusive: any number of consumers can take messages. Used for load balancing.

15. How do we distinguish dynamic queues with static queues? Ans: dynamic queues have * before them.

16. What are the message storing mechanisms of queues? Ans: persistent and non-persistent. Persistent: messages are stored to external storage before sending. Non-persistent: not stored to any external storage. The information will not be available for retrieval.

17. What are types of subscribers we can have for topics? Explain them in detail. Ans: durable and non-durable subscribers. In durable subscriptions the messages are stored so that even if the subscriber fails and comes back the messages can be retrieved.

18. 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 system 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.

19. 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.

20. 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.

21. what is the structure of messages in JMS? Ans: header(needed),properties(optional),body(optional). Header parameters: JMS destination, JMS message mode,

21. 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

GENERAL 1. WHAT ARE TRANSACTION? THE BUSSINESS ACTIVITIES THAT CAN PARTICIPATE IN A

Ans: JDBC,JMS,EJB activities.

2. what are the types of transactions?

Ans: jdbc, Java transaction API (JTA) user transaction, XA transaction.

3. what is SOAP? 4. what is WSDL? 5. what are process variables? 6. what is the scope of process variables? 7. after the process deployment it will generate a command file what exactly it will do? 8. what is x-path builder? 9. what are smart mappers? Ans: Tibco bw uses smart mapers for look ups, cross referencing,configurable business rules.

6. 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.

7. What are multi-zone hops? This should have been multi-hop zone and not multi-zone hops Multi-hop zone is a group of servers connected by routes.

8. How do you configure multi-zone hops? 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 <properties> <name> url=<URL> zone_name=<zone_name> zone_type=1hop|mhop

9. 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.

ADAPTERS

1. How can u fine-tune an ADBAdapter? What are the different parameters that can be used? ans: a) we can use publish by value or publish by reference for high speed and datatype support like oracle long respectively. b) can use poller or alerter for frequent data changes and infrequent data changes respectively. c) adb.PollingInterval ,_ADB.DUPDECT.adapter_instance_name to do flow control and avoid duplication respectively Publish by Value Vs Publish by Reference: With Publish by Value, all specified columns in the source table are copied to the publishing table. Publishing by value is fast, but does not support some data types, for example Oracle LONG and LONG RAW. With Publish by Reference, only key column values are copied to the publishing table. The publish by reference feature allows you to publish data directly from the source table without first copying the data from the source table to a publishing table. A trigger, stored procedure, and publishing table are created, but the publishing table contains the necessary adapter fields and only the key fields of the source table. If no key column is defined in the database, a substitute non-key column must be defined to publish by reference. parameterscan be used

2. What are the quality of services we can have in adapter publishing services? ans: quality of services : a) RV: reliable,certified,transactional b) JMS: persistent, non persistent

3. What are the wire formats we can have in adapter publishing services ans: wire formats:

a) RV: active enterprise message,RV message,XML message. b)JMS: XML message

4. What are the objects, which will be created if you configure and save ADB adapter? Ans : Publishing table for source table, Trigger acts as a bridge between source and publishing table

5. Explain the internal functioning of ADP publication service? Ans : When we configure ADP publishing service it creates Publishing table for source table, Trigger acts as a bridge between source and publishing table. Whenever data is being inserted/updated/deleted from source table, it will be inserted into publishing table by means of trigger. ADB has another component called polling agent. Polling agent will be keep looking for new inserts into publishing table and if it finds any then converts the record in p table into the specified wire format and publishes on specified quality of service

6. Can we filter the records from publishing when they get updated in source table? (Data from all regions are coming into table but I want to publish only New York data) Ans : Yes By modifying the trigger we can only insert the New York data into publishing table

7. Can we limit the number of columns to be published from the source table? ans: yes, using the use? field in adapter publishing table tab. just uncheck the columns u dont want to use.

9. Can we publish parent and child table information by using single adapter configuration and how? ans: yes,

in the adapter publisher table tab create a parent table first by look up and then add the child table using the add child tab then click on the child table column to specify the foreign key than to establish a relatioship between the primary key of the parent abd the foreign key of the child go to the column in the child table and specify the primari key of the parent table. in the subscription service the destination table is created and the child table mapping tab will have the child table on the left mapped with the parent table on the right.

10. What is publish by value and publish by reference. Explain the pros and cons. ans: publish by value: in this type the changes in the source table are reflected in the p_ table and the data is taken from there. its used when high speed is required. it dosent not support datatypes like oracle long. publish by reference: in this type the data is directly taken from the source table where only the primary key will come from p_ table. it allows data types like oracle long. loss of changes in the source table can be lost bcos of the waiting time.(this can be avoided using alerter).

11. What are the types of message transfers in file adapters? ans: record transfer: to integrate file systems to TIBCO AE environment. simple file transfer: to transfer files to other TIBCO adapters.

12. What is read schema and write schema in file adapter. ans: read schema in the file adapter publisher config is used to define type of expected input. here we can use the delimited file type or the positional file type.

13. What is the difference between an ADBAdapter and JDBC palette activities? ans: using ADB we can only pick up the data from one database and put it in onother one. but using JDBC we can Query using query and manipulate data using update. like we can use select statements and insert and update statements to selective query and update. ADB adapters might be useful in scenarios where we have large amount of data.

14. What is the difference between a FileAdapter pallete and File palette activities? ans: in file activities the file poller cannot handle multi format data and record by record transfer. it takes care of particular format specified and does file transfer, where as file adapter can handle multiple formats and does record by record transfer. File Poller activity in file palette picks the the whole data together while file adapter picks the data record by record. File poller does not convert the data in to any other format while File adapter converts the data in to xml format. In file palette we have other activities such as write file, read file ,delete create and rename file activities which are not available in File adapter palette

15. What is the difference between XSD and DTD

DTD(Document type definition) is the earlier version of XSD. Both define the structure of XML documents. DTD does not comply with XML standards while XSD does. DTD cannot be used for complex XML documents while XSD can be used for complex documents.

16. If the reference to Schema changes in "Activity Input" does it through error, how do you correct it? ans: yes, and we have to correct the schema in the way the input expects it. 17. How do you copy the mappings of an activity to different process?

18. What happens when you create variables in "Process Data" area?

19. Where do we specify HTTP Port number? ans: in HTTP connection in the HTTP activities.

HAWK 1) what is HAWK? ans: monitering tool provided by the BW which provides rule base . rule bases are used to moniter and manage processes. they are used to moniter the log files,processes. and then notifies the error. monitering: is looking for the processes are up or down. managing: if a process do not run it will make it run.

BusinessWorks
1. How many processes typically you developed. ans: 50 2. ***Explain the processes flow of your latest project by including activities. ans: for various service implementation I designed processes using various BW activities like JMS Queue Receiver, XML Parser, 3. Which versions of BW you worked on? ans: 2.x and 5.2 4. What are the differences between the versions? ans: type deployment Name spaces 2.x 5.2

In 2.x deployment is done inHere deployment is done the designer using administrator tool Name spaces are prefixedNo tib in name spaces

with tib pallets Iterate-reset installation Extra pallets added At the end of each iterate theHere the output is reset after output is not reset each iteration Here all the components likeHere we will have to install BW,ADB,FILE etc come as aeach component separately package All files are .dat. we have toMulti format file are available convert these manually so that we do not have to convert the dat files

File type

5.

What are the activities you worked on? Ans: JMS queue receiver, confirm, checkpoint, XML parser, call process, JDBC update, SOAP, HTTP. write to log - widely used. Assign.

6.

What is the inspector activity does? Ans: the inspector activity is used to obtain the output of any activity or all the activities and process variables. Scenario: You can use the inspector activity to write the output of any activity or process variable in the current process. Activities and process variables in a subprocess are not available to the Inspector activity (but the output of a Call Process activity can be written using the Inspector activity). If you wish to obtain the output from one or more activities or process variables in a subprocess, place the Inspector activity in the process definition of the subprocess.

7.Can you tell me at least four starter activities and when they get executed? Ans: palette Active enterprise adapters Process starters Adapter subscriber, request response server When they get executed adapWhen ever a message comes into a destination

queue or network, listerns to a request from a adapter and sends a respose back to that adapter file File poller polls for any changes that occur in the file and with any change grabs the whole file. Starts a process on the time specified ex: before JDBC QUERY, starts a process on receiving of data from a notify activity. Starts a process based on a request from http server.

General activities

Timer, receive notification

http jms

http receiver

Jms queue receiver, jms topicStarts a process when ever subscriber a new message comes into the specified queue, starts a process when ever there is a new message in the specified topic. Receive mail The Receive Mail process starter polls a POP3 mail server for new mail. When new mail is detected and retrieved, the Receive Mail process starter starts a new process for the process definition it resides in and passes the mail data to the next activity in the process flow. The Rendezvous Subscriber process starter creates a process when a TIBCO Rendezvous message on the given subject is

mail

rv

Rv subscriber

received. rmi Rmi server The RMI Server process starter registers the specified remote object name with the specified registry server and then creates process instances to handle incoming requests for the object. The process definition acts as the implementation of the specified object. The SOAP Event Source process starter creates a process instance for incoming SOAP requests. SOAP is a standard protocol for invoking web services. This allows you to create a web service using process definitions. At runtime, a client can retrieve the WSDL file for a process containing this process starter using an HTTP request. Once the WSDL is retrieved, the client can perform a SOAP request to invoke the web service. tcp Tcp receiver The TCP Receiver process starter starts a new process when a client requests a TCP connection.

soap

Soap event source

7.

What is the purpose of JMS Queue receiver activity and Queue sender activity?

Ans: Starts a process when ever a new message comes into the specified queue. A queue sender activity sends messages into the specified queue.

8.

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. See TIBCO BusinessWorks Process Design Guide for more information about creating transactions that JMS activities can participate in.

9.

What is the check point activity and confirm activity? Ans: A checkpoint saves the current process data and state so that it can be recovered at a later time in the event of a failure. If a process engine fails, all process instances can be recovered and resume execution at the location of their last checkpoint in the process definition.

The Confirm activity confirms any confirmable messages received by the process instance. For example, if a process is started because of the receipt of an RVCM message, the Confirm activity can send a confirmation message to the publisher of the RVCM message

10. What happens if you use check point activity first and confirm next? ans:

In the case of confirmable messages (for example, a confirmable TIBCO Rendezvous or Adapter message is received), you must consider the consequences of performing a checkpoint before or after a Confirm activity. If the checkpoint is taken before the Confirm activity, then a crash occurs after a checkpoint but before a confirm, the original message is resent. In this case, the restarted process can no longer send the confirmation. However, a new process is started to handle the resent message, and you can implement your process to handle the restarted and new processes appropriately. If the checkpoint is taken after a Confirm activity, there is potential for a crash to occur after the Confirm but before the checkpoint. In this case, the message is confirmed and therefore not redelivered. The process instance is not restarted, because the crash occurred before the checkpoint. You must consider the type of processing your process definition performs to determine when a checkpoint is appropriate if your process definition receives confirmable messages.

11. What happens if you do vise-versa? Ans: read 10 question 12. What is JMS Queue Requestor does? Ans: 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.

13. 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. 14. What is the other JMS activity you would use to address the problem? Ans: Get jms queue message. This incorporates a message ID to identify the true message.

15. What are the activities you used to publish the messages from BW process to network on RV? Ans: publish rv message activity (along with the shared resource rv transport). 16. What is the transition in BW? Ans: to move the data from one activity to another or when conditions exist on the data. Like > 5000 or <3000 etc. 17. What are the different kinds of condition types you can have in transition? Explain Them Ans: Success Take this transition unconditionally. That is, always transition to the activity the transition points to, if the activity completes successfully. This is the default condition for transitions. Success condition with Specify a custom condition using XPath. If the activity completes successfully, and the condition you create evaluates to true, the transition is taken to the activity it points to. You can type in an XPath condition, and you can use the XPath formula builder to drag and drop XPath expressions and data into the condition. See Chapter 9, XPath for more information about specifying XPath conditions and using the XPath formula builder. Success if no Take this transition when the activity completes successfully, but only if no other matching transitions are taken. This is useful when multiple transitions with conditions are condition drawn to other activities. This condition type can be used to handle any cases not handled by the conditions on the other transitions. Error Take this transition if there is an error during processing of the activity.

18. What is group in BW? Ans: set of related avtivities. 19. What types of actions you can have in the group and explain them with examples. Ans: ans: group is a service to put together a set of activities to perform any of the following tasks: a) transaction mode: it is used to commit or roll back all the related activities when the assigned task is a success or a failure. usually when we use multiple JDBC updates we use this mode.

b) common error transition: in this mode we create a common error transition for a set of activities so that any error in that group can be recognised and logged. supposing we have a subprocess and we want to Log the error regarding this we will pull a generate arror from the subprocess and log it outside group. c) simple iterate loop: if we r getting a list of records and we want to update each record then we use this. d) repeat until true: supposing a situation where out of 50 records our interest is on one particular record we will specify the condition for that record and when the condition is true (i.e the record is fetched ) it stops iterating. e) repeat on error until true: for example we are not able to connect to a database because of error we will try to reconnect by repeating until the condition given is true. then we get out of the loop and then log f) Critical section groups are used to synchronize process instances so that only one process instance executes the grouped activities at any given time. Any concurrently running process instances that contain a corresponding critical section group wait until the process instance that is currently executing the critical section group completes. g) Pick first groups allow process execution to wait for one or more events. The first event that completes determines which transition to take to continue processing. For example, as part of an order-entry system, when an order is placed, a check is made to see if the order can be filled from stocked inventory or from returned merchandise. Whichever system returns the information first is used to fill the order. If neither system returns the information about available inventory, the order times out and cancels.

20. What is the transformation mechanism you use to transform input to out put. Ans: X-path. 21. What is XPATH? Ans: isa XML based path language used to navigate the XML document and manipulate the data . 22. What is the underlying technology of XPATH? Ans: XSLT : xml style sheet language transformation. 23. What are the XPath expressions you used in your transformations?

Ans: substring, concact, date/time, consistsof, exists, comparision. 24. What is XSD? Ans: XML schema definition. 25. What is name space in XSD?

Ans: Since element names in XML are not predefined, a name conflict will occur when two different documents use the same element names. So each element is given a unique namespace. 25. What are the BW activities, which deals with XML messages?
Ans: xml parser, xml render, xml transform

26. Do you know any thing about web services? Ans:The World Wide Web is more and more used for application to application communication. The programmatic interfaces made available are referred to as Web services. Webservices is a platform for communication among applications across the web. SOAP, UDDI and WSDL are the platform elements used by webservices to attain this.

27. Do you know how to implement web services with BW? Ans: Simple Object Access Protocol (SOAP) is a lightweight protocol for the exchange of information between web services. The SOAP palette allows you do the following:

create web services by using process definitions generate WSDL files for web service clients invoke one-way, request/reply web services use either HTTP or JMS as the transport for web services send or receive SOAP requests with attachments

RPC Vs Document types in SOAP :

The two primary models for invoking Web service methods are the RPC (remote procedure call) and the document-style messaging model. RPC messaging utilizes specific RPC coding conventions within the SOAP message in order to invoke a specific remote method. The

document style approach is much more flexible, allowing for any type of XML document associated with any XML schema.

Document style is preferred for interoperability because it uses loose coupling of methods and data. Rather than pass the data as arguments to a method call, which is tightly bound by data type, the document style allows for a wide range of data to be passed and interpreted by the server. In the purchase order example, a client could make a single, asynchronous call to the server and would receive an associated docu

28. If you want to implement a web server, what are the activities and resources you would use in your BW process? TIBCO BusinessWorks process definition can perform a SOAP request operation using the SOAP Request Reply activity TIBCO BusinessWorks can also act as a server that implements a web service through a process definition. The SOAP Event Source process starter defines the concrete WSDL file for the web service that any SOAP clients must retrieve in order to send a SOAP request to the service To create a web service, perform the following general procedure: 1. Create XSDs to define the input, output, and fault messages for the web service. 2. defines the Create a WSDL File resource that interface to the web service. 3. Create a process definition that performs the work of the web service. Use the SOAP Event Source process starter for this process definition. Use the SOAP Send Reply activity to return a reply or the SOAP Send Fault activity to return a fault to the client. 4. Create a process definition that retrieves the concrete WSDL file and sends it to web service clients that requests it. Use the HTTP Receiver process starter and the Retrieve Resources activity for this process definition.

29. What is Generate Error activity? What the applications of it (Where you can use it and what you can achieve by using it) Ans:This activity generates an error and causes an immediate transition to any error transitions. If there are no error transitions, the process instance halts execution. This activity is useful in a group or in a called process. If you would like to catch and raise your own error conditions, you can use this activity to do so.

30. How many types you can call a sub process from a process? Explain them. ANS: a) we can call a subprocess dynamically by doing process name dynamic override where we can use multiple subprocesses in the same calling process depending on a condition. It is an XPath formula specifying the name of the process to call. Use this field to dynamically determine which process to call when the process instance is running.

b) Normal calling where in the calling process a subprocess path is given in the process name field.

31. ***When you are mapping from input to out put, what happens if you map repeating element to non-repeating element? Ans: The mapping cannot happen as the input element will be highlighted in red indicating that the file name is not complete. A star on an element indicates repeating element. Filtering is necessary for mapping repeating element to non repeating element

32. ***Non-repeating element to repeating element and other two scenarios also. Ans: 33. What are the global variables and what are the uses of using global variable in your process. Ans: Are variables configured once can be used through out the project.

for example the queue we define initially has to be changed after deploying the project then we have to redeploy with the changed queue instead we can put it as a global variable so that the queue name can be changed in the global variable list . Similarly in the case of JNDI connections instead of changing and redeploying we change these kinds of values globally in the administrator.

34. What are the shared variables and process variables? Ans: Process variables: Process variables are data structures available to the activities in the process. You can define your own process variables and assign values to them in your process definition. Process variables are defined on the Process Variables tab of the Process Definition resource. And assigning values to these kind of variables is done using the assign activity. Shared variables: A Shared Variable resource allows you to share data across process instances. All process instances can read and update the data stored in a shared variable. This type of shared variable is useful if you wish to pass data across process instances or if you wish to make a common set of information available to all process instances. Get Variable activity can be used to get shared variables to be used in process. Critical groups and lock shared variable must be kept in order not to face any ambiguity as different process can try to update and access the same shared variable

A Job Shared Variable resource is similar to a Shared Variable, but its scope is limited to the current job 36.What are the activities you use to access the values in shared variables and process variables? Ans: Shared variables: a) Get shared variable activity: The Get Shared Variable activity retrieves the current value of a Shared Variable or Job Shared Variable resource. If you are using this activity to retrieve the value of a Shared Variable resource, you may want to use a critical section group to ensure that no other process instances are altering the value of the shared variable at the same time. b) A Job Shared Variable shared configuration resource allows you to store data for use by each process instance. c) shared variable activity : A Shared Variable resource allows you to share data across process instances. All process instances can read and update the data stored in a shared variable.

d) set shared variables activity is used to set a value to the variable. Process variables: do not need any activities to access process variables bcos they reflect automatically when they are created.

BW Admin
Most of the times interviewer will ask you to explain the complete deployment process from designing of the process from Designer to deploying by using admin tool. Question about max job, activation limit. Questions like what happens if we undeploy an application while the instances are running

Kill services that havent stopped after (seconds) Specify the amount of time to wait before stopping service instances or process engines that have not stopped. The default is zero, meaning no time is allowed for a graceful shutdown, if previously set for a process engine.

Questions on FT mode and activation limit and heartbeats and other related concepts.

FT Group Settings Appears only if a TIBCO BusinessWorks process is assigned to additional machines. Note that TIBCO Adapter services cannot be assigned fault tolerant options.

Run Fault Tolerant If selected, the selected service instances will run in fault tolerant mode. Heartbeat Interval (ms) The master engine of a fault-tolerant group broadcasts heartbeat messages to inform the other group members that it is still active. The heartbeat interval determines the time (in milliseconds) between heartbeat messages. In the event if one process engine fails, another engine detects the stop

in the masters heartbeat and resumes operation in place of the other engine. All process starters are restarted on the secondary, and services are restarted to the state of their last checkpoint. Activation Interval (ms) A standard TIBCO Rendezvous fault tolerant parameter, documented in the TIBCO Rendezvous Concepts chapter 15, Developing Fault Tolerant Programs.

Secondary process engines track heartbeat messages sent from the master engine. This field specifies the amount of time to expire since the last heartbeat from the master before the secondary restarts the process starters and process engines. The Heartbeat Interval should be smaller than the Preparation Interval, which should be smaller than the Activation interval. It is recommended that Activation Interval be slightly over 2 heartbeats.

Preparation Interval (ms) A standard TIBCO Rendezvous fault tolerant parameter, documented in the TIBCO Rendezvous Concepts chapter 15 Developing Fault Tolerant Programs).

When a master engine resumes operation, the secondary engine shuts down and returns to standby mode. For some situations, it may be necessary to ensure that the secondary engine has completely shut down before the master engine resumes operation. This field is used to specify a delay before the master engine restarts. When the time since the last heartbeat from an active member exceeds this value, the ranking inactive member will receive a "hint" so that it can prepare for activation. The Heartbeat Interval should be smaller than the Preparation Interval, which should be smaller than the Activation interval

Question on user roles and linking BW admin with LDAP (If you claim the experience)

Max Jobs and Activation Limit

Process instances typically remain in memory as long as they are executing an activity. If the process instance is waiting for an incoming event (for example, a Wait for Adapter Message activity), the process instance can be paged out to disk and resumed later after the event arrives. New process instances are paged out to disk until there is available memory and resources to accommodate them

The TIBCO BusinessWorks Process Configurations dialog, accessed by selecting the process archive in the Configuration Builder, allows you to specify the following:

Max Jobs Specifies the maximum number of process instances that can concurrently be loaded into memory. Activation Limit Specifies that once a process instance is loaded, it must remain in memory until it completes. Max Jobs (Flow Limit) Specifies the maximum number of currently running process instance to start before suspending the process starter.

Business Connect:

Another Protocol used in BC

EzComm is a set of COM objects that allows you to instantly connect to another computer on the Internet or your local network and begin sending and receiving messages. It takes all of the low-level work out of establishing a TCP/IP sockets connection and defining and implementing a messaging protocol. With this COM DLL at both ends of the connection, you can begin sending and receiving text or binary data messages with only a few lines of code. You can even send messages through a webserver with HTTP tunnelling. And it has built-in key-encryption and compression. Use EzComm to exchange XML documents or write your own Internet chat or instant messaging program. Download includes full C++ and VB samples

OVER VIEW OF EAI

Types of Integration

Data Level

o o

Technique of moving data between data stores E.g.: Querying data from one or more table and writing to one or more tables

Method Level

o o

Sharing methods existing in applications E.g.: Accessing methods exposed in EJB/Application Server

Application Interface Level

o o

Use the APIs provided by custom or packaged applications E.g.: SAP, PeopleSoft and BAAN

The Middleware

A software that facilitates communication between two or more software systems Point-to-Point integration creates a spaghetti of connections between applications Accomplish integration using a Middleware Each application is an island of information

Middleware Advantages

Organizes Integration Hides complexities of the source and target systems Eases the maintenance and accommodates change seamlessly Creates a common communication protocol

Middleware Components

Message o A unit of data, which may or may not contain header or additional information o Messages usually have a structure (a schema) and content (data) Message Queue o Where the message is stored/persisted for a certain amount of time (Ideally till the subscriber receives it) Publisher o Publishes the message from an application o Usually done with the help of the applications API

Subscriber o Subscribes the message and sends it to the application using API or to the database

Middleware Features

Facilitate Asynchronous and Synchronous Communication Asynchronous Communication o An application or process, makes a call or passes data to another application and continues its process without waiting for a reply from the called application o Disconnects after the call is made Synchronous Communication o An application or process, makes a call or passes data to another application and waits for reply o Connection is not terminated until a reply received or timed out Publish o The Applications that makes the call or sending the data is said to be publishing data o Hence it is called a Publisher Subscribe o An Applications that receives the data is subscribing to that data

And is called a Subscriber

Publisher - Subscriber

Publish Subscribe is usually an Asynchronous communication

Request Reply

Is achieved through synchronous communication Publisher makes a Request to Subscriber and waits for Reply Times-out when there is no-reply in a pre-defined time

Addressing Mode

o o o

Unicast Multicast Broadcast

Unicast

o o o

One Publisher, publishes a message/data to one known Subscriber If the message/data needs to be sent to another subscriber, the data has to be sent again When the subscriber does not receive the data then it is sent again , until it receives the data

Multicast

o o

One publisher publishes a message/data to two or more known subscribers When a subscriber does not receive the message, it is sent again, until it receives the data

Broadcast

o o

Publish messages to more than one known/unknown subscribers When the subscriber misses the message, it is lost not guaranteed

Middleware Types of Models

Logical Middleware Model o Point-to-Point Ideal for two applications Example: RPCs

Not fit for more than 2 applications Many-to-Many Links many applications to many other applications Is the best fit for EAI

Middleware Different Models

Physical Middleware Model

o o o

Bus Model Hub-Spoke Model Multi-Hub Model

Hub-Spoke Model

Is a Centralized configuration The Hub acts like a server All messages flow through the hub All messages are queued in the server Communication Protocol is Publisher-toServer & Server-to-Subscriber E.g.: WebMethods

Bus Model

Decentralized Architecture Network bus acts as the message carrier Truly Distributed Middleware Communication pattern is peer-to-peer Messages are queued by Publishers E.g.: TIBCO

Multi-Hub Model

Multiple Hubs are linked together Load Sharing Provide Fail-safe service Complex to configure and maintain

Messaging Standards

The messaging standards are used by EAI and B2B integration. In fact, it is quite predominant in B2B integrations

Following are some of the widely used standards

o o o o o o

XML Extensible Markup Language EDI - Electronic Data Interchange RosettaNet Standards for Electronic Industry IDOCs Intermediate Document used by SAP OMG Open Management Group Standards OAG Open Applications Group Standards

Summary

Integration is essential for exchanging data between Applications and external enterprises Middleware delivers the following o Messaging Services o Message Routing o Rules Engine o Middleware Models o Hub and Spoke o Bus o Multi-hub o Process Automation

Business Works What is Business Works

TIBCO Business Works is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration projects. Components of BW TIBCO Designer GUI BW Engine TIBCO Administrator TRA TIBCO Admin GUI What is TIBCO Domain A set of hardware and software components which can be monitored by the TIBCO Admin Server Various Components of TIBCO DOMAIN TIBCO Administration Server Machines User and Access Information Software Components Projects Monitoring and Managing Domains

View, add, delete and assign privileges Monitor and mange the machines in the domain. Monitor and manage deployments. This includes viewing, starting, or stopping the individual components, viewing process instances, and configuring traces which can then be exported to a file

Integrated Development Environment At design time, you use TIBCO Designer to configure services, such as adapters, and lay out your business processes. You can use the TIBCO Designer test mode to debug adapter configurations and process definitions. You can use the TIBCO Designer deployment palettes to assign process engines to individual machines. You deploy the project, which means scripts and other information about the processes to be run are sent to the individual machines. Finally, you can start the processes, which are waiting to be started, using the TIBCO Administrator GUI. You can then monitor and manage all processes using TIBCO Administrator

BW Usage scenario

Supported Elements Messaging Adapters Business Process Modeling Schema and Data Mapping Deployment Configuration and Management Run-Time Management and Monitoring Messaging Guaranteed and Fault tolerant Distributed. High Throughput Scalable Adapter Features Easy Configuration With Design-Time Adapter Easy Inclusion in Business Processes Easy Deployment and Monitoring Business Process Modeling Configuration of adapter services. A complete set of commonly used activities such as File Read, Write, and Create, a set of email activities, timers, FTP activities, etc.

A transformation tool that lets you map the output of one activity to the input of subsequent activities. Conditional transitions supporting XPath syntax. Grouping of activities. An easy-to-use design-time process debugger.

Simple Process

Other Components End-to-end business process monitoring.

Track components such as adapter services or process engines. Create customized logs that could include number of jobs, throughput, and so on.

Systems management.

Monitor system performance. Monitor processes, system health, and network status. Receive alerts if parts of the project are overloaded or if a failure occurred. Automatically restart failed processes and send alerts.

Tracing.

Specify filters for tracing. View log files for all machines remotely in one place. User authorization and authentication.

BW example

Admin Server

Enforce security for the domain. TIBCO Business Works supports both authentication and authorization of users that want view access or full access to the run-time components. Manage storage for server-based projects. Manage registration, that is, add deployed projects and machines to a domain. Send appropriate information to each machine's run-time agent when a project is deployed, and pick up alerts sent by those run-time agents.

TRA

Supplies the runtime environment, that is, all shared libraries including third-party libraries. Supplies an agent that is running in the background on each machine. The agent is responsible for starting and stopping processes that run on a machine according to the deployment information. The agent monitors the machine. That information is then visible via TIBCO Administrator.

BW interactions

Install time interactions

Advantages of BW

Short Deployment cycle Scalability and extensibility Ease of Use TIBCO Designer 5.X

Introduction:

Provides an easy to use graphical user interface Used for configuration of TIBCO products o configure adapters using a drag and drop interface o Save the adapter configuration

o Configure Business Works processes o Import Export resources o Manage multi-user projects Conversion o To convert 4.x repos to 5.x and vice versa o To convert MultiFile Projects to dat files and vice versa Palettes o TIBCO products which have a GUI for configuration, included as paletted in designer.

Starting TIBCO Designer: Windows

Click Start>Programs>Tibco>TIBCO Designer>TIBCO Designer 5.1 Double click on the designer.exe in the <TIBCO_HOME>\designer\5.1\bin directory Run <TIBCO_HOME>\designer\5.1\bin\designer.exe from the command prompt

UNIX

Navigate to the <TIBCO_HOME>/designer/5.1/bin directory. Type ./designer

Note: <TIBCO_HOME> refers to the path where TIBCO products have been installed Start up options Project Tab

New empty project to create a project from scratch

From template To create a project with an existing template

Open Existing Project

Reopen Project To open projects that have been recently worked with

Delete Project

Administration Tab

Features provided by the admin tab:

Convert DAT to VC files Convert Files to DAT Configure preferences o General options o Views o References o Others o XML Editing Configure Runtime o Palette path, Class Path, User Directory & Heap Size can be specified

Main Window The Designer main window has these components :

Menu bar and menus

Tool bar icons Four panels (starting in the top left corner and continuing clockwise):

Project panel Design panel Configuration panel Palette panel Designer Panels

Projects

A project is a collection of resources. Represented by the top-level folder in the project panel. This top-level Folder s name corresponds to the project name. Each new TIBCO Designer window contains one and only one project.

Resources

The components of a project. Can be complex and contain other resources Examples: Adapter configurations, BW processes.

Project Structure

When you save a project, TIBCO Designer creates a hierarchy of folders and files in the location you choose for the project. Each top level resource corresponds to a file in a local-file system.

Using a Version Control System

Multi-file projects support the use of different version control systems. The Projects are stored as Version Control(VC) files. VC files have a folder structure. Individual Folders can be accessed /modified . No Impact on other components of the project. The following version control systems are supported: o Perforce o File sharing o Microsoft Visual Source Safe

Palettes

Each TIBCO application you install adds one or more palettes to TIBCO Designer during installation Palettes provide access to resources Drag-and-drop resources from the palette panel into the design panel to add them to your project TIBCO Designer contains a number of native palettes

Global Variables Provide an easy way to set default values for use throughout the project

Click on the Global Variables tab to configure the Global Variables.

To create a new global variable

o o o o

Click on Add new variable/variable group Icon Specify a name Assign a value Press Enter

The global variable is now displayed in the global variables list.

Variables can also be configured to be specified on a per-deployment or a per-service basis.

Global Variables

To use the global variable in the fields of a resource, enter the variable name surrounded by %% on both sides Most projects define some standard variables, but you may define any variables you need.

AESchema

TIBCO applications use schema data to describe the data structure used by the application. Applications use schema to describe the data a particular subscriber or publisher receives from or publishes to TIBCO Messaging. TIBCO Designer is used to define schema data for a project. The schema can then be used by all resources in the project.

Import / Export of projects


The project saved as a local file system cannot be used by the adapters. It is mainly used during the development phase. The project has to be exported as a local File or a server based Repository. You can only run an adapter if it has been saved as a .dat file. The entire project or individual resources can be exported / imported. Validating projects

Before you save a project, it is critical that you validate it. TIBCO Designer includes reference-checking and other validation facilities that allow you to make sure a project is internally consistent. This is essential if you intend to run the project, hand it to another user, etc. To validate a resource o select the resource o then choose Resources > Validate Resource from the menu bar. To validate all resources in the project o Choose Project > Validate Project for deployment.

Configuring an adapter instance

To add an adapter instance resource to the project: o Left-click a resource in the palette panel and drag and release it in the design panel. o Right-click a resource > Add this to project in the Pop-up Window

Double-click the adapter instance in the project tree panel. The two high level folders visible are: o Adapter Services o Advanced

The next slide shows the adapter instance which has been dragged and dropped

Adapter Instance

Tabs for Adapter Instance

Some Common tabs in the configuration panel for an instance are:

Configuration Provide the name of adapter instance Associate Message Filters if any Logging To specify the types of messages (info, debug, warning, error) to be logged To customize the Log file name To Log to standard I/O Startup To provide startup banner State at startup Monitoring To customize the Micro agents Other tabs include Connection, Adapter Services etc

o o

Configuring Services

Double-click the Adapter Services folder to open it. (The available resources now display in the palette panel) Drag an adapter service resource from the palette panel into the design panel The configuration panel is updated to allow you to configure the service. Click through the tabs and apply configuration details to configure the resource Save the project, the resource is saved and can then be used at run-time

Adapter Services

Adapter Services Folder

Displays services supplied by the adapter (publication, subscription, request response, request-response invocation services)

Advanced Folder

Contains resources that are created by TIBCO Designer while the adapter is configured For example, each time a service is added to an adapter, a session and endpoint are created

Other Common resources include Advisories, Log Sinks, Timers, Transaction Controls and Metadata URLs.

Adapter Service Tabs

TIB/Rendezvous (RV) Concepts

Enables exchange of data among applications across a network. RV software supports many hardware and software platforms. Inter-operable across different hardware/software platforms.

The components of RV Two main components TIB/Rendezvous daemon

runs on each participating computer on your network All information that travels between program processes passes through the Rendezvous daemon as the information enters and exits host computers The daemon also passes information between program processes running on the same host TIB/Rendezvous programming language interface (API)

Rendezvous software includes several programming language interfaces efficient, easy to use, and compatible with most other libraries (including window systems) Features

Decoupling and Data Independence

Rendezvous self-describing data messages promote data independence producers and consumers of data can communicate even if they do not share the same internal representations for data Communicating programs can run on different hardware architectures, even though they use different bit order, byte alignment or numeric representations Location Transparency

the messaging is subject based the Sender need not know the listener's location (IP/network address) and vice versa You can dynamically add, remove and modify components of a distributed system without affecting other components Reliable Delivery

Rendezvous software takes care of segmenting and recombining large messages, acknowledging packet receipt, retransmitting lost packets, and arranging packets in the correct order Benefits of Programming with TIB/Rendezvous Software Benefits during Application Development:

Eliminates the need for applications to locate clients or determine network addresses. Simplifies the development of distributed application systems by hiding the networking details. Makes it easy to develop resilient systems - redundant data producers are transparent to consumers.

(A producer is any application that sends data. A consumer is any application that receives data.)

Benefits during Application Use

Can publish broadcast messages to distribute information quickly and reliably to many consumers. Can use request/reply interactions, such as queries or transactions. TIB/Rendezvous applications are location independent, and port easily between platforms.

Benefits as Applications Evolve

Maintainable Scalable Longer useful lifetimes Portable

How TIB/Rendezvous Software Works with Your Application

TIB/Rendezvous Daemon

Runs as background process (rvd) Takes care of Network details/communication Data transport, Packet ordering, receipt acknowledgment, retransmission requests, and dispatching information to the correct application processes Invisible to the applications that depend upon it.

Interactions Between Applications

Publish/subscribe interactions, such as distribution of information to multiple recipients. Request/reply interactions, such as queries or transactions to individual services.

Publish/Subscribe Interactions

These interactions are driven by events A publisher makes information available for general distribution. Communication is in one direction (publisher to subscribers), and often one-to-many. The complete interaction consists of one broadcast message, published once, and received by all subscribers.

Publish/Subscribe Interactions (examples)

Securities data feed handlers publish the latest stock prices to hundreds of traders on a trading floor simultaneously. Materials movement systems distribute data to various materials handlers, controllers and tracking systems on a factory floor. Inventory levels flow continuously to accounting, purchasing, marketing and other departments in a retail store. A bug tracking database immediately sends bug reports and updates to all personnel interested in a particular project. A master database publishes updates to a set of internet mirrors.

Request/Reply Interactions

Demand for data drives request/reply interactions. A client requests data from a server, the server computes an individual response and returns it to the client. The complete interaction consist of two point-to-point messages-a request and a reply.

Request/Reply Interactions(examples)

Transaction processing (as in ATM banking). Database query (with a remote DBMS). Factory equipment control.

Points to remember

A producer does not send data until a consumer makes a request. Each program sends its message to a specific inbox within the other program. The requesting consumer listens until it receives the reply, and then stops listening

Subject Names

Each message has a Subject Name. A subject name is a character string that specifies the destination(s) of a message. Subject Name can also describe the message content. Sending and receiving applications must agree upon a subject name Subject-based addressing technology enables anonymous messaging have the freedom (and the responsibility) to establish conventions for using subject names Subject names consist of one or more elements separated by periods. The elements can be used to implement a subject name hierarchy that reflects the structure of information in an application system.

Subject Names (examples)

Valid Names

NEWS.LOCAL.POLITICS.CITY_COUNCIL NEWS.NATIONAL.ARTS.MOVIES.REVIEWS CHAT.MRKTG.NEW_PRODUCTS CHAT.DEVELOPMENT.BIG_PROJECT.DESIGN News.Sports.Baseball finance This.long.subject_name.is.valid.even.though.quite.uninformative Invalid Names

News..Natural_Disasters.Flood (null element) WRONG. (null element) .TRIPLE.WRONG.. (three null elements) Subject Names (examples)

Max 500 chars Can contains multiple elements Case Sensitive Can contain up to 100 elements Each element max chars - 255

Some issues with elements

For better performance use

less no of elements (4 or 5) less no of chars in an element (not > 50) Make them meaningful Develop conventions for clarity

Wildcards

* - One element > - Any number of elements Listening on wildcards is okay (take care) Never publish on wildcards

Reserved elements

The following elements are reserved. Do not use them.

_INBOX _RV _LOCAL _RVCM _RVFT Quality of Service(Transport)

Reliable Messaging Certified Messaging Distributed Queue

Reliable Messaging

Minimal network overhead beyond the message itself. No file storage overhead. Rendezvous daemons inform programs when data is lost. No information about the lost data is available. Rvd retains outbound messages for 60 seconds. 60 seconds, or Rvd process terminationwhichever is first.

Certified Messaging

Offers greater certainty of deliveryeven in situations where processes and their network connections are unstable.

FEATURES

Certainty Maintains Order Ledger Recording Graceful Degradation From certified to reliable Certified Messaging - Benefits

Individual confirmation of delivery for each message Order of messages is maintained Delivery even in case of intermittent physical network connections

Limitation Not Recommended for High Data rates.

Distributed Queue

Certified Delivery Behavior Group of cooperating transport objects, each in a separate process All groups members listen on the same subject Members share same CMQ name Senders are not group members Member RolesWorker and Scheduler Inside the group, the member acting as scheduler assigns each task message to exactly one of the other members Load Balancing

Distributed Queue - Architecture

Fault Tolerance

Helps achieve fault tolerance by coordinating a group of redundant processes Some processes actively fulfill the tasks of the program, while other processes wait in readiness When one of the active processes fails, another process assumes active duty.

Fault Tolerance Vs Distributed Queue

Fault tolerance requires that every member of a fault tolerance group receive each message. each message to a distributed queue group is received by exactly one worker in the group

A program cannot simultaneously be a member of a fault tolerance group and a member of a distributed queue Transports

Applications create Transports with RV daemon process Transport Parameters

Service Network Daemon Service

A UDP port number Default = 7500 (Can be modified by Sys admin) Communication across networks

As a direct result, services divide the network into logical partitions called service groups. Each session belongs to a single service group. A session can communicate only with other sessions in the same service group. To communicate with more than one service group, applications must initialize more than one session.

Network

Only one network card for your machine

You dont need to worry about this parameter Otherwise, specify the IP address or host name Daemon

Specifies the rvd client socket TCP port # Default 7500 If you want to connect to an rvd on another machine . Use it along with Host name or IP address Ex:

-daemon tcp:8000 (local) -daemon tcp:itl-pc-3424:8000 (remote) Fields in Rv Message

TIB/Rendezvous programs exchange self-describing data. Each item of selfdescribing data consists of four parts: Data-the data itself. Type-an indicator to manipulate and interpret the data as an integer, a string, a composite message, or other datatype. Size-the number of bytes that the data occupies. Name- the name of a field within a composite message

Basics of JMS JMS is a specification that defines a set of interfaces and associated semantics, which allow applications written in Java to access the services of any JMS compliant Message MOM product."

Originally developed(by Sun) to provide a standard java interface to legacy MOMs like IBM and Tibco.

Specification for message passing among distributed s/w components.

JMS is only useful if there are any compliant MOMs

Eg:MQSeries from IBM, SonicMQ from Progress Software, FioranoMQ from Fiorano, TIBCO etc "JMS is an API used to access the facilities of a MOM from a Java application.

Frees from security burdens as JMS Server provides security through administered objects

Enterprise Java Beans can use JMS for message passing among beans.

Why JMS ?

Types of Messaging

Point To Point Uses queues the messages are in a queue, waiting to be retrieved. almost parallel to e-mailing

Publish / Subscribe Uses topics Message subscribers receive messages only when they are active, and they have subscribed to the topic on which the message was sent. Therefore, there is a time dependency. Can be avoided if durable subscribers are used.

(TopicSubscriber subscriber = session.createDurableSubscriber(topic,durableName);) Message Delivery Modes

Persistent: at-most-once. -Performance

Can lose the message but must not deliver it more than once.

Non-Persistent: once-and-only-once. -Reliability

must not allow the message to be lost and it must not deliver it more than once. Persistence != Reliability

Delivery mode only covers the transport of the message to its destination.

Retention of a message at the destination until its receipt is acknowledged is not guaranteed by a persistent delivery mode.

TIBCO JMS - Features

Support for both queue and publish/subscribe APIs Fully-compliant with the JMS specification C-based server process for optimum performance Lightweight pure-Java client library for maximum compatibility Full authorization and access control Queue and subscriber administration All extensions made without changes to API, so your programs retain their standardization Seamless bi-directional connectivity with TIBCO Rendezvous Interoperability with all of TIBCO's EAI, B2B Integration, Portal and BPM solutions

TIB JMS Server

Functions as an intermediary to handle message passing among clients.

C-based server process for optimum performance

Client isnt burdened to monitor the receiving client,network failure etc.

Transparently handles network-related issues like reliable delivery which involves transaction processing and/or persistent message storage.

Administration Tool

Helps to create topics and queues

To add security features etc.

Some executable commands: add connect exit info addprop create grant purge autocommit delete revoke remove commit disconnect show shutdown

Messaging Implementation

Q: Describe a scenario when duplicate messages can come

Ans: In case of RVCM messages, acknowledgement might get lost or was not sent as process engine crashed. However process data was check pointed. Publisher resends the message. Q: How is duplicate detection performed? Ans: Duplicate messages should be detected and discarded to avoid processing the same event more than once. Duplicate detection is performed when a process instance executes its first Checkpoint activity. You must specify a value for the duplicateKey element in the Checkpoint activity input schema. This value should be some unique key contained in the event data that starts the process. For example, the orderID value is unique for all new orders. The following describes the procedure for duplicate detection by the process engine: 1. An incoming message is received and a process instance is created.

2. Activities in the process instance are executed until the first Checkpoint activity is
reached. The Checkpoint activity has a value specified for the duplicateKey input element.

3. The process engine checks the current list of duplicateKey values for a matching
value.

a. If no process instance has stored the given duplicateKey value, the process
engine stores the value and completes the Checkpoint activity.

b. If another process instance has already stored the given duplicateKey value,
the process engine terminates the process and throws a DuplicateException.

4. Once a process engine stores a duplicateKey value and performs the Checkpoint for
a process instance, no other Checkpoint activities in the same process instance can be used to store a different duplicateKey value

Q:What are the deployment tools available for command line scripting? Ans: buildear and AppManage. Buildear can build an ear file . You need to specify path to enterprise archive in designer, path to designer repository and path to the new archive to be created. AppManage can produce a deployment config file and can be used to upload the ear file and config file into the administrator server. It can be used to do various things like deploying on multiple servers, create config files for already deployed components which can be used to deploy them on other environments, delete a component from server etc. Q:What are the two ways of ensuring that process instances run sequentially in the order of their creation? Ans: All process starters allow you to specify a sequencing key. All the process instances with the same value for this key will be executed in sequence, however any processes with different values for this key can still execute concurrently. Second way of ensuring this is that administrator allows you to configure how many process instances can live in memory and maximum number of concurrently running processes. By setting these configurations also you can ensure the same. However first message is preferable, second should be used only when you cannot change the code or you have to do it at deployment time.

Q: What are the locally defined and globally defined schema elements when defining a schema? Sol: XML Schema elements can be declared locally or globally. Local elements exist within the context of their parent element only. Accordingly, you could have a local element named title that appears within a book element and another local element named title that appears within a mortgage element. Global elements are declared such that they can be referenced within any content model. All global elements must have unique names. Q: Name some of the headers in a JMS messages and what are the headers fields filled by a client (sender/publisher). Sol: JMSMessageId, JMSReplyTo, JMSCorrelationId, JMSRedelivered, JMSExpiration, JMSType. There are 10 of them. Q: When a process is suspended (e.g by checking Suspend if still error option in case of repeat on error until true group), how can you configure a automatic action to be taken. (note this can be done as part of some deployment configuration). Sol: This is not complete answer. In case of repeat on error until true group group, resuming the process instance, it will resume before the repeat on error until true group group i.e. whole group will be executed again and all process instances will be reset as if it was never executed before. Q: What are different types of variables in BW? Ans: Global Variables, Process Variables, Shared Variables. Q: What are the types of process variables? Ans: Pre-defined process variables, user-defined process variables, error process variables, output process variables. Q: what are the two types of predefined process variables: Ans: $_globalVariables, $_processContext., $_error Q: what type of information is stored in $_processContext predefined process variables and names a few of them: Ans: These type of variables store information like process id, project name, whether the process was started from a checkpoint etc. Few of the names are: ProcessID, ProjectName, RestartedFromCheckpoint, EngineName, CustomInfo, TrackingInfo. Q: Rules for global variables? Ans: Only global variables which has Deployment option checked and only those who follow the XML naming rules (e.g. % cannot be in the name) are shown in the $_globalVariables. Q: How error process variables values are are shown? Ans: $_error contain the general error information and $_error_<Activity Name> is also produced sometimes. Q: Some important points about shared variables: Ans: Job shared variables do not have the persistent and multi-engine options. If many process instances share the Shared Variables in the same process engine, then if persistent field is checked, value of shared variable can be persisted in file system or database depending upon how process engine is configured. However If multi-engine option

is selected then persistent is by default and it has to be persisted in a database i.e. all process engine should use the same database for storage. Note that sharing Shared variables among multiple process engine is only possible in case all process engines are part of same deployment and part of same load-balancing group. Q: what are the new features in b/w 5.4 as compared to 5.2 Ans: There are two more types of groups namely while true and if. There are no Policy and Service palettes in 5.2. In General Activity pallette, there are 4 more quite useful activities: Rethrow, Catch, CustomActivity and Notification Timeout. Administrator can be configured to use rv, http/https or ems as transport for inter-domain communication, this was not possible prior to tra5.3 Q: What are the modules in the administrator? Ans: User Management, Resource Management, Application Management. Q: In application management module, when you click on an application, its configuration panel is presented in the right pane. What is displayed in this panel and what can you configure in each of them? Ans: Configuration panel shows three things in the form of a tree in the following order: Application Service ServiceInstance By clicking on application, one can change the global variable values. By clicking on Service, one can configure the monitoring options. You can add the service to more machines in the administrator domain. By clicking on ServiceInstance, one can configure logging, whether to run as an instance or as a windows service and shutdown options. You can set various jvm options like classpath, memory etc. Q: What are things that can be done using DomainUtility? Ans: Create or delete domains, add/remove a machine into a domain, upgrade administrator domains, manage administrator servers, add/remove administrator plugins like EMS/servlet engine. Q: What is the difference between hawk monitoring from administrator and hawk console? Ans: If you deploy a hawk rulebase (*.hrb file) from administrator then it is saved in the TIBCO_TRA_DOMAIN_HOME\domain-name\rulebase directory of the target machine. If the original rulebase is changed, it must be reloaded into the configuration and application must be redeployed. This seems to be disadvantage and may be with every new release, rulebases will have to be configured again. Q: What is the benefit of using database as BW storage? Ans: a) If using database as storage for bw, process engines (assuming (and they should be as otherwise it does not make sense for them to be in fault tolerance) in a fault-tolerance group can restart the process instances from their last check-pointed state. Second, using database, wait and notify activities can pass data between processes/services running on different machines. If BW is not using database but a filesystem for its storage then they cannot communicate across machine.

Q: How are tables for BW storage created in a database? Ans: Either you can create them manually or they can be created automatically when you deploy an application after choosing database as the storage (in the advance tab of a service). Q: How do you control the execution of process instances during deployment? Ans: Using Max job (in memory) and Flow Limit (max jobs in memory + paging) are the two fields which can be used to control the execution of process instances. Paging involves some overheads so if system has enough resources then set the Max Job to 0; this allows the process engine to create unlimited number of process instances without paging. When the flow limit is reached, process started is suspended and no more requests are accepted. You should consider the kind of activity the process starter is as while configuring these values. In case of http receiver, client may not be able to connect but in case of others such as rendezvous, jms, receive email etc activities, it will work normally as messages will remain on the sender side and will not be lost. These will be accepted by the process engine when Flow limits goes below its maximum value. Table 3 Effects of various configuration settings Max Jobs 0 Activation Max Jobs Limit (Flow Limit) Cleared or selected Cleared or selected 0 Description

An unlimited number of process instances can be created and concurrently loaded into memory. Activation Limit is ignored when Max Jobs is set to 0. No paging of process instances. Allows up to N process instances before placing process starter in flow controlled stated. Activation Limit is ignored when Max Jobs is set to 0. One process instance is loaded into memory at a time and kept there until it completes its execution. This guarantees incoming events are processed in the order in which they occur. Up to N process instances are paged to disk, and then the process starter is placed into flow controlled state. Note: If your goal is to sequentially process incoming events, use the Sequencing Key field on the Misc tab of the process starter. Using Max Jobs and Activation Limit incurs overhead as process instances are paged to disk and retrieved from disk. Once process instance is loaded into memory at a time and kept there until it completes its execution. This guarantees incoming events are processed in the order in which they occur. There is no limit on the number of process instances that can be created and paged to disk. Note: If your goal is to sequentially process incoming events, use the Sequencing Key field on the Misc tab of the process starter. Using Max Jobs and Activation Limit incurs overhead as process instances are paged to disk and retrieved from disk. One process instance is loaded into memory at a time, but up to N process instances are created. Incoming events can be processed in any order because process instances are not kept

Selected

Selected

Cleared

in memory until they complete execution. M Selected 0 An unlimited number of process instances can be created, but only M are loaded into memory and processed concurrently. This setting ensures a limited amount of concurrent processing. This situation is useful if you have limited resources, such as database connections. You can set Max Jobs to a relatively small number and the Activation Limit option keeps each service in memory until the service completes. Each loaded process uses a machine resource until the service completes. Once a service releases the resource, a new process can be loaded into memory and the corresponding service can use the resource. Same as above, except only N process instances are created before the process engine is placed in the flow controlled state. An unlimited number of process instances can be created, but only M are loaded into memory and processed concurrently. After M process instances are created, new process instances are paged to disk. There is no guarantee of the order in which process instances are executed. Same as above, except only N process instances are created before the process engine is placed in the flow controlled state.

N M Cleared 0

Q: Why there is no Max Session field on configuration tab of Get JMS Queue Message, JMS Queue Requestor, JMS Queue Sender, JMS Topic Publisher, Reply to JMS Message, Wait for JMS Queue Message and Wait for JMS Topic Message activities Ans: Session field allows you to specify how many sessions you want to create to handle the incoming messages on this process. Generally, until a message is acknowledged by the Confirm activity (if not in auto or Dups OK confirm mode) another message wont be processed by a session. So if there are 5 sessions that means there can be at max 5 messages processed (or same number of process instances) at any time. As one message is acknowledged, a new process instances will be created to handle the new incoming message. Having mentioned that it is clear that Max Session field is meaning full only for those activities which receive or subscribe messages. So this field will have no meaning for JMS Queue Requestor, JMS Queue Sender, JMS Topic Publisher, Reply to JMS Message activities. In case of Get JMS Queue Message, Wait for JMS Queue Message and Wait for JMS Topic Message, they are supposed to get only one message at a time so there is no Max Session field in them as this would be 1 by default. Q: Why is it so that Max Session field is editable in case of JMS Queue Receiver and non-editable in case of JMS Topic Subscriber when Acknowledge Mode is selected is Client or Transactional. Ans: This is due to the basic behaviour of queues and topics. In case of queues, there can be more than one receivers but a message will be delivered one and only one receiver. But in case of topic a published message can be subscribed by more than one subscriber. A

value of more than 1 in Max Session fields means that there will be actually more than 1 instance of that process waiting for the message. So having more than 1 value in case of JMS Queue Receiver makes sense as all the messages will be create a new process instance with a guarantee that each message will be processed only once. However if we have a Max Session value of more than 1 in JMS Topic Subscriber that will mean there can be as many process instance which may process the same message more than once and that is why this field is set to 1 and is non-editable in case of the JMS Topic Subscriber

1) 2) 3) 4) 5) 6)

Q: What are the acknowledgement modes in JMS Queue Receiver, JMS Topic Subscriber, Get JMS Queue Message, Wait for JMS Queue Message and Wait for JMS Topic Message activities? Ans: All of these activities except Wait for JMS Topic Message have all the acknowledgement modes available to them. i.e. Auto Client Dups Ok Transactional Tibco EMS Explicit Tibco EMS No Acknowledge However in case Wait for JMS Topic Message there are only three of them:

1) Auto 2) Dups Ok 3) Tibco EMS Explicit

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 this mode behaves exactly the same as the Client mode, except the session is not blocked and one session can handle all incoming messages. This mode is only available when using TIBCO EMS. TIBCO EMS No Acknowledge messages delivered using this mode do not require acknowledgement. Therefore messages in this mode will not be redelivered regardless of whether the delivery was successful. This mode is only available when using TIBCO EMS. 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. See TIBCO BusinessWorks Process Design Guide for more information about creating transactions that JMS activities can participate in.

Q: When is the 'Output Editor' tab enabled in JMS activities Ans: When JMS message type is Map, Stream or XML Text. Q: What are the different ways of handling errors in a BW process?

Ans: Approach 1 Use Generate Error activity. When this activity generates an error, error control is given to the next higher exception scope. So you can use it inside the groups or subprocesses. Draw an error transition from an activity, and use Generate Error activity. Using the End activity of a process you can define one or more error schemas. You can select one of these schemas in the Generate Error schama. Upon execution of Generate Error activity, If there is an error transition from the subprocess call (or group in which it was called), that transition will be followed. If there is no error transition but there is a Catch activity, then catch activity will get the control (if catch activity is in the subprocess it will get the control, if it is not in subprocess but there is one in calling process that will get the control provided there was no error transition from the subprocess call as previously mentioned.). Transitions cannot be drawn from a Generate Error activity. Approach 2 You can place a Catch activity in your process definition to deal with unhandled exceptions. The Catch activity allows you to create a track that handles the exception and proceeds to the end of the current scope; either the end of the process definition or the end of a group. You can use the Catch activity as an alternative to individually handling exceptions for each activity, or you can use error transitions to handle some exceptions and the Catch activity to handle others. In a process you can have more than one catch activity, but each one of them should catch a different exception. You can define catch activity which will catch all exceptions. So if there is an exception which is not specifically handled by any of the catch activity then this catch activity will catch rest of the exceptions. Rethrow activtity allows you to throw the exception currently being handled by the catch path. Transitions cannot be drawn to a catch activity. Q: What all different types of activities can take part in a transaction in BW? Answer: JDBC activities, JMS activities, EJB activities, TIBCO IProcess BusinessWorks Connector activities, TIBCO ActiveEnterprise adapter activities when configured to use JMS transport. Any activity can be configured inside a transaction group but only activities belonging to above group can actually take part in a transaction. If a transaction commits, all eligible activities commits, if transaction rollsback, all eligible activities rollbacks. Q: Important points while configuring JTA User Transaction transaction type. Sol: JDBC activities in a JTA UserTransaction must be configured to use JNDI and specify the datasource in the application server. All JMS activities should use the XA connection factory in the application server. Question: What are different types of administration domains available? And what are main points of each of them? Sol: They can be of two types: a) Tibco Rendezvous Administration Domain: b) Tibco EMS Administration Domain: In case of RV Domain, domain data can either be stored as files or database. In case of EMS domain, domain data can only be stored as database. In case of RV domain, all three (http, Local and RV) type of transports are available for application data. For EMS, only Local transports are available. Only RV domain allows administration servers to run in a load balanced mode, which also provides failure recovery, where secondary server continues to run when primary server goes down. Q: Can job shared variables be persisted across BE Engines? Why?

Sol: No. As they work in between called and calling process and both of them always exists in the same BW engine. This cannot work across JVMs. Q: Difference between different types of deployments in administrator (local, RV & http/s). Any pros/cons for them? Sol: Local: repository (& global variables and other settings) are created on the same machine on which deployment is done. Process instance can run without administrator being running. You can start/stop irrespective of admin running. RV/http: Repository and other data is deployed on server (in file or database as configured in domain) and process instances seek the data RV or http depending upon which transports used. With http you can work through the firewall etc (not 100% sure of this particular thing). Q: What are advantage and disadvantages of using Local application data? Ans: Advantages: applications can run independent of administrator server so if server crashes there is no impact on the application. Bcoz local service instance uses no memory, this increases the performance of administrator server. Disadvantages are: main disadvantage is synchronization. e.g. if while domain update time, a subset of a machine in the domain are down and are later started, they may start the components with old configurations. This can result in severe problems. Another is security as these local repos may contain information like username/password. Even though they are weakly encrypted, very good network security measures should be taken. Q: What are the advantages and disadvantages of using server based application data? Ans: Advantages is that there are no sync related issues. Disadvantage is that each repository instance on server consumes memory and thread. Memory requirements are usually 3-5 times the size of repository. Now with many repositories this can lead to lots of memory requirement. Q: How administrator is is configured to run in a load-balanced/fault tolerance mode? Ans: Note that LB/FT in tibco administrator is not a complete LB/FT. You can run multiple admin servers with one acting as primary server and other acting as secondary servers. They you tibco RVDP (distributed protocol). This can be done via domainutility or changing the repo.master property in the tibcoadmin_<domain_name>.tra file. This property contains the name of server acting as the primary server so if primary server crashes then rest of the group will not choose primary server automatically but you will have to change this property in the secondary server (and also preferably change in primary server which just crashed) to correct primary server and restart all of them. All read operations are distributed among all the servers, however only primary server can update the data. Q: What are the limitations of a secondary server? Ans: If primary server has crashed, you can use the secondary server to start/stop processes but you cannot undeploy, deploy or delete the applications.

Q: describe situation when it is required to have a database for TIBCO BW process data storage: Ans : --When using shared variables to pass data among process instances running on multiple engines.

--When using critical section groups across multiple engines require database as storage (e.g for lock shared resource (check it)). --When using wait/notify activity across multiple engines. --Duplicate detection of messages across multiple engines after restarting the processes from a checkpoint.

1.What are the modes of TIBCO BW Installations ? GUI mode Console mode Silent mode 2.If you have installed a particular version of TIBCO software e.g. TIBCO BW X.Y.Z, What are X, Y and Z number stands for?

Integration can be at different application layers:


X:Patch Y:Major Z:Minor 3.What is the role of TRA?

TRA stands for TIBCO Runtime Agent. The TRA has two main functions:
Supplies an agent that is running in the background on each machine. 1. The agent is responsible for starting and stopping processes that run on a machine according to the deployment information. 2. The agent monitors the machine. That information is then visible via TIBCO Administrator. Supplies the run-time environment, that is, all shared libraries including third-party libraries. 4.What are the resources that gets included in the EAR file, created by the TIBCO Designer?

An EAR file can contain local project resources, LibraryBuilder resources, and files as specified in AliasLibrary resources. In addition, the TIBCO Designer classpath may include references to other files that are included in the EAR file.

5.What are the revision control system options available in TIBCO designer? File sharing VSS Perforce XML Canon ClearCase iPlanet CVS PVCS 6.What are the different modes of service invocation?

Services can be invoked in several ways.


A one-way operation is executed once and does not wait for a response.

A request-response operation is executed once and waits for one response. In a request-response service, communication flows in both directions. The complete interaction consists of two point-topoint messagesa request and a response. The interaction is only considered complete after the response has arrived. Publication (notification) means an operation sends information on an as-needed basis, potentially multiple times. Subscription means incoming information is processed on an as-needed basis, potentially multiple times. 7.What is vcrepo.dat?

TIBCO Designer creates a file named vcrepo.dat in the project root directory when you first save the project. This file is used to store properties such as display name, TIBCO Rendezvous encoding, and description. This file can be used for identification in place of the project root directory and can be used as the repository locator string (repoUrl).
8.What are the TIBCO BW activities that can participate in transactions?

Not all TIBCO BusinessWorks activities can participate in a transaction. Only the following types of activities have transactional capabilities:
JDBC activities JMS activities ActiveEnterprise Adapter activities that use JMS transports EJB activities TIBCO iProcess BusinessWorks Connector activities 9.What are the different types of Transactions TIBCO provides?

TIBCO BusinessWorks offers a variety of types of transactions that can be used in different situations. You can use the type of transaction that suits the needs of your integration project. When you create a transaction group, you must specify the type of transaction. TIBCO BusinessWorks supports the following types of transactions:
JDBC Java Transaction API (JTA) UserTransaction XA Transaction 10.What activities are supported in JTA Transaction?

The Java Transaction API (JTA) UserTransaction type allows:


JDBC JMS ActiveEnterprise Adapter (using JMS transports) EJB activities

to participate in transactions.
11.What activities are supported in XA Transaction ?

The XA Transaction type allows:


JDBC activities ActiveEnterprise Adapter activities that use the JMS transport JMS activities

to participate in transactions. Note:For JMS activities and ActiveEnterprise Adapter activities, request/reply operations cannot participate in an XA transaction. Also, EJB activities cannot participate in an XA Transaction group.
12.What are the possible Error output's of Read File activity?

Integration can be at different application layers:


FileNotFoundException :Thrown when yhe file does not exist.

UnsupportedEncodingException:Thrown when the text files encoding is not valid and the content of the file is read into process data. FileIOException :Thrown when an I/O exception occurred when trying to read the file. 13.What is the purpose of the inspector activity ?

The Inspector activity is used to write the output of any or all activities and process variables to a file and/or stdout. This is particularly useful when debugging process definitions and you wish to see the entire schema instead of mapping specific elements to the Write File activity.
14.What are the maximum/minimum of threads available for incoming HTTP ?

The maximum/minimum of threads available for incoming HTTP : 75/10


15.How can unauthorized users be prevented from triggering a process ?

Unauthorized users be prevented from triggering a process by giving 'write' access for the process engine to only selected users. Only users with 'write' access can do activities like deploying applications, starting/stopping process engines etc.
16.What are the mandatory configuration parameters for FTP Connection & FTP with firewall ?

The mandatory configuration parameters for FTP Connection


FTP host Port Username & Password>

If Firewall is enabled in addition the proxy host and port are required.
17.how to design a process such that depending on number of records updated in a database, 3 different subprocesses may be called ?

Define 3 transitions from JDBC update with condition on the no of updates and call appropriate child processes.
18.How to use legacy .dat file format with latest designer ?

Convert .dat file to multi file project using Administration tab while starting up Designer(Other one being Project tab) and then open the multifile project in the normal way.
19.What are the encodings supported by designer ?

Encodings supported by designer are


ISO8859-1(Latin-1) UTF-8 20.What are the 4 main panels of the Designer window ?

The 4 main panels of the Designer window are


Project panel Palette panel Design panel Configuration panel 21.How do you determine if there are broken references in the project?

Project -> Validate for deployment


22.Where are the Designer preferences stored ?

Designer preferences stored are stores in a file called 'Designer <ver>.prefs' in the user home directory.

23.Explain the process configuration parameters - Max Jobs, Flow Limit & Activation Limit ? Max Jobs :

Max Jobs specifies the number of process instances that are kept in memmory. Once this limit is reached newly created process instances (subject to flow limit) are paged out to disk.0 specifies no limit and is the default.
Flow Limit :

Flow Limit specifies the maximum number of running process instances that are spawned before the process starter is suspended ie it enters a FLOW_CONTROLLED state and does not accept new events. This can be used to control the number of process instances running simultaneously and when the protocol generating the event can store the event till it is received, like email servers, JMS, RV etc. 0 specifies no limit and is the default.
Activation Limit :

Activation limit flag specifies that once a process instance is loaded it must be placed in memmory till it completes execution. By default it is enabled.
24.What are the options for configuring storage for process engine's checkpoint repository ?

The options for configuring storage for process engine's checkpoint repository are:
Local File Database. Fault tolerant engines can recover from a checkpoint only when database is used. 25.Process engines in a fault tolerant group can be configured as peers or master secondary.How do these differ ?

The options for configuring storage for process engine's checkpoint repository are:
- Peer means all of them have the same weight. In this case when one engine fails another one takes over and continues processing till it fails. - In master secondary configuration weights are unequal, the secondary starts processing when master fails. But when master recovers, secondary stops and master continues processing. 26.What are the uses of grouping activities ?

Uses of grouping activities are:


Create a set of activities having a common error transition. Repeat group of activities based on a condition. 1. - Iterate over a list. 2. - Repeat until condition true. 3. - Repeat on Error until condition true. Group activities into a transaction. To create a critical section area that synchronizes process instances. A 'Pick First Group' allows you to wait for the occurence of multiple events and proceed along a path following the first event to occur. 27.What is the purpose of a Lock shared configuration resource?

A Lock is specified for a 'Critical Section' group when the scope is 'Multiple'. It can be used to ensure synchronization across process instances belonging to multiple processs definitions or for process instances across engines(Check multi engine flag for lock in this case and the BW engine needs to be configured with database persistence while deployment). If synchronization is for process instances belonging to the same processs definition inside one engine, just specify the scope as 'Single'.
28.How to control the sequence of execution of process instances created by a process starter ?

Use the sequencing key field in the Misc tab of any process starter. Process instances with the same value for this field are executed in the sequence in which they are started.
29.Can there be two error transitions out of an activity ?

No. There can be only one Error and one Success if no matching condition transition out of each activity.
30.When is a 'No Action' group used ?

'No Action' group used to have a set of activities having a common error transition
31.What activity can be used to set the value of a 'User defined process variable' ?

The 'Assign' activity can be used to set the value of a 'User defined process variable'.
32.Which are the two process variables available to all activities with inputs ? $_globalVariables $_processContext 33.Which mechanism can be used to pass data between a process instance and a called sub process other than mapping from/to the callee's input/output ?

This can be accomplished using job shared variables, unless in the call process activity the 'Spawn' flag is enabled in which case the called sub process is a new job and hence gets a fresh copy of the job shared variable initialized as per its configuration. A shared variable can overcome this limitation as it's scope is not limited to one job.
34.What are the three scenarios where BW engine has to be configured with database persistence instead of Local File ?

The three scenarios are:


Shared Variables across BW engines. Locking across groups in multiple BW engines. Wait Notify across BW engines. 35.If you want a group to be executed if there is some unhandled error but subject to some max number of iterations which group do you use ?

We can use Repeat on Error until true


36.When is a 'Generate Error' activity useful?

When you handle an error inside a called subprocess or group and want to rethrow the error to the caller(happens by default if you dont handle the error in the called process)
37.Which activity is used for detecting duplicate message processing?

CheckPoint activity - Specify the uniqueID for the duplicate key field and engine maintains list of these key fields. When a process come to checkpoint activity with the same value for duplicate key which already exists, it throws a DuplicateException. An error transition can then handle this case.
38.Give an example where graceful migration of service from one machine to another is not possible.

HTTP Receiver. In this case the receiver on new machine starts listening on the same port, but you need to redirect requests from the old machine to the new one.
39.What are the types of adapter services ?

Types of adapter services are :


Subscriber Service Publisher Service Request-Response Service Request-Response Invocation Service 40.If the business process needs to invoke another web service which resource do you use ?

SOAP request reply activity. If the business process needs to be exposed as SOAP service use SOAP Event Source in conjunction with SOAP Send Reply or SOAP Send Fault.
41.What is the functionality of the Retrieve Resources resource?

It can be used to serve the wsdl file of a SOAP Event Source to a (http) client. Construct a process like: HTTP Receiver -> Retrieve Resources -> Send HTTP Now the WSDL file for a SOAP service can be retreived using the http request
http://<host>:<port>/<path>/<resourceName>?wsdl

Response

where 'path' is the folder path to the SOAP Event Source process and 'resourceName' is the name of the process Example : http://purch:8877/Purchasing/GetPurchaseOrder?wsdl
42.What is the scope of user defined process variables ?

The scope of user defined process variables is only the process in which it is defined.(Not even inside a sub process that is invoked from this process)
43.What is difference between shared variable and job shared variable ?

Both of them can be manipulated via the palette resources 'Get shared variable' and 'Set shared variable'. A job shared variable is private to one instance of job or in other words each job has a fresh copy. In the case of shared variable the same copy is shared across all job instances. It can even be persisted and can survive BW engine restarts and even shared across multiple BW engines(when deployed using DB persistence).
44.How do wait-notify resources work ?

Basically wait and notify should share a common notification configuration which is just a schema definition for data that will be passed from notifier to waiter. Specific instances of waiter & notifier are corrrelated via a key. For example: when one process is in wait state for key 'Order-1', it waits till another process issues a notification with the same key value.
45.What is the default Axis in XPath ?

Child axis- What this means is that when you select "BOOK" from the current context, it selects a child node with that name, not a sibling with that name. Other axes are parent , self , sibling etc.
46.What are the output formats for XSLT? XML HTML Text 47.What does ' Success if no matching condition' transition mean ?

Lets say between two nodes N1 and N2, there are 3 success transitions with condition and there is no success transition without condition. If none of the conditions match then a 'Success if no

matching condition' transition can be used. Also if there is a success transition and also success transitions with condition and if the condition matches then both the sucess transition (no condition) as well as the transition(s) with matching conditions are followed. So you can use 'Success if no matching condition' to prevent duplicate paths of execution.
48.What is the Purpose of $_error variable ?

is available in the node following the error transition. It captures the error message, error code etc.
$_error variable

49.What are the cases where business process cant proceed correctly subsequent to restart from a checkpoint ? Sending HTTP response, confirming an email/jms message etc. This is because the confirmation or sending HTTP response has to done in the same session. When engine crashes these sessions are closed at their socket level. In such cases send response/confirm before checkpoint. 50.Which group do you use to wait for multiple events and proceed with the first to occur ?

A 'Pick First Group'.


Important Points:--------------------- Members of superuser can only set other users in the superuser list and it is done in the security panel. Permissions for the repositories in the DATA ACCESS are only visible and hence can be set by the superuser users. The Security console allows the domain administrator user, a member of the Super User role, or a user with Administer permission to assign access permissions to consoles and repositories A Super User role member has read, write, and administer access to TIBCO Administrator consoles, applications and data. When you upgrade, you must redeploy the application. When you revert, you need to deploy the application again. When you redeploy, you can choose options like stop running services before deployment, Kill services that have not stopped (this is a timeout setting), Start successfully deployed services and Forced deployment of all services. Must read (very important) Changing Global Variables at deployment in Chapter 8 ( Admin User Guide) Fault tolerance options can be set only for TIBCO BusinessWorks processes. TIBCO Adapter services cannot be assigned fault tolerant options. Fault tolerance relies on the administration server when applications are deployed using the rv or http transport options. When either of these transport options is used, the administration server must be running for fault tolerance to work correctly.

Activation limit field (in advance tab of a service (process) specifies that once a process is loaded into the memory, it should not be paged out until it is completed. This option is useful if you wish to specify sequential execution of process instances. The Heartbeat Interval should be smaller than the Preparation Interval, which should be smaller than the Activation interval. i.e. Heartbeat Interval < Preperation Interval < Activation Interval. It is recommended that Activation Interval should be slightly over two Heartbeat intervals. Activation interval is the amount of time to wait since the last heartbeat message before a secondary server starts. Preparation interval: Consider a situation where primary server is ready to up again so secondary server will go back to stand by mode. This interval is the delay before the master engine restarts. When the time since the last heartbeat from an active member (secondary server) exceeds this value, the ranking inactive member (primary member) will receive a "hint" so that it can prepare for activation. Must remember that there are two kinds of data. Application data which is in the form a repository which can be stored either on the server or locally on the same machine as application/process engine etc. It is recommended that application data is stored in the form of files regard less of local or server based. Other kind of data is domain data. It is recommended that domain data should be stored in database. This improves the performance. While creating tibco administrator domain, one can specify the transport that will be used for inter-domain communication. It can be either RV or EMS. If it is choose as RV, you can run multiple administrators in a load balanced mode. One will act as primary and others will act as secondary servers. One host cannot host both primary as well as secondary servers. If it is EMS, it does not matter if you run more than one servers as only deployment option is local so components run independent of admin servers. An administration domain stores domain information in a file repository or database repository in case transport is RV, however if transport used for inter-domain communication is EMS, data storage can only be in a database. When using a file-based repository with a primary and secondary administration server, performance will be slower than when using a database to store administration domain data. In most cases, it is recommended to use a database for the domain repository and files for client application repositories. In the case of a file-based domain, domain data is stored in the SYS_domain.dat and AUTH_domain.dat files. Data stored in the SYS_domain.dat file is referred to as the administration domain while data stored in the AUTH_domain.dat file is referred to as the authorization domain. The authorization domain contains the users, roles and data access ACLs. Everything else is stored in the administration domain: installed software, machines, applications, plug-ins, TIBCO Administrator ACLs, and so on. As such, the administration domain file is usually much larger than the authorization domain file. Performance can improve if domain data is saved into a database. If using file for domain data storage, each time you make a change and save, contents of that file must be regenerated and committed (written) into the file. And during deployment there are a lot of steps when this is done. This is quite expensive thing to do both bcoz of I/O involved and large strings to be read/written. When using database, only changed data is written into the

database. Note that moving application data to a database has no such savings and will slightly increase the server startup and deployment times. This is because, application data is not loaded into the administrator server memory (it is only used by the application/component). Using Local Application Data Using Server-based Application Data For both choices, a directory is created for each deployed application on the target machine under TIBCO_TRA_DOMAIN_HOME\domain-name\application. The executables, property files and deployment files required for the application are stored under this directory. The TIBCO_TRA_DOMAIN_HOME\domain-name\datafiles directory is also created as needed and only for local deployment. This directory contains the project files used by an applications non adapter components such as TIBCO BusinessWorks. Adapter repository files (.dat) are stored in the TIBCO_TRA_DOMAIN_HOME\domain-name\data directory. Pick First Group : Only wait for , request reply, timer (activites with a pause button) can have valid transition from start of the group to activitiy. Global variable valid types are string, integer, boolean and password. Password policy does not apply to users created inside LDAP. Administrator can only read information from LDAP but cannot write into it. i.e. admin cannot be used to create new users directly inside LDAP but you can have both LDAP users and local users (created directly using admin GUI). Using TIBCO Rendezvous, load balancing is automatic. To get the load balancing and fault tolerance benefit with HTTP, you must either use an IP redirector or explicitly point to a backup server to be used when a server fails. LB is not possible with EMS. When a rulebases is added in a service/process, if conditions of those rulebases are met then results are displayed in 'Resource Management > Machines View Machine' panel. When an alert in a service/process, alerts are shown in the general tab of view service instance panel. It is recommended that you use the minProcessors and maxProcessors properties to control the flow of incoming HTTP requests instead of using the Flow Limit property. All jdbc activities that use the same connection take part in a transaction if configured inside a JDBC transaction. If a error happened in a jdbc or non-jdbc (e.g. writefile activity) activity inside the transaction group, transaction will be rolled back. To create a distributed transaction across multiple databases, use the XA transaction type. For JMS activities and ActiveEnterprise Adapter activities, request/reply operations cannot participate in an XA transaction. Also, EJB activities cannot participate in an XA Transaction group. The XA Transaction type allows JDBC activities, ActiveEnterprise Adapter activities that use the JMS transport, and JMS activities to participate in transactions. The Java Transaction API (JTA) UserTransaction type allows JDBC, JMS, ActiveEnterprise Adapter (using JMS transports), and EJB activities (& not Iprocess Connector activities) to participate in transactions.

Include checkpoint checkbox is only available in case of XA or JTA UserTransaction types of transactions. If chosen, it will checkpoint just before commiting the transaction Fault tolerance relies on the administrator server.Therefore, the administrator server must be up and running for fault tolerance to work properly. InstanceID and AppName are two global variables which are not defined intentionally and you cannot see them in Global Variables list in designer or administrator. When exporting a project as a Local Repository, do not use the name vcrepo in the Project Name field. This name is reserved and must not be used to name a project. A Checkpoint activity cannot be placed in or in parallel to a transaction. You can, however, specify that an implicit checkpoint should be taken as part of a transaction by checking the Include Checkpoint field on a transaction group. For explicit Checkpoints, place the checkpoint activity outside of any transaction group. Also, make sure that if you have multiple paths in your process definition, the Checkpoint activity does not occur in parallel with a path that has a transaction group. Instead, any Checkpoint activities should be placed at points that are guaranteed to be reached before or after the transaction group is reached. When a checkpoint occurs in a called process, the checkpoint saves the state of the current process instance. If no called processes spawn new process instances, then a checkpoint in any called process saves the state of the process instance, including state from the parent process(es) of the current process. In the case of a called process that spawns a new process instance, only the spawned process instance is saved. Fault tolerance relies on the administration server when applications are deployed using the rv or http transport options. When either of these transport options is used, the administration server must be running for fault tolerance to work correctly.

Q: What does different configuration parameters means while creating a new domain? Q: How many types of variables can be defined in BW and difference between them? A situation where these can be used, Q: Different types of confirmation in JMS Q: Difference between shared and job-shared variables. Q: Difference between <xsl:copy-of> and <xsl:value-of> Q: Diff b/w point-to-point and publish-subscribe Q: Two rv subjects used by the administrator? Q: If tibco infra in a company is spread over more than one subnet, how would administrator monitors(or handles) machines in these subnets? (not sure of the exact subnet). Q: What are the different parts of a JMS message Q: What is a durable subscriber and what is fail-safe. How are these specified and what is the use of them.

TIBCO Enterprise for JMS

TIBCO Enterprise for JMS

What is JMS?

Java Message Service 1.1 (JMS) is a Java framework specification for messaging between applications. Sun Microsystems developed this specification, in conjunction with TIBCO and others, to supply a uniform messaging interface among enterprise applications.

What is TIBCO EMS?

Its JMS plus it provides enterprise-class functionality such as fault-tolerance, message routing, and communication with other messaging systems like TIBCO Rendezvous.

JMS supports two messaging models:

* Point-to-point (queues) - one producer and one consumer per message. * Publish and subscribe (topics)

Can we have more than one producer/consumer for a queue?

More than one producer can send messages to the same queue, and more than one consumer can retrieve messages from the same queue.

How can you make only one consumer receives message from the queue?

By making the queue exclusive. If the queue is exclusive, then all queue messages can only be retrieved by the first consumer specified for the queue. Exclusive queues are useful when you want only one application to receive messages for a specific queue. If the queue is not exclusive, any number of receivers can retrieve messages from the queue.

Why do we need Non-exclusive queues?

Non-exclusive queues are useful for balancing the load of incoming messages across multiple receivers. Regardless of whether the queue is exclusive or not, only one consumer can ever retrieve each message that is placed on the queue.

How is broadcast messaging supported in JMS?

JMS supports Broadcast messaging using 'topics'. In this model, the producer is known as a publisher and the consumer is known as a subscriber.

Can more than one publishers public on same topic?

YES. All subscribed consumers receive the all messages.

What do you mean by 'failsafe' mode?

It is property of Queue. A failsafe mode allows messages to be written to disk synchronously to guarantee no messages are ever lost due to server failure.

Is content based routing possible in JMS?

YES. Messages sent to destinations can be routed to other servers.

10 Can JMS Queues/Topics receive TIBCO RV messages??


NO. But TIBCO EMS can receive.

11 Which package is used by the Java Applicatio to send/receive the JMS messages?
'javax.jms' package is used to send/receive messages.

12 What is JMS Message structure?


JMS messages have a standard structure. This structure includes the following sections: * Header (required) * Properties (optional) * Body (optional)

The JMS specification details a standard format for the header and body of a message. Properties are provider-specific and can include information on specific implementations or enhancements to JMS functionality.

13 What are TIBCO EMS Message properties?


JMS_TIBCO_COMPRESS - Allows messages to be compressed for more efficient storage. JMS_TIBCO_DISABLE_SENDER - Specifies that the user name of the message sender should not be included in the message, if possible. JMS_TIBCO_IMPORTED - Set by the server when the message has been imported from TIBCO Rendezvous. JMS_TIBCO_MSG_EXT - Extends the functionality of map messages to include submessages or arrays. JMS_TIBCO_MSG_TRACE - Specifies the message should be traced from producer to consumer. JMS_TIBCO_PRESERVE_UNDELIVERED - Specifies the message is to be placed on the undelivered message queue if the message must be removed. JMS_TIBCO_SENDER - Contains the user name of the message sender.

14 What are two delivery modes supported by JMS?


PERSISTENT and NON_PERSISTENT.

15 What is SSL?
Secure Sockets Layer (SSL) is a protocol for transmitting encrypted data over the Internet or an internal network. SSL works by using public and private keys to encrypt data that is transferred over the SSL connection. Most web browsers support SSL, and many Web sites and Java applications use the protocol to obtain confidential user information, such as credit card numbers.

16 Can you define the JMS API programming model for client?
Queue/Topic ConnectionFactory >>(Creates)>> Queue/Topic Connection >> (Creates) >> Queue/Topic Session >> (can create 3 things) >> Message/MessageProducer/MessageConsumer

- MessageProducers send messages to queue/topic. - MessageConsumers receive messages from queue/topic. - MessageListeners are registered with MessageConsumers and listen/receive message from the queues/topics.

17 What is ConnnectionFactory Object?


The ConnectionFactory object encapsulates a set of connection configuration parameters. These objects are created using the administration interface and they are stored and managed by the TIBCO Enterprise for JMS server. When a JMS client starts, it typically performs a Java Naming and Directory Interface (JNDI) lookup for the ConnectionFactories that it needs.

18 How can write a generic JMS Client which can talk to any JMS Server?
Each JMS Server have their own unique 'InitialContext'. So in your JMS client set the appropriate 'InitalContext' depending upon which server your are using. Context ctx = new InitialContext(env); ConnectionFactory myConnectionFactory = (ConnectionFactory) ctx.lookup("myConnectionFactory");

19 Tell me some thing about Connection object.


A Connection object encapsulates a virtual connection with the server. ConnectionFactory objects create Connection objects. You use a Connection to create one or more Session objects. A connection is a fairly heavyweight object, and therefore most clients will use one connection for all messaging. You may create multiple connections, if needed by your application.

20 How do I use single connection for mutliple messaging?


Call start() method on connection before consuming message.

21 What are MessageListeners?


A MessageListener object acts as an asynchronous event handler for messages. This object implements the MessageListener interface and has one method, onMessage().

The J2EE 1.3 platform introduced message-driven beans (MDBs) that are a special kind of MessageListener. See the J2EE documentation for more information about MDBs.

22 Explain what are Static Queues/Topics?


Configuration information for static queues and topics is stored in configuration files for the TIBCO Enterprise for JMS server. Static queues and topics are administered by the server. Clients retrieve the destination using JNDI.

23 Explain what are Dynamic Queues/Topics?


Dynamic queues and topics are created on-the-fly by applications using QueueSession.createQueue() and TopicSession.createTopic(). Dynamic queues and topics do not appear in the configuration files, and exist as long as there are messages or consumers on the destination. A JMS client cannot use JNDI to lookup dynamic queues and topics.

24 What are Destination Bridges?


Bridges allow all messages delivered to one destination to also be delivered to the bridged destination. You can bridge between different destination types, between the same destination type, or to more than one destination. Bridges are not transitive.

25 Explain the persistence of message in Queue/Topic?


TIBCO Enterprise for JMS provides two modes for persisting topic/queue messages in external storage. (i) Normal - In this mode all the messages are written into file on disk in asynchrouns mode. There is small probability that, in case of software or hardware failure, some data may be lost without the possibility of recovery. (ii) Failsafe - In this mode all data for that queue or topic are written into external storage in synchronous mode, i.e. a write operation is not complete until the data is physically recorded on the external device. The failsafe property ensures that no messages are ever lost in case of server failure. Although failsafe mode guarantees no messages are lost, it also significantly affects the performance.

Messages with the persistent delivery mode are always written to persistent storage, except when they are published to a topic that has no durable subscribers.

26 Explain about the secure property of the Queue/Topic.


The secure property, when set on a destination, specifies permissions should be checked for that destination. When a topic or a queue does not have the secure property turned on, any authenticated user can perform any actions with that topic or queue. When the property is turned on, the administrator can assign permissions to the users. The secure property does not mean SSL-level security. Secure only controls basic authentication and permission verification using unencrypted, non-secure communication between the clients and the server. Both the authorization configuration parameter and the secure property on the destination must be set for permissions to be enforced for a particular destination.

27 Explain about the global property of the Queue/Topic.


Messages destined for a topic or queue with the global property set are routed to the other servers that are participating in routing with this server.

28 Explain import/export property of Queue/Topic.


IMPORT: The import property allows messages published by an external system to be received by a TIBCO Enterprise for JMS destination (a topic or a queue), as long as the transport to the external system is configured. Currently you can configure transports for TIBCO Rendezvous reliable and certified messaging protocols.

EXPORT: The export property allows messages published by a JMS client to a topic to be exported to the external systems with configured transports. Currently you can configure transports for TIBCO Rendezvous reliable and certified messaging protocols.

You must configure the communication parameters to the external system by creating a named transport in the transports.conf file.

29 Explain exclusive property of Queues.


In exclusive mode, the first queue consumer receives all of the messages until the consumer fails. At that point, messages are delivered to the next consumer Non-exclusive queues cause messages to be delivered in a round-robin fashion to the set of queue receivers. This prevents a large buildup of messages at one receiver and thereby balances the load of incoming messages across all queue receivers.

30 When is the message delivery paused?


In exclusive mode, If a message cannot be delivered to a queue receiver (because its pre-fetch limit is reached), TIBCO Enterprise for JMS attempts to deliver the message to the next queue receiver. If the server attempts to deliver the message to all registered queue receivers and none of them can accept the new message, the message is returned to the queue and message delivery is paused until a queue receiver reports that it can accept the message.

31 Explain maxbytes property on Queue/Topic?


The maxbytes property has the following rules of inheritance:

* If there is not a direct property value for the child, the most liberal (largest) of the parent or ancestor property values is used. * The child value, which is directly assigned to the child, overrides any values assigned to ancestors.

32 What is Flow Control?


In some situations, message producers may send messages more rapidly than message consumers can receive them. The pending messages for a destination are stored by the server until they can be delivered, and the server can potentially exhaust its storage capacity if the message consumers do not receive messages quickly enough. To avoid this, TIBCO Enterprise for JMS allows you to control the flow of messages to a destination. Each destination can specify a target maximum size for storing pending messages. When the target is reached, TIBCO Enterprise for JMS blocks message producers when new messages are sent. This effectively slows down message producers until the message consumers can receive the pending messages.

The flow_control parameter in tibjmsd.conf enables and disables flow control globally for the TIBCO Enterprise for JMS server.

If there are no message consumers for a destination, the server does not enforce flow control for the destination.

For global topics where messages are routed between servers, flow control can be specified for a topic on either the server where messages are produced or the server where messages are received. Flow control is not relevant for queue messages that are routed to another server.

If the flowControl property is set on the topic on the server receiving the messages, when the pending message size limit is reached, messages are not forwarded by way of the route until the topic subscriber receives enough messages to lower the pending message size below the specified limit.

If the flowControl property is set on the topic on the server sending the messages, the server may block any topic publishers when sending new messages if messages cannot be sent quickly enough by way of the route. This could be due to network latency between the routed servers or it could be because flow control on the other server is preventing new messages from being sent.

Flow control can be specified on destinations that are bridged to other destinations. If you wish the flow of messages send by way of the bridge to slow down when receivers on the bridged-to destination cannot process the messages quickly enough, you must set the flowControl property on both destinations on either side of the bridge.

33 Explain about JMS Message Bodies?


A JMS message has one of several types of message bodies, or no message body at all. Message: This message type has no body. This is useful for simple event notification.

TextMessage: A java.lang.String. For example, this can be the contents of an XML file.

MapMessage: A set of name/value pairs. The names are java.lang.String objects, and the values are Java primitive value types or their wrappers. The entries can be accessed sequentially by enumeration or directly by name. The order of entries is undefined.

BytesMessage: A stream of uninterrupted bytes. The bytes are not typed; that is, they are not assigned to a primitive data type.

StreamMessage: A stream of primitive values in the Java programming language. Each set of values belongs to a primitive data type, and must be read sequentially.

ObjectMessage: A serializable object constructed in the Java programming language.

34 What are the three levels of Acknowledgements as defined by the JMS specification?
- DUPS_OK_ACKNOWLEDGE, for consumers that are tolerant of duplicate messages.

- AUTO_ACKNOWLEDGE, in which the session automatically receipt of a message.

acknowledges a client's

- CLIENT_ACKNOWLEDGE, in which the client acknowledges the message by calling the messag's acknowledge method.

35 Explain the two JMS Message Delivery Mode Extensions provided by TIBCO EMS?
Reliable Message Delivery: In addition to PERSISTENT and NON_PERSISTENT modes, you can use Tibjms.RELIABLE_DELIVERY mode from TIBCO Enterprise for JMS. System message (i.e. ack) is not sent to the client, hence dose not have to wait. This allows higher message volume. It decreases the volume of message traffic, allowing better usage of system resources, and higher message rates. There are two ways to set the delivery mode to reliable: - Use a publish() or send() method that accepts a javax.jms.DeliveryMode as a parameter. - Set the delivery mode for the message producer using the following expression: messageProducer.setDeliveryMode( com.tibco.tibjms.Tibjms.RELIABLE_DELIVERY);

No-Acknowledgement Message Receipt:

In this mode all the information regarding message that is sent to client is eliminated from the server. Hence there is no need for the client to send the ack. This mode is configured at session level. javax.jms.TopicSession session = topicConnection.createTopicSession( false,com.tibco.tibjms.Tibjms.NO_ACKNOWLEDGE);

36 How do you EMS server in Fault Tolerance mode?


JMS servers are configured as primary and backup servers to provide fault tolerance. The primary and backup servers act as a pair, with the primary server accepting client connections and performing the work of handling JMS messages, and the secondary server acting as a backup in case of failure. The primary and backup servers must both have access to a shared state.

37 What is the shared state?


Shared state can be implemented as shared storage devices or through other mechanisms such as replication. This shared state allows the backup server to take over any active connections and properly handle persistent messages.

Some common ways to implement shared storage are Network Attached Storage (NAS) or Storage Area Network (SAN) devices. Replication schemes from popular vendors such as Veritas or EMC can also be used for replicating the shared state.

To prevent the backup server from assuming the role of the primary server unnecessarily, the primary server locks the shared state during normal operation. If the primary server fails, the lock is released, and the backup server can obtain a lock on the shared state.

# If a queue or a topic is defined as failsafe in the corresponding configuration file, messages for that topic or queue are stored in the sync-msgs.db file.

# If the queue or topic is not defined as failsafe, messages for the queue or topic are stored in async-msgs.db file.

38 What does the shared state include?


The state of the servers includes: * persisted messages for queues and topics * information on the primary servers client connections * metadata regarding data delivery

39 How to set the FT JMS Server?


A backup fault-tolerant server is specified by having the following configuration parameters set: * the server parameter must be set to the same name as the primary server * the ft_active parameter must be set to the URL of the primary server

When the backup server starts, it attempts to connect to the primary server. If the connection can be established, the backup server enters standby mode for the primary. If the connection cannot be established, the backup server becomes the primary server.

40 What is Routing in EMS?


TIBCO Enterprise for JMS provides the ability for servers to route messages between each other. Topic messages can be routed across multiple hops. Queue messages can travel at most one hop to any other server from the server that owns the queue.

Areas to concentrate :

1)TIBCO messaging with smart sockets chapter can be omitted. 2)Bridging chapter had many complicated questions

3)Routing chapter is also important - better if one works on creating routes between two servers and sends messages over queue and topic to understand the exact behaviour. 4)Message listener - important - remember all the criteria to be met for its implementation and its behaviour when it makes asynchronous calls .The thread behaviour and what all can be done in the thread when it is till processing a message. 5)Best way to send a XML message over EMS - make it text message and compress it. 6)What happens when FT is in active-active configuration - behaviour and what can one see when show routes command is executed and are message transfers bidirectional .- in queue/ in topic 7)SSL chapter - only configuration questions - what to set where to get a particular configuration. 8)JNDI look up - what happens when factory is dynamically created and when looked up.

Important figures to remember : MS API programming model

Rendezvous Transports in the EMS Server

Object lookup in TIBCO Enterprise Message Service server

41 Appendix A Certification Questions 41.1For storing persistent messages, which files are used by TIBCO EMS?
a) b) c) d) failsafe-msgs.db sync-msgs.db async-msgs.db meta.db Answer : B,C

41.2 To install settings from response file, which three TIBCO EMS installer modes can be used? (Choose three)
a) b) c) d) e) sysprep rpm silent GUI Console

Answer : C,D,E

41.3 Authorisation and flow_control properties can be set by boolean values


a)0/1 b)true/false c)enabled/disabled d)yes/no

Answer : C

41.4 which is a valid value for the field usr_auth :


a)true b)local c)enabled d)SSL

Answer :B

41.5what is the exception that is thrown when a transaction is rolled back :


a)IllegalTransaction b)IllegaltransctionRolledback c)TransactionRolledBack b)IllegalCall

41.6For the TIBCO EMS message what are the types of acknowledges that can be expected by the client which calls acknowledge() - (Choose3)
a)NO_ACKNOWLEDGE b)CLIENTACK c)AUTO d)EXPLICITCLIENT e)DUPS_OK_ACKNOWLEDGE

41.7When message exported to TIBCO rendezvous, what are the valid JMS messages that can be expected.
a)bytemessgae b)arraymessage c)mapmessage d)textmessage

41.8EMS server 1, EMS server 2 and EMS server 3 are in Fault tolerant modes and EMS server 3 and EMS server 4 are load balanced, whats the configuration url :
a) tcp://EMS server1:7222,tcp://EMS server2:7223,tcp://EMS server3:7222| tcp://EMS server4:7223 b) tcp://EMS server1:7222,tcp://EMS server2:7223,tcp://EMS server3:7222,tcp://EMS server4:7223 c) tcp://EMS server1:7222|tcp://EMS server2:7223|tcp://EMS server3:7222,tcp://EMS server4:7223

Answer : A

41.9When a command show groups is executed and in the output a few of the groups have a (*) asterix in front of them - what are the reasons - select the best answer
a)groups are not in the main config file b)groups are defined in external directory service c)groups are dynamic d)groups are system groups

Answer : B

41.10 Sample Configuration files for each activity in EMS server:


a)in the location specified can be found at main conf file for each file b)in samples/config c)under /bin

Answer : A

41.11 TIBCO EMS server has authorization enabled. The queues Q1.Cerkiller.BAR, Q1.Cerkiller, and with secure property enabled, QUEUE.SAMPLE have been created. User ADMIN1 has also been created. To give user ADMIN1 view privileges on these queues expect for QUEUE.SAMPLE, name the admin command which has to be executed.
a)grant queue Q1.>ADMIN1 view b)alter queue Q1.* allow ADMIN1 view c)grant queue Q1.* ADMIN1 view d)grant ADMIN1 view Q1.> Answer : A

41.12 Choose from the list valid JMS headers : (choose 3)


a)JMSTimestamp b)JMSExpiration c)JMSRedeliverd d)JMStimeout e)JMSContentLength

f)JMSContentType

Answer : A, B, C

41.13 TIBCO EMS server needs to be configured with Authorization=enabled. Select the best way to do this
a)Execute command set server authorization=enabled and restart the server b)Change the authorization parameter in main tibemsd.conf file and restart the server. c)Call admin API to change the value and no need to restart the server

Answer : B

41.14 Fault Tolerant server configuration has A and B as two EMS servers. When and what does B has to do for failover .Select the best answer.
a)B becomes primary server only when it gets access to shared states b)After timeout B deletes the shared state entry by server A and becomes primary server c)B becomes primary server until A is restored

41.15 To integrate with third party app servers : EMS must be :


a)JTA compliant b)call adapter classes in jar files c) <MDB which is usually the answer was not the choice provided>

41.16 q1.foo.bar,q1.foo.car and q1.sample are topics on the EMS server, the project 41.16requires to subscribe to topics q.foo.bar and q1.foo.car but not q1.sample, How can it be done 41.17 How is message compression done, what are the header fields set, what role does client play , what role does server play, side effects, advantages - all this in a 41.17scenario and had to pick the right configuration. 41.18 What are the objects that have to be created before a client can publish messages on a topic 41.19 Valid comands in admin tool :pick four - 6 commands where displayed which were very confusing 41.20 41.21 msgpoolblocksize Conditions when a message are redelivered.

- where is it found and its significance, when best used.

- were confusing with relevant configurations that were to be set

41.22 Which method has to be called to create a queue


Answer : session.createqueue()

41.23 What is significance of metric parameter in connection factory URL 41.24 Questions on MessageListener?If there are 2 consumers C1 and C2, What are the valid statements below?(Choose 2)
a) C1.setMessageListener(L1);C1.receive(); b) C1.setMessageListener(L1);C2.receive(); c) C1.setMessageListener(null);C1.receive(); d) C1.receive();C1.setMessageListener(L1); e) C1.close();C1.receive();

Answer: B, C, D

41.25 Which object can call convertToString() function?


a) Consumer. b) Session. c) Connection. d) ObjectMessage. e)TextMessage.(answer)

41.26
a) Destination b) Session

Which objects does a JNDI hold?

c) Connection factories d) URL

Answers : A, C

41.27 One has a EMS server running smoothly, you have a producer Q1, when Q1 is killed and a new producer is included which produces messages faster than the consumer can handle. 41.28 What can be done to improve performance.

a. Create multiple consumers on same queue.(load balancing) b. Set flow control prop.

Answer (a)

41.29 If a durable subscriber is listening on topic.*, it is killed and is recreated but now its listening on topic.cert.* What are the valid statements?
a) The subscribers only listens to only topic.cert.* and receives all the messages which were published after the restart. b) The subscribers only listens to only topic.cert.* and receives all the messages. c) The subscribers only listens topic.*.

41.30 When using reliable delivery? .Which of the following is true?


a)Reliable delivery is a specification of JMS. b) Server performance is decreased. c) Client performance is decreased. d) Consumer will receive message until the connection is broken.

41.31 What are the valid values that can be given to JMS header JMSPriority ?
a) b) c) High/Low 0 to 9 True/false

d)

Only 1 to 4

Answer: B

41.32

Question regarding threads: Pick two

a) Session are multithreaded. b) Connections are multithreaded. c) Session are single threaded. d) Connections are single threaded. Answers : B, C

41.33 What are the valid JMS Headers in the given options? 41.34 What are the valid JMS Properties in the given options? 41.35 41.36 41.37 Questions on exclusive queues? Question on message selectors and Bridges? Question on Bridges and Transactions?

41.38 When local-transactions are used, how does bridges work? Either all or none are send 41.39 Question on Routes, this was regarding Propagating Registered Interest? 41.40 How does EMS interface with 3rd party appservers?One of the option was:
a)TIBCO Enterprise Message Service also implements all interfaces necessary for Java Transaction API (JTA) compliance. b) Include Adapter class files

Answer : A

41.41 do?

What does store_truncate property in tibemsd

41.42 What are the valid properties for fault tolerance given in tibemsd.conf?
Choose 2 from 5 options

41.43 41.44 41.45

Question on .NET API's and MessageListener? Question on behavior of temporary queues? Question on different types of message bodies?

41.46 Question on different types of acknowledgements? 41.47 Question on acknowledge available only for topics?
Answer :NO_ACKNOWLEDGE_MODE

41.48 Question on Destination property regarding the trace property? 41.49 If group1 has receive permissions on topic1, and group2 has publish permissions on topic1.If user1 is a member of both group1 and group2, How can you revoke the publish permissions on topic1 given to user1 without disturbing other users.
Answer : This cant be done.

41.50 When exclusive property is set on topic, which statement is true?


Answer :Exclusive property cannot be set on topic.

41.51 Which command is used to alter the prop of destination?


a)addprop b)setprop c)AlterProp d)set Answer : A

41.52

What is stored in shared state of FT-Servers?

41.53 Question of JMS_TIBCO_PRESERVE_UNDELIVERED property? 41.54 Question on MESSAGE Compression and the advantages? 41.55 Where are transport configurations stored for connecting to external systems?
a) b) c) d) tibemsd.conf factories.conf transports.conf users.conf Answer: transports.conf

FAQ on TIBCO

Q)How do wait-notify resources work ? Basically wait and notify should share a common notification configuration whichis just a schema definition for data that will be passed from notifier to waiter. Specific instances of waiter & notifier are corrrelated via a key. For example: when one process is in wait state for key 'Order-1', it waits tillanother process issues a notification with the same key value Q)What is the default Axis in XPath ? Child axis- What this means is that when you select "BOOK" from the current context, it selects a child node with that name, not a sibling with that name. Otheraxes are parent , self , sibling etc.

Q)What are the output formats for XSLT? XML,HTML,Text Q)What does ' Success if no matching condition' transition mean ?

Lets say between two nodes N1 and N2, there are 3 success transitions with condition and there is no success transition without condition. If none of the conditions match then a 'Success if no matching condition' transition can be used. Also if there is a success transition and also success transitions with condition and if the condition matches then both the sucess transition (no condition) as well as the transition(s) with matching conditions are followed. So you can use 'Success if no matching condition' to prevent duplicate paths of execution.
Q)What is the Purpose of $_error variable ? $_error variable is available in the node following the error transition. It captures the error message, error code etc. Q)What are the cases where business process cant proceed correctly subsequent to restart from a checkpoint ?

Sending HTTP response, confirming an email/jms message etc. This is because theconfirmation or sending HTTP response has to done in the same session. When engine crashes these sessions are closed at their socket level. In such cases send response/confirm before checkpoint. Q)Which group do you use to wait for multiple events and proceed with the first tooccur ? A 'Pick First Group'. Q)When is a 'Generate Error' activity useful? When you handle an error inside a called subprocess or group and want to rethrowthe error to the caller(happens by default if you dont handle the error in thecalled process) Q)Which activity is used for detecting duplicate message processing? CheckPoint activity - Specify the uniqueID for the duplicate key field and engine maintains list of these key fields. When a process come to checkpoint activitywith the same value for duplicate key which already exists, it throws a DuplicateException. An error transition can then handle this case. Give an example where graceful migration of service from one machine to anotheris not possible.HTTP Receiver. In this case the receiver on new machine starts listening on thesame port, but you need to redirect requests from the old machine to the new one. Q)What are the types of adapter services ? Types of adapter services are : Subscriber Service Publisher Service Request-Response Service Request-Response Invocation Service Q)If the business process needs to invoke another web service which resource do you use ? SOAP request reply activity. If the business process needs to be exposed as SOAPservice use SOAP Event Source in conjunction with SOAP Send Reply or SOAP SendFault. Q)What is the functionality of the Retrieve Resources resource? It can be used to serve the wsdl file of a SOAP Event Source to a (http) client.Construct a process like: HTTP Receiver -> Retrieve Resources -> Send HTTP Response Now the WSDL file for a SOAP service can be retreived using the http request http://<host>:<port>/<path>/<resourceName>?wsdl where 'path' is the folder path to the SOAP Event Source process and 'resourceName' is the name of the process Example : http://purch:8877/Purchasing/GetPurchaseOrder?wsdl

Q)What is the scope of user defined process variables ? The scope of user defined process variables is only the process in which it is defined.(Not even inside a sub process that is invoked from this process)

Tibco bw

TIBCO BW -FAQS 1) What is the use of service container? Ans) In the latest version of TIBCO Active Matrix Business Works a new feature called Service container is added. In this service container we can add number of EAR files and run all the services simultaneously. With the Service container feature we can add and upgrade processes without bringing down other running processes. 2) In how any ways can we create EAR files. Ans) We can build EAR files in 2 ways. One method is using the Enterprise Archive pallete in the Tibco designer and adding the process archive we can build EAR file. Other method is from the cmd prompt. We use the command appmanage and buildear. 3) What is Schema and why do we create schema. Ans) Schema is used to create a XML schema file in which we add the variables which we want to use in our designer process. We can create the elements under which we can add the typed variables. The structure formed will be in the form of tree structure. 4) What is the use of confirm activity. Ans) Confirm activity is used to confirm the success of a activity that have confirmable messages. For example if certain process starts on reception of a message then if that process

starts the confirm activity sends a confirm message to the sender of the message. 5) What are the different modes of tibco BW installation. Ans) There are 3 modes installation . They are a) GUI b) console c) silent 6) When we save a project what files are created under the saved project folder. Ans) In that folder we see the Aeschema folder, all processes create in that project and the vcrepo.dat file. 7) What are the contents of vcrepo.dat Ans) This files contains the display name , RV encodings and description. 8) What is grouping activity? Ans) Grouping activity is used to group certain activities used in the designer so that we can loop those activities and iterate the group with conditions. 9) What is the condition for a process in order to build the EAR file. Ans) We need to have a process starter. 10) How can we design exception handling? Ans) The basic method is by routing the process to another sub process whenever error occurs by using the error transition. 11) What is the use of Render XML pallet. Ans) It is used to create a XML file by creating the tags used in the xml file. 12) What are the elements in the WSDL file. Ans) In abstract WSDl file we have the information about the messages ( request, reply) port type, operation. In concrete in addition to above we have the transport information. 13) What is the use of global variables? Ans) Global variables are useful in order to provide dynamic input at the run time. 14) What is custom activity? Ans) Custom activity is useful when we want others to use our process and not allow them to view the contents of the process. We can add this process into our MY Pallete section. We can directly use this process by dragging it into our process. 15) In web service in how many ways can we create connections. Ans) 2 ways. HTTP and JMS. 16) How does the file poller activity works. Ans) This is a starter activity which starts the process whenever there is update for the file that is specified. 17) What is the use of project template? Ans) In project template we can save our standard processes that we want to use in future. These

processes are generally the ones which have the commonly used activities. 18) What is the optimum maximum number of connections in JDBC? Ans) 10 19) What is sub process and what is its use? Ans) Whenever we call a process from another process , the called processbecomes the subprocess. Sub process helps in reducing the complexity of the design by assigning the activity in other process. 20) What is TRA. Ans) Tibco Runtime Agent is the main frame work for all the tibco softwares. It provides the runtime agent and monitoring agent. All the libraries required by the designs are provided by TRA. 21) What are the process variables that are available to all activities as inputs. Ans) global variables and process context. 22) What are break points? Ans) Break points are used to check the inputs and outputs of each activity during testing the design so that we can debug our design. We can place the check points for all activities on input and output side. 23) What re the encoding techniques in WSDL? Ans ) Encoded and literal. 24) What are the conditions in transitions? Ans) Success, Success with condition, Success with no condition and error. 25) What are the different variables in BW? Ans) Global variables, Shared variables, process variables and job shared variables. 26. Explain the processes flow of your latest project by including activities. ans: for various service implementation I designed processes using various BW activities like JMS Queue Receiver, XML Parser 27. What are the differences between the versions 2.x and 5.2? ans: type 2.x 5.2 deployment In 2.x deployment is done in the designer Here deployment is done using administrator tool Name spaces Name spaces are prefixed with tib No tib in name spaces pallets Extra pallets added Iterate-reset At the end of each iterate the output is not reset Here the output is reset after each iteration installation Here all the components like BW,ADB,FILE etc come as a package Here we will have to install each component separately File type All files are .dat. we have to convert these manually Multi format file are available so that we do not have to convert the dat files

28. What are the activities you worked on? Ans: JMS queue receiver,confirm,checkpoint,XML parser,call process,JDBC update,SOAP,HTTP. write to log - widely used. Assign. 29. What is the inspector activity does? Ans: the inspector activity is used to obtain the output of any activity or all the activities and process variables. Scenario: You can use the inspector activity to write the output of any activity or process variable in the current process. Activities and process variables in a subprocess are not available to the Inspector activity (but the output of a Call Process activity can be written using the Inspector activity). If you wish to obtain the output from one or more activities or process variables in a subprocess, place the Inspector activity in the process definition of the subprocess. 30.Can you tell me at least four starter activities and when they get executed? Ans: 1) Adapter subscriber, adap request response server :-When ever a message comes into a destination queue or network, listerns to a request from a adapter and sends a respose back to that adapter 2) File poller :- polls for any changes that occur in the file and with any change grabs the whole file. 3) Timer:- receive notification Starts a process on the time specified ex: before JDBC QUERY, starts a process on receiving of data from a notify activity. 4) http receiver :-Starts a process based on a request from http server. 5) Jms queue receiver, jms topic subscriber :- Starts a process when ever a new message comes into the specified queue, starts a process when ever there is a new message in the specified topic. 6) Receive mail :- The Receive Mail process starter polls a POP3 mail server for new mail. When new mail is detected and retrieved, the Receive Mail process starter starts a new process for the process definition it resides in and passes the mail data to the next activity in the process flow. 7) Rv subscriber:- The Rendezvous Subscriber process starter creates a process when a TIBCO Rendezvous message on the given subject is received. Cool Rmi server :- The RMI Server process starter registers the specified remote object name with the specified registry server and then creates process instances to handle incoming requests for the object. The process definition acts as the implementation of the specified object. 9) Soap event source :- The SOAP Event Source process starter creates a process instance for incoming SOAP requests. SOAP is a standard protocol for invoking web services. This allows you to create a web service using process definitions. At runtime, a client can retrieve the WSDL file for a process containing this process starter using an HTTP request. Once the WSDL is retrieved, the client can perform a SOAP request to invoke the web service. 10)Tcp receiver The TCP Receiver process starter starts a new process when a client requests a TCP connection.

31. What is the purpose of JMS Queue receiver activity and Queue sender activity? Ans: Starts a process when ever a new message comes into the specified queue. A queue sender activity sends messages into the specified queue. 32. 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. See TIBCO BusinessWorks Process Design Guide for more information about creating transactions that JMS activities can participate in. 33. What is a check point activity and confirm activity? Ans: A checkpoint saves the current process data and state so that it can be recovered at a later time in the event of a failure. If a process engine fails, all process instances can be recovered and resume execution at the location of their last checkpoint in the process definition. The Confirm activity confirms any confirmable messages received by the process instance. For example, if a process is started because of the receipt of an RVCM message, the Confirm activity can send a confirmation message to the publisher of the RVCM message 34. What happens if you use check point activity first and confirm next? ans: In the case of confirmable messages , you must consider the consequences of performing a checkpoint before or after a Confirm activity. If the checkpoint is taken before the Confirm activity, then a crash occurs after a checkpoint but before a confirm, the original message is resent. In this case, the restarted process can no longer send the confirmation. However, a new process is started to handle the resent message, and you can implement your process to handle the restarted and new processes appropriately. If the checkpoint is taken after a Confirm activity, there is potential for a crash to occur after the Confirm but before the checkpoint. In this case, the message is confirmed and therefore not redelivered. The process instance is not restarted, because the crash occurred before the checkpoint. You must consider the type of processing your process definition performs to determine when a checkpoint is appropriate if your process definition receives confirmable messages.

35. 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. 36. What is the other JMS activity you would use to address the problem? Ans: Get jms queue message. This incorporates a message ID to identify the true message. 37. What are the activities you used to publish the messages from BW process to network on RV? Ans: publish rv message activity (along with the shared resource rv transport). 38. What is the transition in BW? Ans: to move the data from one activity to another or when conditions exist on the data. 39. What are the different kinds of condition types you can have in transition? Explain Them Ans: a)Success :- Take this transition unconditionally. That is, always transition to the activity the transition points to, if the activity completes successfully. This is the default condition for transitions. b)Success with condition :- Specify a custom condition using XPath. If the activity completes successfully, and the condition you create evaluates to true, the transition is taken to the activity it points to. You can type in an XPath condition, and you can use the XPath formula builder to drag and drop XPath expressions and data into the condition. See Chapter 9, XPath for more information about specifying XPath conditions and using the XPath formula builder. c)Success if no matching condition :- Take this transition when the activity completes successfully, but only if no other transitions are taken. This is useful when multiple transitions with conditions are drawn to other activities. This condition type can be used to handle any cases not handled by the conditions on the other transitions. d)Error :- Take this transition if there is an error during processing of the activity. 40. What is Generate Error activity? What the applications of it ? Ans:This activity generates an error and causes an immediate transition to any error transitions. If there are no error transitions, the process instance halts execution. This activity is useful in a group or in a called process. If you would like to catch and raise your own error conditions, you can use this activity to do so. 41. What are the shared variables and process variables? Ans: Process variables: Process variables are data structures available to the activities in the process. You can define your own process variables and assign values to them in your process definition. Process variables are defined on the Process Variables tab of the Process Definition resource.

And assigning values to these kind of variables is done using the assign activity. Shared variables: A Shared Variable resource allows you to share data across process instances. All process instances can read and update the data stored in a shared variable. This type of shared variable is useful if you wish to pass data across process instances or if you wish to make a common set of information available to all process instances. 42. What is XPATH? Ans: isa XML based path language used to navigate the XML document and manipulate the data 43. What is XSD? Ans: XML schema definition. 44. What is name space in XSD? Ans: A name conflict will occur when two different documents use the same element names. So each element is given a unique namespace. 45 what is aweb-service? Ans: application or a network responding to some remote web-request. 46what isw a wsdl?what are different types of wsdl? Ans:Web-services run on wsdl,it defines structure of schema.There are two types of wsdl Abstract wsdl:-Used on server side,contains request,response and type of operation performed. concrete wsdl:-used on client side,contains abstract wsdl and transport used. 47. What are the modes of installation of tibco bw applns? a. GUI mode b. Console c. Silent mode 48. What is the thread count in tibco administrator? a. 8-32 threads for BW engines b. For http connections-10/75 c. JMS-its a single thread model 49. What is Max jobs, Flow limit, and Activation limit? a. Max jobs: Max jobs specify the number of process instances that are kept in memory while executing. b. Flow Limit: it is the max number of jobs that can be spawned before the process starter is suspended. c. Activation Limit: Specifies that once a process instance is loaded and it must be placed in memory till it completes execution. 50. What are tibco best practices-users? a. User tibco should be master of all applications. b. User tibcou should have read only access to tibco applications and have read write access to logs owned by developer groups. 51. In how many ways can you deploy EAR file? a. Using tibco administrator GUI

b. Use Appmanage utility to deploy EAR file into targeted domains 52. Whether to use check point/confirm activity first? a. BW doc/general palette/checkpoint/confirm 53. What information can be found in the appmanage.batch file? a. Component paths, service instance paths that is required to run AppManage utility 54. What is difference between EMS and RV? a. Ems is centralized where as RV is bus based 55. What are the 2 message transport types? a. Ems has 2 message transport types i. Point-to-point: queues ii. Pub-sub : topics 56. What is the diff between tibco adapter and BW component? a. Adapters are connectors that use a messaging channel that can be configured over source/target systems which can be used in Pub,Sub or Replyrequest mode. BW components are designer, administrator, bw engine. 57. Why are routes used? a. When we have to send messages from one server to another. 58. What parameters would be used to control storage in EMS? a. Flow control property 59. What are the diff types of messaging services in RV? a. RV b. RVCM c. RVCMQ d. RVRD 60. Which transport is used between hawk agent and hawk microagent? a. Rv 61. What re the three transport types available when configuring a tibco component? a. HTTp, RV,local 62. What is the standard file extension of deployment files? a. EAR 63. How many ways are there to move files between 2 secured UNIX servers a. Sftp /https 64. What information can be found in the tibco bw tra files? a. Service instance machine names, fault-tolerant settings, java heap sizes, jmv lib paths , repository URL 65. Can you give one example for sync and async operation? a. Sync-request-reply and req-reply invocation services b. Async-publication and subscription services 66. What are the different types of queues? a. Static-created by the user b. Dynamic- created by the sender/receiver application at run time. c. Temporary- created by receiver to submit the response to EMS server/Sender to get the messages. 67. What are the various types of application property types in EMS? a. Boolean, byte, short, char, int, long, float, double, string. 68. What are event queues?

a. An event queue contains received but undelivered messages, periodic timers, and state change callbacks etc. 69. What are the wire formats supported by file adapter? a. AE,XML,RV 70. What is job shared variable and shared variable? a. Job shared variable- is used to share the value of the variable between the main process and the sub process. b. Shared variable- is used to share the value of the variable between two processes 71. What is the difference between jdbc and adb a. Jdbc is a collection of activities that can be used for custom operations b. ADB is an adapter which is used to capture the events and take action, this has pub and sub mechanisms, pub is used to capture the events and publish the messages and sub will be used to upsert the operations. 72. How is reduce the load on ems server? a. Using maxbytes, flow limit, prefetch mechanisms 73. What is a tibco domain? a. Its a collection of software and hardware components that are used for business process integration. 74. What is tibco hawk agent? a. Its a independent process that monitors the status of the applications. 75. What are the resources that get included in the EAR file, created by the TIBCO designer? a. EAR file contain i. Local project resources ii. Library builder resources iii. Alias library resource files iv. Files referred in classpath of designer v. All the files under the designer installation directory. 76. What is tcp and udp a. Tcp is used for client request. Udp is used for service call. 77. What is the difference between RVD and RVRD a. RVD is used to route with in a subnet b. RVRD is used to route through different subnet. 78. What are message selectors? a. Message selectors are used to filter messages based on expression syntax. This reduces the processing overhead from the application. 79. What is a Home Queue and what is a Routed Queue in EMS routes? a. Home Queue: The global queue sitting in the EMS server, where Route is being created. b. Routed Queue: the global queue sitting in the EMS server where the queue name is referring to route. 80. What is the EMS maximum message size? a. The maximum message size is 512 MB. 81. What are the delivery modes supported by EMS server? a. EMS supports 2 delivery modes i. Persistent ii. Non-persistent iii. Reliable.

82. What are the message types supported by EMS? a. Text b. XML c. Bytes d. Stream e. Simple f. Object g. ObjectRef h. Map 83. What are the wildcard characters supported by EMS? a. * - means that any token can be in place of *. b. > - matches any destination name i.e., it matches one or more trailing elements. You can subscribe to wildcard topics but cant publish. You can neither send nor receive from wildcard queue names 84. What is the default storage limit for destinations? a. Setting the flowControl property on a destination but specifying no value causes the server to use a default value of 256KB. 85. What is the syntax to create bridges? a. Create bridge bridge_name source=destination_type:name target=destination_type:name 86. How do avoid/stop creation of dynamic queues/topics? a. By deleting the parent queue > 87. Explain what do you understand by TRA? a. TIBCO Runtime Agent is a bundle of tibco software and third-party software that is needed to run many TIBCO applications such as TIBCO Business works and Adapters 88. What are the components installed when you install TRA? a. TIBCO designer b. Java Runtime Environment c. TIBCO Hawk Agent d. TIBCO Rendezvous e. TIBCO Domain Utility f. TIBCO Wrapper etc. 89. Explain TIBCO Hawk Agent? a. It is an autonomous process that resides on each computer on which TRA is installed. Hawk Agent uses a set of rules called rulebases to configure system management, status and automation tasks. 90. What is the use of TIBCO Wrapper utility a. It allows deployment of a TIBCO product or TIBCO Adapter SDK based custom adapter as a service. 91. How is load balancing done in Randezvous? a. Using distributed queues 92. What protocol does RV uses to communicate with in a subnet and outside the subnet? a. UDP within a subnet b. TCP outside subnet. 93. What is the difference between technical and functional adapters? a. A b. F

94. What is the use of secured queues and topics? a. Setting secure property to queues/topics can restrict unauthorized users from publishing/sending and subscribing/receiving the messages. 95. What is Publish by value and Publish by reference? a. In Publish by Value, all the specified columns in the source table are copied into the Publishing table. b. In Publish by reference, only the specified key column values are copied to the publishing table. 96. What are the services available in Adapter? a. Publication service b. Subscription service c. Request-response service

Middleware--TIBCO
Middleware why? Answer: 1.for best performance. 2. For synchronizing data flow amongst various applications with in a enterprise across the enterprise 2) Difference between point-to-point, multicast message and broadcast message Point to point is between one publisher and single subscriber. Multicast is between publisher and known subscribers. Broad cast is between a publisher and many unknown subscribers. 3) What is the advantage of Subject based addressing? Answer: 1.Can publish broadcast messages to distribute information quickly and reliably to many consumers. 2. (Location Transparency) Program processes can communicate without knowing the details of network addresses or connections. 3. (Decoupling and data independency) we can dynamically add, remove and modify components of a distributed system without affecting other components. 4) Platforms supported by TIBCO? Answer: Platform independent. ADB 1) Design Time configuration. 2) Run time ODBS configuration. Which driver did you use? 3) What are the various services provided by ADB? Answer: 1.Publication Service. 2. Subscription Service.

3. Request-response service. 4) How do you configure the Request Response Service and use it? Answer: 1. this service is often called as RPC (Remote procedural call).It is demand driven type. 2. In this the adapter receives request from one application, parses the request, calls the appropriate component i.e. query or call procedure to set the input fields. 3. And then calls the other set of component to get output fields. The output Fields are wrapped into a schema and sent back to the caller as response. 4. We can configure ADBServer with 3 tabs, A. Configuration tab B.Call operation tab C.Advanced tab 5. Configuration tab a. Name Service Name b. Transport Type JMS or TIBCO RV C. If TIBCO RV is Transport type Quality of service -- Certified, Reliable and DQ. D.If JMS is Transport type Connection Factory typeTopic and Queue E.Delivery Mode if JMS is selected Durable (Persistent), Non-Durable (Non-persistent). F.Mode Request reply is the basic request reply mode. The Server subscribes the request and publishes the reply. RPC allows us to configure adapter to act as RPC i.e. remote procedure call. G.Wire FormatRV Messages (TIBCO RV only) ---XML Message (TIBCO RV or JMS) ---AE Message (TIBCO RV only) 5) In what scenario would you use the Publication and Subscription service? Answer: Subscriber: When running as a subscriber, the adapter listens on a subject, receives messages and updates the relevant tables, in its associated DB.Then the data is available to other applications that have access to DB. Publication: When running as a publisher, the adapter extracts data from the Changed rows from database tables and publishes them on appropriate subject names. 6) How do you create/specify the relationships between the Primary and the child tables? Answer: JoinTo is the tab available in TABLE tab for parent child relation ship. 7) How does ADB maintain/handle the exceptions that occur? Answer: Next Question Answer. 8) What are the various exception tables? Answer: 1.Exception Table 2. Opaque Exception Table Exception Table: If adapter is unable to write data into subscriber table, it writes the data into Exception table with the exception raised. If this table is not configured previously, it is created by subscription service when an exception raised. Opaque Exception Table: A message is logged into this table when subscription service is fails to generate records in the destination table or the adapter fails to insert a message into an Exception Table (above Table). 9) Can ADB be used to invoke call procedures? If so, how?

Answer: Subscriber service: In subscriber options tab we have Pre Commit Stored Procedure. In this field we have to specify the name of stored procedure .The procedure is called after the insert, delete, update and prior to commit. The procedure is executed and returns results to the adapter. Request-Response service: If mode option (in configuration tab) is selected with RPC, Call operation tab is going to appear .It have the fields, A. Name ----unique name of call operation. B. Catalog/Packagepackage /catalog where the procedure resides. C. Schema D. Procedure name. E. Select procedure F. Maximum rows. G. One way. 10) What are all the databases that ADB support? Answer: In adapter Instance configuration tab, we have menu called Vendor. It contains the DBs supported by ADB.Example Oracle, Sql Server, and DB2 etc. 11) If introspecting table and updating table is same then how can you avoid publishing of data after doing some modifications? Answer: We have to check the checkbox Enable loop detection publisher options tab. If loop detection is enabled, the following column is added to the source table ADB_SOURCE, Tindicates the row is not to be published, NULL indicates the row can published. 12) ADB_L_DELIVERY_STATUS (MY QUESTION) Answer: P-indicates pending Acknowledgement. N-indicates that new message has arrived, but has not yet been published in the publication table. C-indicates completed publishing. F-indicates failed publishing. 13) ADB_OPCODE (MY QUESTION) Answer: Operation codes used by ADB, 1-indicates INSERT 2-indicates UPDATE 3-indicates DELETE 4-indicates UPDATE if row exists, otherwise INSERT. BW 1) What is the Difference between 2.x and 5.x for those who worked on both 2) What is a BW process phases?(MY QUESTION) Answer: 1.Analysis (Define and analyze problem).CLEAR UNDERSTANDING OF REQUIREMENTS a. define and delimit the problem. b. identify process. c. identify components. d. describe business events and objects. e. design business process. f. consider domain setup. 2. Domain Setup (Install software and configure domain).HARDWARE AND SOFTWARE

REQUIRMENTS SOTHAT TROUBLE FREE TRANSITION FROM DESIGN, DEPLOYMENT AND ADMINISTRATION 3. Service Configuration (Configure Adapters). ---Web services interacting with internet and adapter services interaction with files, DBS and ERP applications a. Installing the adapters. b. Setting up design time adapters. c. Configuring the run-time adapters. d. Accessing the adapter service from process. 4. Process Design (Implement & test business process).Using TIBCO designer GUI we create our business process using predefined activities and add conditions and mapping as appropriate. 5. Deployement (Deploy to run time engine).After testing it in development environment it is deployed in the test environment. After TIBCO admin GUI is used to deploy the ear files (which are created by TIB Disgner) 6. Production (Manage & Monitor deployment) 3) What are different types of groups?(MY QUESTION) Answer: 1.Transaction groups 2. Variable groups-Use global variable groups to allow multiple developers to work on global variables simultaneously. Each group has its own file in multi-file project. 4) What are the components of process definition?(MY QUESTION) Answer: 1.Activities 2.transactions 3.Groups 4.Shared Configuration Resources 5. Sub process 5) What is a pallet?(MY QUESTION) Answer: Pallet is a resource, which organizes activities of same domain. It allows us to add activities to our project when we select it. 6) What are all the pallets you have used?(MY QUESTION) Answer: 1.Parse Pallet. 2. JMS pallet. 3. RV pallet. 4. General Activity Pallet. 5. XML Activity pallet. 6. File pallet. 7. JDBC pallet. 8. Soap pallet. 9. Http pallet. 7) What are the various messaging options available in TIBCO BW? Answer: 1. RV Messaging. 2. EMS Messaging. 3. Smart Sockets. 8) How is Conditional branching possible in Tibco Business Works what are the various options available? Answer: 1.If...Else otherwise ---transition success with condition and other condition. 2. Surround with values. 3. 9) Linked to Q 3 above how will you accomplish if ...Else otherwise logic using BW.

Answer: transition success with condition and other condition. 10) What are Process and Global variables? Answers: process variables are those which are local variables of a process. Out of process these variables disappears. Global variables are can be accessed in any process with in the project, these are just like application properties file in java. URLs, username and password of external servers are saved as global variables. 11) Can Process variables be changed at run time? Answer: yes. 12) How will I change the Global Variables in the Production Env, once it is deployed? Answer: Tibco administrator has the privileges to change the global variables in the production environment but these values are going to effect only when restart the engine. 13) How is Error Handling done in BW, how can the try.catch block be implemented in Tibco? Answer: 1.By taking transition with condition type error 2. Generate error activity from General activity pallet. 3. Use group to create a set of activities that have a common error transition. This behaves as try catch block .This allows us to have a set of activities with only one error handling transition, instead of trying to catch errors on each activity. 14) What is the difference between DTDs and XSDs? Answer : DTD(Data type definition): it is old version of specification of xml.It do not validate the data types of xml content and sequence of elements and do not have specific rules as like XSD (xml specification definition).XSD validates the data types and as well as parent elements, no of child elements ,sequence of elements and repeating elements. 15) Why would you use the checkpoint activity? Answer: When detecting duplicating messages, it is important to place the Check point activity before any activities that we do not want to execute more than once. The state of the variables (input massage) is saved in the check point. 16) How does wait and Notify activity work in Tibco Business works? Answer: TIBCO BW provides Wait and Notify activities and the Receive notification process starter to handle inter process communication. A process containing wait activity waits for another process to execute a corresponding Notify activity. It is like wait and run methods in multithreading of java. 17) What is the difference between Copy of and For Each in Tibco Business Works? Answer: Copy of: It is an XSLT statement to create a copy of selected node, including child nodes .Both the copied node and destination node must have the same name and structure. For- Each: Performs the specified statements once for each time in the selected node. This is use full if we wish to process each item of a repeating element once. 18) Consider that I have huge file to be read, can I use read file activity? How can I improve the performance, I need to select 10 records at a time, how is it possible. 19) How do you create an EAR file and deploy it. What does an EAR file contain? 20) What is an activity?(MY QUESTION) Answer: 1. Activities are individual units of work in a process definition. 2. Activities are generally operations that interface to external systems.

3. Activities are communicated with in process. 21) What is the difference between AE schema and the properties file? 22) How will you debug the BW processes? Answer: 1.Write to log activity from general activity pallets. 2.using break point after every activity and logging inputs and outputs of an activity ,checking all these are properly mapped or not. MY Questions 23) What are various activities in soap pallet? Answer: 1.Retrieve Resource. This activity is on soap client, when the client needs WSDL file we need to configure this activity. This makes WSDL file available to the client. 2. Soap Event Source. It is process starter on the server side. It receives the request from soap client. It creates the process instance for the incoming soap request. 3. Soap request-reply. This activity performs a request on the specified web service and optionally expects a reply from the web service. 4. Soap Send Fault. This activity sends a soap fault /error to the client if an error occurs during processing of a soap request. 5. Soap Send reply. This is sending reply to client. 24) What are various activities in JMS pallet? Answer: Queue: 1.Queue receiver .receives the request. Process starter on server side. 2. Queue sender. It is also a type requester but it does not expect any reply from the server. It also acts as Queue requester. 3. Queue requester. Sends request to the queue and expects the response .It is used in combination with the reply to JMS message. Topic: 1.Topic subscriber. It is process starter on server side .It creates process instance for the request on receiving a request. 2. Topic publisher. It acts as requester but does not expect any response kind from server. 3. Topic requester. It sends request to the server and it expects a response form the subscriber. It is used in combination with the Reply to JMS message. 25) What are the various activities in the RV pallet? Answer: 1.Publish RV message. publishes message on subject to the RV subscriber. 2. RV subscriber. It listens the messages on a subject and creates process instance on the 3. RV Transport. 4. Reply to RV request. 5. Send RV request. RV/JMS 1) What is the different types quality of services RV available? Reliable Certified Distributed Queue Difference between reliable and certified. Answer: 1.In case of reliable there is no guarantee of delivery of msg but in case certified, guarantee of msg delivery. 2. The msg is saved for 60 sec only on publishing side but in case of certified the msg is saved until it get acknowledgement from scriber.

3. The msg is saved in daemon (temporarily) but in case of certified there is a concept of ledger files. 4. Reliable is best in case of broadcasting mode and certified is best in case of multicast and point to point. What for Distributed Queues are used? Answer: It is the concept of load balancing on subscriber side. It is implemented when there is a huge rate of data transfer. What is Persistent/Non-Persistent in JMS? Answer: messages are made persistent or non persistent .The messages are saved in persistent store in case persistent, if ems server is down there is no loss of messages in destination. The subscribers or receivers get messages after ems server is up. But in case of non persistent, once the server is down means the messages are lost. What is durable /Non-Durable in JMS? Answer: subscribers are configured as durable or non Durable. The durable messages will get msg when they are up i.e. we are forcibly make topic subscribers as asynchronous by making them durable subscribers. Non durable subscribers should always in active mode in order to get messages. Which one is having more security RV or JMS? Answer: JMS is more secured because it is server based. What is Network, Service and, Demon Parameter? Answer: Daemon: It is not specified if RVD is running on the same system. If RVD is running on remote system it is specified. It contains hostname followed by socket number. Network: This field contains network (hostname, IP address and network name). It contains 3 parts, separated by semicolons network, multicast groups, and send address. Multicast groups it is an IP ADDRESS separated by commas, these are the listeners in the network group. Service: It is a port number or service name. Is it possible to change the Service parameter? Answer: If we specify the service parameter the data is diverted to that port. Which protocol does RV use for Reliable Messaging Answer: UDP How do you detect if RV or JMS Server is down using administrator? How Point-to-Point is accomplished using the Rendezvous Palette? How are Distributed Queues configured in Tibco BusinessWorks? What are the different kinds of Ledger files? Answer: 1.File based ledger: This ledger file is generated when we are specifying the name. Even the process terminates, transport is destroyed the ledger resides in the disk. 2. Process based ledger: If we are not specifying any name i.e. NULL, it is considered as process base ledger. If process terminates, transport is destroyed the ledger will lost and it can not be used for new transport. What is the difference between a topic and queue? Answer: Topic-synchronous mode of communication. -publisher and subscriber model. -broad cast type messaging. -there is no guarantee of delivery. Queue-asynchronous mode of communication.

-point to point model. -unidirectional type of messaging. -there is guarantee of delivery. When will u use a topic and when will u use a queue? Answer: 1.only one producer and only one consumer is there then Queues are used. Simply Queue is of type Point to Point. One or more than one publishers and one or more than one subscriber is there than Topic. Simply Topic is of type Broadcast messaging. Can queues be shared between two consumers? Answer: Yes. If queue is non-exclusive (default) it can be shared by any number of consumers. Non-exclusive queues are useful for balancing the load of incoming messages across multiple receivers. What is an exclusive queue? When would u use it? Answer: If queue is exclusive, then all queue messages can only be retrieved by the first consumer specified for the queue. Exclusive queues are useful when we want only one application to receive messages for a specific queue. A message in a queue can be consumed by how many consumers? Answer: if all are non-exclusive queue any number of consumers will receive messages. If exclusive queue, the first consumer will get messages. How will you grant privileges to topics and queues? Answer: Only EMS admin have privilege What are the protocols supported by JMS/EMS? Answer: 1.SSL (HTTP) 2. TCP Java 1) What are the various activities available? 2) What is Java method, Java function activity? 3) Java to XML , XML to Java activity 4) For any java methods to be used in BW, what are the conventions to be followed (what should the declaration of the method be) ADMIN 1) What is fault tolerance? 2) How do you configure FT? 3) What is Load Balancing? How do you incorporate this using TIBCO? 4) What are the diff types of Load Balancing? What is the difference? 5) In a Fault Tolerant scenario, how will a secondary know Primary is down, and how many Machines can be configured for Secondary servers. 6) What are the various kinds of relationships that can be configured between Master and Secondary? 7) What are Rule bases? How do you configure rule bases? What are the various actions that can be taken? 8) What is a domain, how will we create it, why do you create it, is it necessary? 9) How do you change the RV parameters for a domain? 10) What are the various tabs that appear on uploading an EAR file? 11) Can you create EAR file using Scripts, and also deploy using Scripts, if so what are all the commands. 12) How would you add a machine in the Domain, using what utility?

13) Can a machine be part of Two Domains, if so how? Adapters/SM 1) How is Dynamic Overriding possible in 5.x is it possible from admin console. 1) U can ask Gen Qs as to how was the adapter configured , the various msg format conversions , error handling of adapters 2) How was the data published? Transformation rules etc etc 3) How do you configure the designtime adapter and the Run-time adapter? 4) How does Publish-subscribe and Request-Reply mechanism work in adapters. 5) How you monitor simple Hawk console in administrator, what do I need to change in the TRA entries so that I see the hawk screen in the administrator. 6) What are the different kinds of Ledger files 7) What is SmartMapper, how will you do Cross-referencing. How will you use Lookup methodwhat are the Parameters that should be specified. XPATH 1) What are the different conditional statements available? 2) What are the different functions/operators available String, Date/Time, number, Logical etc etc. City Bank Singapore 1) What is Target Name Space while defining XSD? Answer: 1.It follows the URL syntax. 2. It must be unique for every wsdl file. 2) What are BW Templates? Answer: Project Template is a pre-built project. It can contain folders for organization, configured resources and partially configured resources .We can use these templates as foundation for other projects similar in nature. Using a template we can leverage our work when performing similar work. We can customize these templates to use in new project. It make the process fast. 3) What is the Soap version you have used? 4) What is critical situation you have faced while mapping? 5) What is the difference between AE Schema and RV message? 6) How we can change Global variables after deployment and design time? 7) What is namespace in relation with XSD? IBM Rahul 1) What is an event object? 2) What are event-queues? 3) What are inbox-names? Answer: Transport objects can create inbox names, designating a destination that is unique to that transport object and its process. Rendezvous software uses point-to-point techniques to

deliver messages with inbox subject names. One common use of inbox names is as reply subject names in request/reply interactions 4) What are the wire formats supported by file adapter? OSI-HYD 1) How we can implement DQ with ADB adapter? 2) How many Child tables can be added to a Parent table? 3) How you deploy application with Administrator? 4) What is TIBCO designer? Answer: TIBCO Designer is a graphical user interface for designing and creating integration project configurations.TIBCO designer allows us to drag and drop components into a project and build an EAR for the project. 5) What are all the protocols used in RV? 6) What is TRDP? 7) What is the difference between RVD and RVRD? 8) What is mapper activity? Answer: A Mapper activity adds new process variable to the process definition. This variable can be simple data type, a TIBCO AE Schema, an XML-schema or complex structure. It is usually used with data format. 9) What is Direct Communication? Answer: A direct communication is a scenario, communication without RVDS on both sides of applications. 10) What is loop detection in case of ADB? 11) How many ways we can create ear file? Answer: 1.We can create EAR file through the Designer. In general pallet of designer we have Enterprise archive icon before this we have select a folder then only we can get the general pallet of designer. And give the required information in the configuration tab and click the build archive. 2.Through Adapter resource pallet of designer we can create the Adapter Archive (aar)file. 12) How the scheduler is created in RVDQ? Answer: The scheduler is decided basing on different parameters, 1. Scheduler weight. The group members with higher weight become the scheduler when services are started. 2. Heart beat interval. 3. Schedular Activation Interval. 13) What are designer pallets? Answer: 1.General pallet. 2. XML-tools pallet. 3. Adapter resource pallet. 4. Adapter schema pallet. 5. Repository pallet. 14) How do test the performance of the ADB adapter? Answer: Performance of ADB adapter depends on 1. Polling Mechanism. In Adapter services tab we have fields use polling batch size , Poling Interval and Polling batch size. If use polling batch size is not checked i.e. not activated, the

adapter is going to pick all the new rows and publishes .This could effect the adapter performance. If this field is checked Polling batch size field is activated, only that number of records is picked up by adapter per polling interval. So performance of adapter is improved. Polling interval is the field specified in milliseconds. The default is 5000.This is the time interval often checked by the adapter publishing service into the table for new records. If the Polling interval is set to 0 (zero), it is assumed that we are using alerter to manage the polling. 2. Messaging groups. Dubai-raja & Chandra Bose 1) What is spanning while using call process activity? Answer: If this option is checked the parent process cannot access the sub process output. The called process (sub process) executed as separate process instance. 2) What is pick first groups while working with groups? Answer: Pick first groups allow process execution to wait for one or more events. The first event that completes determines which transition to take to continue processing. Only request/reply, wait for activities and the activities that have the pause symbol can have valid transitions from the start of the pick first group. 3) What is dynamically determining the process to call? Answer: Here we can call a sub process basing on a condition like if else. If some condition is true executes one process else other process. The condition is an X-path expression. Here in this case dynamically determined which sub process to be basing on request condition. 4) What is the critical section of a group activity? Answer: 1.critical section groups are used to synchronize the process instances so that only one process instance executes the grouped activities at any given time. All other process instances will be in waiting until the currently executing process instance completes critical section group. 2. Critical section groups are particularly useful for controlling concurrent access to shared variables. 3. Synchronization can be done for 1.single process definition for single process engine.2.multiple process definition for multiple process engines. 4. We have select single group/multiple groups from SCOPE field. 5) What is TIBCO BW? Answer:

Tibco EMS server faq's

Tibco EMS server faq's

1. what are the two storage methods used by Tibco EMS server? Ans : File based and database 2. what files are created in file based data storage method? Ans . sync.db,async.db,meta.db 3. what information does Meta.db contain? Ans . durable subscribers, fault tolerant connections and other meta data. 4. what does flow control property specifies ? ans . specifies the maximum size of the pending messages in server. 5. what are the destinations of messages? Ans : topics and queues. 6. in how many ways destinations for messages can be created? Ans . static : administrator creates destinations and client programs uses the destinations Dynamic: here client program creates destinations during runtime Temporary: servers connected through routes communicate through temporary destinations.

7. what are the messaging models supported by ems serve? Ans . point to point ( queues), pubsub (topics), multicast (topic). 8.What is the diff between exclusive queues and non exclusives ? Ans . in exclusive only one receiver can take message where as in non exclusive many receivers can receive msg. 9.how long the message will be stored for durable subscribers? Ans . as long as durable subscriber exists or until msg expiration time reached or storage limit has been reached. 10. what are the different delivery modes supported by ems? Ans . persistent, non persistent and reliable. 11.what is the dis advantage of reliable mode delivery? Ans . in reliable , with out knowing the status of the consumer the producer keeps sending msg to server 12. what is the condition for persistent message to be stored on disk in topics? Ans . there must be atleast one durable subscriber or one must be connected to fault tolerant connection to ems server. 13. how do you distinguish dynamic queues and static queues.? Ans . dynamic queues have * before the queue name. 14. what happens if npsend_checkmode parameter in tibemsd.conf file is enabled? Ans. Server sends acknowledgement for non persistent message. 15. what is shared state in fault tolerant operation ? Ans . primary server and backup server have connection to shared state which contain information about client connection and persistant messages. 16. how many ways a back up server detects failure of primary server? Ans. Hearbeat failure:-Primary server sends a heartbeat message to backup server to indicate primary server is working . connection failure :-backup server detects the failure of tcp connection with primary server 17.what is the use of locking in fault tolerant operation? Ans.Inorder to prevent the backup server to take the role of primary server, the primary server logs the shared state in normal operation and during the failure of primary server backup server takes the lock and access primary server. 18.If authorization is enabled in tibemsd.config file what is the condition to configure ems server as fault tolerance? Ans.Server name and password for both primary and backup server should be same and username and password for both servers should match the server and password parameters in tibemsd.config file. 19. what are the changes to be made in config file for ems fault tolerant operation? Ans . in primary server give url of backup server to ft_active parameter and in backup server give url of primary server for ft_active parameter. 20. different types of zones? Ans. Multihop zone and 1hop zone. 21. what is fail safe? Ans. In fail safe mode messages are frist stored in disk before sending messages so

that no messages are lost. 22.what is the default port number for ems server? Ans 7222. 23. difference between rendezvous and ems? Ans. Rvd is bus based architecture , ems is centralized architecture 24.what are different acknowledge modes? Ans. Dups_ok_acknowlwdge,auto_acknowlwdge,client_acknowledge,no_acknowledge. 25. 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. 26. What are the message storing mechanisms of queues? Ans: persistent and non-persistent. Persistent: messages are stored to external storage before sending. Non-persistent: not stored to any external storage. The information will not be available for retrieval. 27.what is condition to create bridge? Ans. Queus and topics must be defined as global. 28. why do we need routers ? Ans. To transfer messages between different ems servers. 29. what is the default maximum size of message? Ans. 512mb 30. how do you configure client for fault tolerant connection? Ans. Specify multiple server as a comma-separated list of URLs and both URLs must use same protocol either tcp or ssl. 1. What are two properties of TIBCO EMS protocol bridging with TIBCO SmartSockets? (Choose two.) A. TIBCO EMS can import and export TIBCO SmartSockets messages through topics. B. Messages are imported on a TIBCO EMS queue only when the queue has receivers. C. TIBCO EMS can import and export TIBCO SmartSockets messages through queues. D. Messages are imported on a TIBCO EMS topic only when the topic has registered subscribers.

2. Which command, executed on Server A, creates an active-passive route from Server A to Server B (Server B fault tolerant with Server C) that restricts messages on topic foo.bar to messages with a Quantity application property greater than 10?

A. create route B url=tcp://B:7454,tcp://C:7454 zone_name=Z1 zone_type=mhop outgoing_topic=foo.bar selector="Quantity > 10" B. create route B url=tcp://B:7454|tcp://C:7454 zone_name=Z1 zone_type=mhop outgoing_topic=foo.bar filter="Quantity > 10" C. create route B url=tcp://B:7454,tcp://C:7454 zone_name=Z1 zone_type=mhop incoming_topic=foo.bar selector="Quantity > 10" D. create route A url=tcp://B:7454,tcp://C:7454 zone_name=Z1 zone_type=1hop outgoing_topic=foo.bar filter="Quantity > 10"

3. Which two statements are true about TIBCO EMS fault tolerance? (Choose two.) A. TIBCO EMS fault tolerant servers both must have access to a shared state. B. TIBCO EMS fault tolerant servers are deployed as a primary and secondary pair. C. TIBCO EMS fault tolerant servers must have separate primary and secondary storage files. D. TIBCO EMS fault tolerant servers operate as a hot-hot deployment. Both servers can accept client connections at the same time. E. TIBCO EMS fault tolerant servers are responsible for replicating stored messages across the primary server and secondary server database files.

4. Topic connection factory TCF has been configured for connections to host H port 7222. Assuming that context ctx has been established, which two expressions will succeed? (Choose two). A. ctx.lookup("tcp://H:7222") B. new TopicConnectionFactory("TCF") C. new TibjmsTopicConnectionFactory("TCF") D. (TopicConnectionFactory)ctx.lookup("TCF") E. new TibjmsTopicConnectionFactory("tcp://H:7222")

5. Using TIBCO EMS, when will a topic message be ledgered to secondary storage? A. When the message is bridged to a queue. B. Whenever the message uses persistent delivery mode. C. When the message uses either persistent or reliable delivery mode. D. When there is an offline durable subscriber for the persistant message.

6. Which two prohibit re-delivery of a message? (Choose two.) A. An AUTO_ACKNOWLEDGE session that completes message processing. B. A NO_ACKNOWLEDGE session that fails to complete message processing. C. A DUPS_OK_ACKNOWLEDGE session that completes message processing. D. An EXPLICIT_CLIENT_ACKNOWLEDGE session in which the client successfully calls acknowledge().

7. Which three statements are true about the TIBCO EMS Administration Tool? (Choose three.) A. Administrators cannot be defined in an external directory. B. It is not possible to grant or revoke any permissions to the user admin. C. $admin is a special group of system administrators of which only admin can be a member. D. An administrator of a protect group can view users that have a different protection permission set.

8. As shown in the diagram, EMS is located on servers A, B, C. Routing is enabled for all three servers, and active-active routes are defined between each server. All routes belong to zone Z1. Queue foo.bar has been created on Server B, with routed queues created to Server B from Server A and Server C. A producer P has been created for foo.bar on server A. A receiver R has been created for foo.bar on server C.Which statement is true?

A. If server B fails, it will cause messages produced by P to be stored on server A.

B. If server B fails, it will cause producer P to be blocked until server B is restarted. C. If server B fails, it will cause messages produced by P to be stored on server C. D. If server B fails, it will cause messages produced by P to be lost, until server B is restarted.

9. A bridge is defined from the topic foo to the queue bar. Both foo and bar have the secure property and the server authorization is enabled. In this situation, in order for a message to successfully reach queue bar, the producer needs permission _____. A. to publish on foo only B. to publish on foo and to send on bar C. to publish on foo and to receive on bar D. to publish on foo and to send and receive on bar

10.Which statement describes how to enable message compression? A. Set message property JMS_TIBCO_COMPRESS to yes. B. Set message property JMS_TIBCO_COMPRESS to true. C. Set message property JMS_TIBCO_COMPRESS_MESSAGE to yes. D. Set message property JMS_TIBCO_COMPRESS_MESSAGE to true.

Answers: 1) A and D 2) A 3) A and B 4) D and E 5) D 6) B and D 7) A, B, and D 8) A 9) A 10) B Prometric

TIBCO Developers Library: What is Business Works?


Easy programming, fast development and powerful software in creating business applications are needed by businesses in today's trend. Such software saves time, money and effort for both developers and users and produces a very high quality output. This is where TIBCO ActiveMatrix Business Works comes in to let you experience it all. What is TIBCO ActiveMatrix Business Works? TIBCO ActiveMatrix Business Works is a set of software that enables developers to easily create and deploy business application. It's fast, easy to develop and integrate business applications using this software. It uses a development tool called TIBCO Designer in creating business application. The designer also has an integrated tester that helps the developers debug their processes before deployment. It supports standard protocols such as HTTP/S, FTP, SMTP, JDBC, as well as Java, XML and Web Services. It is also robust in exception handling and error reporting. This software offers full visibility of business processes not just to the developer but also to the companies that use the application. It uses a web-based administration tool called TIBCO Administrator. You use this tool to manage your application, monitor the inputs, outputs, logs and even the execution of the processes. You can even tune the performance of your applications using this tool. BusinessWorks uses basic identity authentication or SSL with certificate management for its security capabilities and TIBCO Messaging such as EMS and RV for its messaging capabilities. What are its benefits? The benefits that you can get if you are to use BusinessWorks in creating business application are: it reduces the amount of time and effort required to develop and deploy business activities because you are provided by a designer environment that lets you design and configure processes with less coding; and it extends the life of existing business processes. Because all business processes are connected via TIBCO bus, when you create new business processes, all you just have to do is connect the application to the TIBCO bus for it to be integrated in your existing project. There is no need for you to delete your old application but you just need to integrate your new application to your old application. These benefits will really help you save time and money. What are the key components in using BUSINESS WORKS? The key components are TIBCO Designer, TIBCO Administrator, BusinessWorks engine, TIBCO Runtime Agent (TRA) and TIBCO Adapters. BusinessWorks engine is used to run business processes in test mode and when it is deployed. TIBCO Runtime Agent (TRA) is responsible for the status of processes, whether to run or stop, that is deployed in your machine. TIBCO Adapters are used to integrate external applications into the BusinessWorks framework. How to use TIBCO Designer? TIBCO Designer is so easy to use. It is similar to creating a flow chart of your

process in the design panel of your working environment. You will be using the existing activities from the palette panel. All you need to do is drag and drop the activities from your palette panel to your design panel. In order to create a business process, you have to create first a process definition. Upon the creation of the process definition, the designer will automatically create a start and end activity. Then drag and drop certain activities you need. These activities have certain functions for you to use. You only need to configure them and create transitions from one activity to another. There is less encoding and it is so easy to use since it's a graphical representation of your processes. What is an Activity? An activity is like an object that does a specific work. For example, we have a JDBC Query activity that queries data from a database table. A Write File activity writes content to a specified file. It can be .xml, .txt, .dat and so much more. Another is the Generate error activity that throws an error or an exception in your process. One technique to handle exception and errors is by using a Catch activity. My last example is the Assign activity that sets a value to a user-defined process variable. What is the difference between Palettes and Activities? Palettes are sets of related activities. It organizes the activities according to their function so that it will be faster for the developers to locate the activity they needed. For example, we have a HTTP palette that has a set of HTTP related activities such as HTTP Receiver, Send HTTP Request, Send HTTP Response, Wait for HTTP Request, HTTP Connection and Proxy Configuration. We also have a JDBC palette that also has a set of JDBC related activities such as JDBC Query, JDBC Update, SQL Direct, JDBC Call Procedure, JDBC Connection and a lot more activities. There are more palettes you will encounter in TIBCO Designer, such as File, General Activities, FTP, JAVA, JMS, SOAP and a lot more. What are Shared Resources? Shared resources are resources that can be repeatedly reused by activities throughout the project. It can be a Schema, WSDL file, JBDC Connection, FTP Connection or HTTP Connection. For example, if you have a process that uses a JDBC Query to query a table in your database and is using a JDBC connection to connect to the database server, that JDBC Connection can be reused by other JDBC activities in your project. How can I do looping in the Designer? You can do looping in the Designer by Grouping the activities. The Groups feature of BusinessWorks has different loop settings. It can be Repeat until True loop, which repeats the execution of the grouped activities until the condition is met. This is similar to a Do While loop. Another is Repeat on Error until True loop, which repeats the execution of grouped activities while an error occurs until there is no error or the condition is met. There is also a While True loop, which repeats the execution of grouped activities while the given condition is met. This is similar to a While Do loop. And lastly, you can also set an Iterate group, which repeats the execution of the grouped activities for all existing values in a list. This is similar to a For Loop. How do I deploy my process?

To deploy your process, you need to create an EAR file. You can only create an EAR file using the TIBCO Designer. In the designer, you have to use the Enterprise Archive Resources, configure that resource and use it to build an EAR file. An EAR file can contain local project resources, LibraryBuilder resources, files as specified in AliasLibrary resources and files that are needed by your application. After that, you can easily deploy the EAR file in the TIBCO Administrator. You can use and monitor the application you have deployed in TIBCO Administrator. How do you achieve an organized, efficient and highly improved performance project? To achieve an organized, efficient and highly improved performance project, you have to follow these BusinessWorks best practices. * Organize your project in folders. Create a separate folder for your Processes, Adapters, Shared resources, Connection, etc * Don't forget to Log and checkpoint important data * Sub-process certain processes that are doing the same routine * You must observe clear and consistent naming conventions * Always apply configuration settings and Save project frequently * The designer has an XPath Formula Builder in which you can create XPath expressions. Use the XPath Editor Functions to create expressions * Always validate resources and debug errors before you deploy your application * For a quality assured application, test your application in all kinds of scenarios including errors Now that you know what BusinessWorks is and what it can do; increased developer productivity, fast production and superb business to business integration can be easily achieved using this software. TIBCO ActiveMatrix BusinessWorks is really a powerful tool that will benefit both developers and users.

Tibco EMS FAQ

Tibco EMS FAQ-1

Messaging Sequencing in Queues: When the message size is large, and when there are more messages with larger size, to reduce the load on the server, the sender sends the message in chunks and on receiver side to receive the messages in order, use message sequencing. Difference between Load Balancing and fault Tolerant modes: Load balancing is done between 2 or more servers where the load is distributed between servers. whereas, fault tolerance is done between 2 servers where one server acts as a primary and the second server acts as a back up server for the primary server. In case of failure of primary server, the second server(back up server) becomes the primary server. Load Balancing in Queues: There will be number of queue receivers and the messages are sent to the queues in round robin fashion thereby reducing the load. Durable Topic: In durable topic, the message is first persisted on to the disk before it is published. Durable topics ensure the delivery of messages like queues. where as a regular topic receives the message only when it is active. If not active the message is lost. Services of EMS server: Reliable, guaranteed,Transactional Performance Tuning:Performance tuning can be done at EMS server level/Administrator level In EMS it can be done using prefetch mechanism,thereby regulating the consumption of messages. The prefetch mechanism is avialable in both queues and topics In Administrator, performance tuning is done by adjusting the count of the threads.also by setting the flow limit, activation limit, max limit. Ways of creating a Web service: I believe there are 2 ways. using soap activity, using services. How to create them are posted in this site. Please go through it. Why is load balancing not useful in topics: Because as one message is sent to all the subscribers that subscribe to the topic, there will be duplication of messages and there will be more disadvatages when used in topics. How you do support: When there is an issue, every issue has a ticket number, first determine the criticality and based on the criticality we forward the issue to suitable departments, like developer, testing department etc. When to use services/soap activity: When you have to use multiple transports, use services to build ur websevices, using soap activity you can configure only one

transport. Difference between Abstract WSDL and Concrete WSDL: Abstract WSDL consists of the structure of the message that is; what operation, what is the input and what is the ouput . Whereas in concrete WSDL has all the things that the abstract wsdl has in addition it has transport details. max jobs, Activation Limit,flow Limit: Max Jobs is the maximum number of jobs thatMax jobs specify the number of process instances that are kept in memory while executing. Activation Limit: Specifies that once a process instance is loaded and it must be placed in memory till it completes execution. Flow Limit: maximum number of jobs that can be spawned before the process starter is suspended. Acknowledgement modes: auto, client, dups_ok, explicit client ack, no acknowledgment, explicit_client_dups_ok ack,transitional, local transitional. Go through the articles in the site. I believe there is explaination for these.

TIBCO Adapters FAQ'S


ADAPTERS What are Adapters? Adapters are connectors to data sources to catch event changes. Once an Adapter catches a event change, it publishes the message to a message box using either EMS or RVD Adapter is a gateway between different applications using messaging channels. What are the different types of adapters? Technical Adapters (File Adapter, DB Adapter) Functional Adapters (PeopleSoft Adapter, SAP R3 Adapter) Custom Adapters Adapter Components Each adapter has two main components, an adapter palette and a run-time adapter. In addition, some adapters include a design-time adapter. The adapter palette and design-time adapter are used during configuration, and the run-time adapter is used at production time. Adapter Palette: Each adapter includes a palette that is used for configuration. The palette is automatically loaded into TIBCO Designer during adapter installation and available the next time Designer is started. The palette enables you to configure adapter specific options, such as its connection to the vendor application, logging options, and adapter services. During the design phase, the palette connects to the vendor application and fetches information about connection options and data schemas. You can then graphically select the appropriate items. For example, during configuration of a TIBCO Adapter for ActiveDatabase adapter instance, the palette fetches all pertinent tables in the database. You then choose the tables that the particular service is to send or receive. Run-time Adapter : Once the adapter has been configured using TIBCO Designer, it can be deployed. A deployed adapter instance is referred to as a run-time adapter. A run-time adapter operates in a production environment, handling communication between a vendor application and other applications that are configured for the TIBCO environment. Design-time Adapter : Some adapters use a design-time adapter (DTA) to access a vendor application and return design-time configuration information. The palette is a client of the DTA process. The DTA connects to the vendor application, fetches data schemas and sends them to the palette.

Adapter Lifecycle: The following is an overview of the adapter lifecycle: 1. Install the vendor application to which the adapter connects before installing the adapter. For many adapters, the adapter and vendor application need not be installed on the same machine. 2. Adapters depend on other software from TIBCO. Before installing an adapter, the TIBCO Runtime Agent software must be installed on each computer on which the adapter runs. 3. Create an adapter instance and save it in a project using TIBCO Designer. A project contains configuration information required for a run-time adapter to interact with the vendor application and other applications. 4. Deploy the adapter. An adapter instance is deployed using TIBCO Administrator. a) Using TIBCO Designer, create an Enterprise Archive (EAR) file, which contains information about the adapter instances and processes you wish to deploy. b) Using TIBCO Administrator, upload the EAR, then deploy the adapter on the machine(s) of your choice. You can set runtime options before deployment. c) Using TIBCO Administrator, start and stop the adapter. d) Monitor the adapter using the built-in monitoring tools provided by TIBCO Administrator. Adapter Services : Adapters are responsible for making information from different applications available to other applications across an enterprise. To do so, an adapter is configured to provide one or more of the following services: Publication Service Subscription Service Request-Response Service Request-Response Invocation Service Publication Service : An adapter publication service recognizes when business events happen in a vendor application, and asynchronously sends out the event data in realtime to interested systems in the TIBCO environment. For example, an adapter can publish an event each time a new customer account is added to an application. Other applications that receive the event can then update their records just as the original application did. When an application receives a request to create a customer record, the application notifies the adapter about the request and the adapter publishes the event. User Interface-----------------Application X--------------Adapter -------------- TIBCO Messaging Create record Send to adapter Publishing Polls on the source data table (base table). Reads data from the source table. Sends the data to the message bus. Subscription Service: An adapter subscription service asynchronously performs an action such as updating business objects or invoking native APIs on a vendor application. The adapter service listens to external business events, which trigger the appropriate action. Referring to the previous example, an adapter subscription service can listen for customer record creation events (happening in an

application and published to the TIBCO infrastructure) and update another application. TIBCO Messaging------------Adapter-----------Application Y Subscribing Update record Reads data from the message bus. Gives the data to the destination table. Request-Response Service: In addition to asynchronously publishing and subscribing to events, an adapter can be used for synchronously retrieving data from or executing transactions within a vendor application. After the action is performed in the vendor application, the adapter service sends a response back to the requester with either the results of the action or a confirmation that the action occurred. This entire process is called request-response, and it is useful for actions such as adding or deleting business objects. Receives requests from other applications. Parses the requests. Returns response (Sends only the requested data to the message bus). Request-Respons Invocation Service: An adapter request-response invocation service is similar to the request-response service, except that the roles are reversed. The vendor application is now the requester or initiator of the service, instead of the provider of the service. The adapter service acts as a proxy, giving the vendor application the ability to invoke synchronously functionality on an external system. How can u fine-tune an ADBAdapter? What are the different parameters that can be used? a) we can use publish by value or publish by reference for high speed and data type support like oracle long respectively. b) Can use polar or alerter for frequent and infrequent data changes respectively. c) Adb.PollingInterval, _ADB.DUPDECT.adapter_instance_name parameters can be used to do flow control and avoid duplication respectively. What are the quality of services we can have in adapter publishing services? RV: reliable, certified, transactional What are the wire formats we can have in adapter publishing services? wire formats: a) RV: active enterprise message, RV message, XML message. b)JMS: XML message What are the objects, which will be created if you configure and save ADB adapter? Publishing table for source table, Trigger acts as a bridge between source and publishing table Explain the internal functioning of ADB publication service? When we configure ADB publishing service it creates Publishing table for source table, Trigger acts as a bridge between source and publishing table. Whenever data is being inserted/updated/deleted from source table, it will be inserted into publishing table by means of

trigger. ADB has another component called polling agent. Polling agent will be keep looking for new inserts into publishing table and if it finds any then converts the record in p table into the specified wire format and publishes on specified quality of service Can we filter the records from publishing when they get updated in source table? (Data from all regions are coming into table but I want to publish only New York data) Yes By modifying the trigger we can only insert the New York data into publishing table Can we limit the number of columns to be published from the source table? Yes, using the use? field in adapter publishing table tab. just uncheck the columns u dont want to use. Can we publish parent and child table information by using single adapter configuration and how? Yes, in the adapter publisher table tab create a parent table first by look up and then add the child table using the add child tab then click on the child table column to specify the foreign key than to establish a relationship between the primary key of the parent and the foreign key of the child go to the column in the child table and specify the primary key of the parent table. In the subscription service the destination table is created and the child table mapping tab will have the child table on the left mapped with the parent table on the right. What is publish by value and publish by reference. Explain the pros and cons. publish by value: in this type the changes in the source table are reflected in the p_ table and the data is taken from there. its used when high speed is required. it dose not support data types like oracle long. publish by reference: in this type the data is directly taken from the source table where only the primary key will come from p_ table. it allows data types like oracle long. loss of changes in the source table can be lost bcos of the waiting time.(this can be avoided using alerter). What are the types of message transfers in file adapters? record transfer: to integrate file systems to TIBCO AE environment. simple file transfer: to transfer files to other TIBCO adapters. What is read schema and write schema in file adapter. Read schema in the file adapter publisher config is used to define typr of expected input. Here we can use the delimited file tupe or the positional file type. What is the difference between an ADBAdapter and JDBC palette activities? Using ADB we can only pick up the data from one database and put it in onother one. But using JDBC we can Query using JDBCQuery and manupulate data using JDBCUpdate. like we can use select statements and insert and update statements to selective query and update. ADB adapters might be useful in scenarios where we have large amount of data. What is the difference between a FileAdapter and File palette activities?

In file activities the file polar cannot handle multi format data and record by record transfer .it takes care of particular format specified and does file transfer. where as file adapter can handle multiple formats and does record by record transfer. If the reference to Schema changes in "Activity Input" does it through error, how do you correct it? Yes, and we have to correct the schema in the way the input expect it. Where do we specify HTTP Port number? In HTTP connection in the HTTP activities. What is the difference between JDBC activities and ADB Adapter? ADB uses ODBC to connect, JDBC uses JDBC ADB is more suitable for instances where you have a lot of processing ADB is more suitable for instances where you want that a particular action on a DB Table triggers a BW process. ADB adapter is best for publishing from database. For simple inserts and updates then ADB subscriber is best. ADB is an adapter which is used to capture the events and take action, this has pub and sub mechanisms, pub is used to capture the events and publish the messages and sub will be used to upsert the operations. Jdbc is a collection of activities that can be used for custom operations In case of insert or update to database then check if you have complex JDBC inserts, transaction management and other dynamic queries then JDBC activities are best. JDBC is more suitable for running dynamic code where in runtime you can execute statements with different values depending on process execution. What are modes of operation for File Adapter in Record Mode? Synchronous mode upon receiving an event, the publication service will allow other services in the instance only after it completes the processing and publishing of all the files that match the specified criteria. In Asynchronous mode the publication service allows other services of the instance to receive events while it is processing and publishing a file. By default Subscription service always operates in Asynchronous mode. What is the diff between tibco adapter and BW component? Adapters are connectors that use a messaging channel that can be configured over source/target systems which can be used in Pub, Sub or Replyrequest mode. BW components are designer, administrator, bw engine. What is a synchronous service that an adapter supports? Of the 4 Adapter services, Request/Response is the only adapter service that is synchronous. What is Event Driven and Demand Driven? Event Driven - Push Demand Driven - Poll.

TIBCO Adapter for ActiveDatabase: TIBCO Adapter for ActiveDatabase software (the adapter) allows data changes in a database to be sent as they occur to other databases and applications. It extends publish-subscribe and request-response technology to databases, making multiple levels of delivery services available to applications that need access to these databases. ODBC and JDBC compliant databases such as Oracle, Sybase, and Microsoft SQL Server are supported. While the adapter does not run on z/OS and iSeries systems, it can remotely connect to a DB2 database running on these systems. TIBCO Adapter for ActiveDatabase is written using the TIBCO Adapter SDK software, which allows the adapter to interoperate with other TIBCO products. The adapter can communicate with any application that is configured for the TIBCO environment. What is File Adapter? TIBCO Adapter for Files software processes data from text files and publishes the contents in real-time to the TIBCO environment. The adapter also listens for messages in the TIBCO environment and writes the contents to a file. The adapter supports only text files when it is integrating a file system into the TIBCO ActiveEnterprise environment. It supports both text and binary files when it is transferring files between two or more TIBCO Adapter for Files installations. File Adapter Operations Mode? Selecting an operation mode is the first step in configuring a service. The operation mode determines whether the service will integrate the file system with the TIBCO ActiveEnterprise environment or transfer files between instances of TIBCO Adapter for Files. In the Record Mode of operation, where the adapter integrates the file system with TIBCO ActiveEnterprise, you will have to define and use schemas. In the Simple File Transfer Mode of operation, where the adapter transfers files among instances of TIBCO Adapter for Files, you will have to define various options for file transfer. However, there is no need to define a schema. Can two adapters communicate with each other? No two adapters can communicate with each other directly. They can communicate only through a messaging layer. Considering Tibco to be the messaging layer, Publishing Adapter always publishes to Tibco messaging bus. Subscribing Adapter always subscribes from a Tibco messaging bus. What are users and user-key columns in Adapter Publisher's Table tab? While configuring an ADB Publisher: "Users" column specifies what columns have to be published to the publishing table. "User-key" is selected means it acts as a primary key. Child tables can be joined to the Parent tables only using the primary keys. Publish by reference storage mode copies only the primary key from the source table. If a source table does not have a primary key column, we can use the user-key to do the same.

What are the columns available in a Adapter Publishing table? An adapter Publishing table contains the actual data columns plus Internal Adapter columns. Actual data colums: Depending on the storage mode selected, the actual data colums in the publishing table varies: For Publish by value, the actual data columns will be the exact copy of the base table data colums.(all the columns). For Publish by reference, the actual data columns will be the exact copy of the base table's primary key data colums (only Primary key column). Internal Adapter columns: ADB_SUBJECT ADB_SEQUENCE ADB_SET_SEQUENCE ADB_TIMESTAMP ADB_OPCODE ADB_UPDATE_ALL ADB_REF_OBJECT ADB_L_DELIVERY_STATUS ADB_L_CMSEQUENCE Publication and Subscription formats ( file adapter) Two types of formats are supported by adapters while exchanging data between applications 1. MInstances 2. MBusinessDocuments MInstances is the entity that is exchanged among TIBCO applications. It is the schema instantiations. The runtime adapter parses the input file, identifies the schema associated with the publication service, creates the MInstances and publishes it. MBusinessDocuments is a facility provided by TIBCO ActiveEnterprise for grouping MInstances. MBusinessDocument always contain MInstances created from the same file. If high throughput is desired from publication service MBusinessDocument attributes can be used. Modes of operation(file adapter) There are two modes of operation Synchronous mode Asynchronous mode An adapter instance/configuration can have multiple publication and subscription services. Services are activated by events. The publication service can be activated by a timer event or message event. The event that activates the publication service is called polling agent. In Synchronous mode upon receiving an event, the publication service will allow other services in the instance only after it completes the processing and publishing of all the files that match the specified criteria. In Asynchronous mode the publication service allows other services of the instance to receive

events while it is processing and publishing a file. By default Subscription service always operates in Asynchronous mode. If the configuration has more than one service or if the publication service is expected to process large file sizes or large set of files, setting the publication service in asynchronous mode is recommended. Types of file records (file adapter) File records can be classified into two categories: 1. delimited file record 2. positional file record Delimited file records are used to interpret lines that have a well-defined delimiter between the fields. Delimiters can be of single or multiple characters. These can be identified by the number of fields or by using a constant field value. Positional file records are used to interpret lines that have well defined field lengths. These can be identified using line or record length or by using a constant field value ie; constant line length. what is opaque table The subscription service uses two logical layers when processing a message. The first layer decodes data from the message and the second layer provides the database transaction. If an exception occurs in the first layer, the adapter logs the message to the opaque exception table. In the second layer, if any DML command fails at any level, the adapter rolls back this transaction and starts another transaction, inserting into exception tables. If the insert into exception table transaction fails, the adapter then logs the message to the opaque exception table. what is the difference between exception table and opaque exception table? The subscription service uses two logical layers when processing a message. The first layer decodes data from the message and the second layer provides the database transaction. If an exception occurs in the first layer, the adapter logs the message to the opaque exception table. In the second layer, if any DML command fails at any level, the adapter rolls back this transaction and starts another transaction, inserting into exception tables. If the insert into exception table transaction fails, the adapter then logs the message to the opaque exception table. What are the transport types supported by ADB adapters? The transport types supported by ADB adapters are: 1) Rendezvous 2) JMS Rendezvous Quality of service supported by Rendezvous: 1) Reliable 2) Certified 3) Transactional

Wire Formats Supported by Rendexvous: 1) Active Enterprise Message 2) Rendezvous Message 3) XML Message JMS Wire Formats Supported by JMS: 1) XML Message Connection Factory Type Supported by JMS: 1)Topic 2)Queue Delivery Mode Supported by JMS: 1) Persistent 2) Non-Persistent Posted by Arun at 1:12 AM 1 comments Labels: TIBCO Adapters FAQ'S

Links to this post

TIBCO EMS FAQ'S


EMS What are the different modes of installation in Ems? a. GUI mode b. Console mode c. Silent mode What are the messaging models supported by JMS? a. Point-to-point b. Publish-subscribe c. Multicast What are the destinations in EMS/JMS and their differences? Ans: Queues: point-point communication. Any number of producers and consumers can exist. At any time and situation each message is taken by only one consumer. Exclusive: only the first consumer who picks up the first message can take the rest of the messages (used if u wants only one consumer). Non-exclusive: where any number of consumers can exist. Used for load balancing. Topics: publish-subscribe. Any number of publishers and subscribers can exist. Each message can be taken by any number of consumers (radio). In how many ways can a destination be created? a. Static-created by user

b. Dynamic-created by ems server on the fly. c. Temporary destinations. Queues Vs Topics in TIBCO EMS There are two major models for messaging supported by JMS: queues and topics. Queues are based on a point-to-point messaging model. Topics make use of the new publish-and-subscribe messaging model. Regardless whether queues or topics are used, the messages are not sent directly peer-to-peer. Messages are forwarded to a JMS infrastructure that is composed of one or more JMS servers. The servers are responsible for providing the quality-of-services to JMS and responsible for implementing all the components not addressed by JMS Specification. When determining when to use queues versus topics consider the two fundamental messaging mechanisms. The first is point-to-point messaging, in which a message is sent by one publisher (sender) and received by one subscriber (receiver). The second is publish-subscribe messaging, in which a message is sent by one or more publishers and received by one or more subscribers. The messaging model as listed below will dictate when to use a queue or a topic: One-to-one messaging Queue point-to-point One-to-many messaging Topic publish-subscribe Many-to-many messaging Topic publish-subscribe model what is the Relationship between Temporary queue, queue, destination. A Destination can be a Queue or Topic, which typically says static. Which means you physically create this queue. I hope you know the definition for Queue which can static, dynamic or temporary. Static represents physical creation. Dynamic Represents, which will be created by receiver/sender application at run time, life span is limited, as long as there is messages or receivers, it will stay in server, if not it deletes. Temporary Queue means, created by receiver to submit the response to EMS server or Sender to get the messages. this life span is immediate, but there is a hidden danger with these queues, as these might turn into orphan queues (please read other articles). there is a fix, which will go by 4.4.2 ems version Difference between Exclusive and Non Exclusive Queues you can define a queue as exclusive to make sure that all the messages are always sent to the same consumer, even if you have more than one connected to it. If you make it exclusive the rest of the consumers are "on standby" so if the primary fails another one is set as primary and starts receiving. If you set them to non-exclusive (the default value) and you have more than one consumer connected to the queue the messages are delivered in a round robin fashion to balance the load.

What is the use of system queues? system queues are undeleteable queues stored usualy undelivered messages (when you set JMS_TIBCO_PRESERVE_UNDELIVERED to true, in case the message exipres, you'll get it to $sys.undelivered) or other even driven messages if applicable. More in use are sytem topics for monitoring and statistics, where is EMS publishing queue and server statistics and can be detailed to message content level. dead Queue In case of any failures in the messages to server, will be added to dead queue, which is kind of internal system queue, I strongly feel. For ex: No memory trying to add message to dead queue. Failure queuing message to add to dead queue How do we distinguish dynamic queues with static queues? Ans: dynamic queues have * before them. what are the message storing mechanisms of queues? Ans: persistent and non-persistent. Persistent: messages are stored to external storage before sending. Non-persistent: not stored to any external storage. The information will not be available for retrieval. what are types of subscribers we can have for topics? Explain them in detail. Ans: durable and non-durable subscribers. In durable subscriptions the messages are stored so that even if the subscriber fails and comes back the messages can be retrieved. What are the permissions that you can grant to users to access queues? a. Receive b. Send c. Browse What are the permissions that you can grant to users to access topics? a. Subscribe b. Publish c. Durable d. Use_durable 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 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.

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. what is the structure of messages in JMS? Ans: header(needed), properties(optional) body(optional). Header parameters: JMS destination, JMS message. What is the purpose of JMS Queue receiver activity and Queue sender activity? Ans: Starts a process when ever a new message comes into the specified queue.

A queue sender activity sends messages into the specified queue. 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. 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 What is JMS topic requestor? The JMS Topic Requestor activity is used to communicate with a JMS applications requestresponse 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. 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. 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.

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 doesnt 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. How a consumer can connect to the new primary EMS server when the running primary server goes down? Ans: we can specify multiple URLS 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 URLS for the same server so that even the primary in one location is down it can connect to the primary of another location. The URLS are usually comma separated in client config. 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. 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. 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. 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. 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.

What is the pre-fetch value? Ans: In order for reducing the clients 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. 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. 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. 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. 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 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. 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. 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 What is tibemsd.conf It is the main configuration file that controls the characteristics of the EMS server. How many delivery modes for messages? Persistent, Non-persistent, Reliable-delivery. What is the maximum messagesize? Ems supports max message size of 512 mb 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. What happens if the message expires/exceeded the value specified by maxredelivery property on queue? If the jms_preserve_undelivered property is set to true, then it moves he message to undelivered message queue, if set to false, the message is deleted by the server. What are the wild cards that we use in ems?how do they work for queues and topics? *,>

We can subscribe to wildcard topics, but cant publish to them. Where as in case of queues we cant either send /receive. Are bridges transitive? No Tell me about flow control on destinations? Some times the producer may send messages faster than the consumers can receive them. So, the message capacity on the server will be exhausted. So we use flow control. Flow control can be specified on destinations. Tell me about flow control on bridges and routes? Flow control has to be specified on both sides of bridges where as on routes it operates differently on sender side and receiver side. Name 3 configuration files and tell me what it consists of? a. Queues.conf b. Topics.conf c. Routes.conf d. Factories.conf e. Stores.conf f. Groups.conf, users.conf, transports.conf Name some administrative level destination properties? a. View b. Create c. Delete d. Modify e. Purge How can you change the configuration properties of EMS server? You can change in the tibemsd.conf file or you can change using the ems admin console. Tell me about multicasting in EMS? a. Multicast is a messaging model that broadcasts messages to many consumers at once rather than sending messages individually to each consumer. EMS uses Pragmatic general multicast to broadcast messages published to multicast enabled topics. b. Each multicast enabled topic is associated with a channel. What are the advantages and disadvantages of multicasting.. a. Advantages: As the message broadcasts only once there by reducing the amount of bandwidth used in publish and subscribe model. Reduces the network traffic. b. Disadvantages: Offers only last-hop delivery. So cant be used to send messages between servers.

On what destinations can you use multicast? Topics Suppose, you got an error while accessing a queue, that you dont have necessary permissions to access the queue. What might be the solution/reason? The user that is assigned to the queue and the user used while creating. How does the secondary server know that the primary server is failed? Based on heartbeat intervals How do you add ems server to administrator? Using domain utility How do you remove individual messages from destinations? Using purge command. Connection and Session threading in Ems Connection : Multi thread Session : Single thread Where do you use a bridge in real time? we use in scenarios like publishing message from Topic to Queue, Store message in EMS for retrieval in case if there is any problem while moving data from one process to another. When ever you are decided to use message selectors on BW, use bridges and use message selector on bridges, which is more powerful than using message selectors on BW. Where is the AppManage located at? /tra//bin 3 files (batch) are ready for deployment. out of which only 2 files must be deployed together and not deploy the other one. How can we do this using AppManage? Batch means is it a single ear with multiple process archives, if so, dont pass the thrid process archive in the config file. What are the steps to perform Server Side Load Balancing on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config 5. C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 6. In TIBCO Designer, modify the JMS Connection Provide URL to contain both the servers ( ex: tcp://localhost:7222 | tcp://localhost:7223) What are the steps to setup Fault Tolerance servers on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2

2. Make sure that the Server Names and Listen ports are not the same in the tibemsd.conf file in both the folders. 3. Change the port number in the tibemsd.conf file (i.e ft_active = listen port of the other server) in both the cfgmgmt folders. 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) What is the use of Bridges? Some applications require the same message to be sent to more than one destination possibly of different types. So we use bridges What is the syntax to create Bridges without Message Selector? create bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to delete a bridge? delete bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to create Bridges with Message Selector? create bridge source=queue:bridgequeue target=topic:bridge topic selector="keyword" What is the use of Bridges and Routes? Both are used to channel messages from senders to receivers. Bridge act as connector between two different queue and Routes act as connector between different server for sending message and receiving acknowledgement of delivery. What are the steps required to create a Route between two Servers? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is NOT the same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Set the routing property to enabled in the tibemsd.conf files in both the folders open factories.conf under cfgmgmt2 and change the settings for GeneralConnectionFactory, QueueConnectionFactory and TopicConnectionFactory URL to (tcp://xxxx) 5. Create Route on Server 1 (route Server2-Name url=tcp://localhost:xxxx) 6. Create global queue / topics on both servers as required 7. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 8. Test the route by using queue / topic in a BW Process How to create a transport between RV and EMS? Transport can be established between RV and EMS topic or queue. The message can be imported as well as exported from RV.Important point to remember is, with

Topic for transport the messages can be imported and exported from RV But in the case of Queues the message can only be imported from RV. Follow these steps to establish transport between RV and EMS : 1)For enabling the transport : In the configuration file tibemsd.conf set the parameter tibrv_transports to enabled. The default value is disabled. 2)To set the type of parameters for tranport: In the transports.conf file set the parmeters in Transport definitions (in the configuration file transports.conf) specify the communication protocol between EMS and the external system. The parameters can be as follows: [RV01] type = tibrv topic_import_dm = TIBEMS_RELIABLE service = 7200 network = daemon = tcp:host:7200 topic_import_dm= TIBEMS_NONPERSISTENT Here RV01 is the name of the transport. type = required parameter which can be set to tibrv or rvcm(for certified messages) service = UDP port.if absnt the default is 7200 network = IP address. Daemon = TCP Port. topic_import_dm = delivery mode for importing the messages and the values can be TIBEMS_RELIABLE, TIBEMS_PERSISTENT OR TIBEMS_NONPERSISTENT Similarly the paramters can be set for topic_export_dm and queue_import_dm. export_headers = The default value is true and can be set to false if there is no requirement of exporting the JMS headers. export_properties = The default value is true and cane be set to false if there is no requirement of exporting the JMS properties. 3)Destination definitions (in the configuration files topics.conf and queues.conf) can set the import and export properties to specify one or more transports. Can set the import/export properties by either making an entry in topics.conf or queues.conf filesdirectly like topic.sample import="RV" where topic.sample is the name of the topic. or in the admin tool use : addprop topic myTopics.news import="RV01,RV02" which will add property import to myTopics in topics.conf files

Key Points: The transport takes place when the topic name and the RV subject name are same. For topics: When a topic specifies import on a connected transport, tibemsd imports messages only when the topic has registered subscribers. For queues: When a queue specifies import on a connected transport, tibemsd immediately begins importing messages to the queue, even when no receivers exist for the queue. When a topic and a queue share the same name, at most one of them may set the import property. For example, if a topic example.transport and a queue example.transport are both defined, only one may specify the import property. TIBCO EMS Multicast - Features 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 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 functionality Built-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 scalable Multicast reduces the amount of bandwidth consumed Multicast reduces the number of operations performed by the server Multicast broadcasts the message only once where as in case of publish and subscriber for each of theconsumer a copy of the message is getting published Facts

Multicast does not guarantee message delivery Messages requiring a high degree of reliability should not use multicast Multicast 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 Fault-Tolerance setup-A(Which deals with configuration of the files for fault tolerance) Note:The Ems data store should be in SAN or NAS,in actual Production Environment..so that the datastore is accessible by both primary and back up server SAN-Storage Area Network NAS-Network Area storage But for our case we would use just operating system file system (shared by both primary and Backup server) Fault Tolerance configuration setup Parameters will be in Bold and Inclined for easy identification Configuring Primary server open 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 server Create 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.conf groups=c:\tibco\ems\bin\Backup\groups.conf topics=c:\tibco\ems\bin\Backup\topics.conf

queues=c:\tibco\ems\bin\Backup\queues.conf acl_list=c:\tibco\ems\bin\Backup\acl.conf factories=c:\tibco\ems\bin\Backup\factories.conf routes=c:\tibco\ems\bin\Backup\routes.conf bridges=c:\tibco\ems\bin\Backup\bridges.conf transports=c:\tibco\ems\bin\Backup\transports.conf tibrvcm=c:\tibco\ems\bin\Backup\queues.conf durables=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 server The 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 Fault-Tolerance Setup-B(which deals with starting primary and back up server--which will be in standby mode) This post is continuation of Fault Tolerance Setup-A Go to All programs>Run>type cmd You will get a command prompt window Type command: cd c:\tibco\ems\bin Now you will be inside bin directory Start Primary Server Type command: tibemsd (This is a application ) Start Backup Server Open another command prompt Navigate to the directory by entering the below command cd c:\tibco\ems\bin Give the following command tibemsd -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) Posted by Arun at 1:10 AM 2 comments Links to this post Labels: TIBCO EMS FAQ'S

TIBCO RV FAQ'S

RV
What is Rendezvous

It is a framework/mechanism to integrate different applications running on distributed network on heterogeneous platforms. What Rendezvous does? This is Proprietary to TIBCO, and all TIBCO applications like Admin, Hawk, BW and other apps will communicate using Rendezvous, which is using Network UDP protocol. When a machine is being added to TIBCO domain, it creates two RVD files, one will be used to do the services (deploy,manage) etc and another will be used to get the status. Domain and machine are communicating to each other using RVD, most of the cases end machines in domain are being part of same subnet, what if a machine is being part of different subnets? there are two solutions. 1. Multi casting 2. RVRD Explain Transport It is software mechanism for sending and delivering messages.

protocol used by rv.


UDP(Universal Datagram Protocal)

What is difference between synchronous and asynchronous communication


Synchronous communication is time driven and asynchronous is event driven. Synchronous communication expects reply or acknowledgement back and in asynchronous communication doesnt expect any results of its communication right away. In messaging perspective request/reply messaging is synchronous communication and publish/subscribe is asynchronous communication.

What is the functionality of RV daemon Its a background process; RV enabled programs (programs which use RV api) depend on rvd for reliable and efficient network communication. The rvd completes the pathway between rendezvous program processes across the network. It sends information into the network receives information from the network and filters subject addressed messages. What are the various parameters in Network component and what do each one indicate Service, Network and Daemon Service parameter instructs the rvd to use UDP or PGM services whenever it conveys messages on this transport. Network parameter instructs the rvd to use a particular network for communication. Daemon parameter indicates to which rvd the program has to connect

Explain Certified messaging registration process steps and confirmation Process Certified messaging offers greater certainty of delivery.-even when the processes and their network connections are unstable. REGISTRATION.DISCOVERY RESGISTRATION.REQUEST REGISTRATION.CERTIFIED Certified delivery agreement) DELIVERY.CONFIRMED DELIVERY.COMPLETE Difference between Reliable delivery and Certified delivery?
Reliable Delivery: Ledger: None Time Limit: Contains outbound messages for 60 seconds Network Traffic: Minimal File Storage: No file storage

Certified Delivery:

Ledger: The certified delivery library records outbound messages in a ledger, either within the program process storage, or in file storage. Time Limit: The certified delivery library retains outbound messages in the ledger until either delivery complete or the time limit (set by the program) expires. Network Traffic: Additional network overhead to confirm delivery of each certified message. File Storage: Optional file-based ledgers consume file storage for each message until delivery is complete (or the time limit expires). Explain Load balancing in Rendezvous, What are the various parameters In a producer/subscriber scenario when producer is send messages faster than subscriber can consume, messages will be queued up with consumer and may be lost. To address this situation we can balance the load of the consumer by clones of the consumer program and balancing the load among the consumer instances. This is load balancing.Programs use distributed queues for certified delivery to a group of servers, in order to balance the load among the servers. Parameters Scheduler weight Heartbeat Interval Scheduler Activation Interval Explain fault tolerance in Rendezvous

Fault Tolerance in a network environment is characterized by rapid recovery from failures such as process termination, hardware failure and network disconnect. Rendezvous provides a mechanism to achieve the fault tolerance among the RV processes.

What is ledger file used in RV for? CM Transport keeps Ledger file to record information about every unresolved outbound certified message. How can U establish point-point communication in RV? Can be established using RPTP protocol over a UDP channel What will happen when limit of a queue exceeds(how the event objects will be removed from a Queue)? Sends an advisory QUEUE.LIMIT_EXCEEDED Queue dispatch calls remove the event objects at the head of a queue, and run its callback function. Callback function is a program code which responds to events-processing inbound messages. What are the limit policies of a Queue in RV?
Discard none, discard first, discard last, discard new.

What is the advisory message thrown by RV when the maximum limit of a queue exceeds?
QUEUE.LIMIT_EXCEEDED

Is message loss possible in RV? When is it possible?


Yes, in slow consume and fast producer scenario message lost will be possible.

How many types of advisory messages are there in RV


System Advisory, RVCM Advisory, Fault- tolerance Advisory.

How to handle slow consumers when publisher is publishing rapidly? Scenario: A producer is producing messages at 100/min and consumer able to process only at the rate of 50/min, what is going to happen to other 50 messages? (Underlying communication is RV reliable) Use a dispatcher - increase process instances to avoid overflow. Implement load balancing How can u implement security in RV? Using SSL Protocol. Can be attained at 3 layers between rvd and services, in rvd, and between rvrd.

What are the scheduler parameters in DQ? Weight, Heart beat interval, Activation Interval. If rvd is down and a program has to send a message, how it sends Creating a transport object in the program invokes new rvd process. What is the difference between JMS messaging and RV messaging? RV messaging is a de-centralizing messaging/JMS centralized messaging Explain rv messaging, how does it work? RV messaging provides creating messages in a universal format assign a subject name to the message and publish the message on to the network. Messages will travel over the network and reaches all the nodes in the network. RV provides RV enables subscribers to capture the message of interest and process it. Explain how do you set up RVCMDQ? And how does it work? A producer is producing messages at 100/min and consumer able to process only at the rate of 50/min, what is going to happen to other 50 messages? (Underlying communication is RV reliable) hint ans: slow response advisory is thrown, oldest messages discarded depending on the destination settings. A process group is on RVCMDQ, can that be made both load-balanced and fault-tolerant?
Hint: no, they are mutually exclusive semantics.

What is the main problem/issue with load balancing as in RVCMDQ? What are possible Scenarios. when this occurs? Duplication occurs/non-completion of assigned task 1. if the worker is slow, scheduler might re-assign the task to another worker resulting in duplication. 2. Scheduler fails and the new scheduler reassigns incomplete tasks, resulting in duplication. Also non-completion of tasks can occur if a worker has complete time=0 and has accepted the task never to return. What is RVRD for? How do we configure and use it?
RVRD is for routing messages published on a subject to machines on another subnet. There has to be one RVRD for each subnet, and an RVRD pair installed one on each subnet.

How do you do load balancing for ADB adapters?


Use RVCMDQ to run more than one instance of an adapter. Also you can specify batch processing of records (batch commit, instead of committing each record individually). Also you can increase thread count (but that going to help only if you increase it from 4-8)

Situations were we use CM? a) producer needs compulsory ack of the message. b) consumer cannot compromise on loosing messages. Situations were we can not use CM? high data rate bcos CM occupies most of the band width. What is rvcache?
The program rvcache stores data from recent messages, indexed by subject name, and automatically sends the cached Data to new listeners. Data stored in rvcache never expires. It remains in the cache until superseded or augmented by data from a new message on the same subject.rvcache stores the data in program memory and in a disk file.

What is rvtransaction?
When a group of messages are sent, even if one message is not delivered, all the messages are rolled back. RVTX support is deprecated from AE 5.1.

How would you know that a publisher and a subscriber are in cm mode? Subscriber will be pre-registered with the publisher in a cm mode. Configuring TIBCO RVRD RVRD Configuration Needed only when running primary and secondary administrators across separate subnets. We need to establish 2 RVRD connections for both HAWK and Rendezvous (Infra). So these steps will need to be performed for each. The standard is to name for router - or Example: C:\tibco\tibrv\bin>rvrd -listen tcp:17474 -logfile rvrd_17474.log -store rvrd_17474.cfg 1. Obtain https and https port Must view logfile to obtain both https and http port - search for Http interface to get the port. Look in rvrd_NNN.log (where NNN is rendezvous port number - i.e. rvrd_17474.log ) For ex: Http interface - http://dev1234:57265/ Https interface - https://dev1234:57266/ Must view logfile to obtain HAWK and REPOSITORY ports Look in rvrd_NNN.log (where NN is HAWK port number - i.e rvrd_17474.log) Note: look at last time rvrd started, so usually at or near bottom of logfile 2. Create Connection Using a browser, open up http://dev1234:57265 http port from logifle <>:

Choose Router A. Rendezvous Router name: -<18300> B. Hawk Router name: -<18374> Click: Add Router Local Network A. Rendezvous Name: (18300) Service: (18300) B. Hawk Name: <> (18374) Service: (18374) Click: Add Local Network Interface Add subjects: A. Rendezvous Click: Local Network Name Subject: Enter Each Subject in Exact order as Primary server Click: Import/Export Subject Names are 1. _RVFT.> 2. _RVCM.> 3. _RVCMQ.> 4. _com.tibco.repo.> 5. _FT.> 6. com.tibco.pof.> 7. com.tibco.pof Neighbor Click: Neighbor Local Endpoint A. Rendezvous Host: Port: B. Hawk Host: Port:

Remote Endpoint A. Rendezvous Host: (host you are connecting to) Port: Router Name: A. Hawk Host: (host you are connecting to) Port: Router Name: Click: Add Neighbor Interface All the details should be populated on this screen. Daemon Parameters Create user id and password Connected Neighbors Check all connected neighbours for appropriate servers, the following information should be corrected for neighbours. Note: Here the subject name should be com.tibco.repo.> instead of _com.tibco.repo.> For Hawk (which xxx74) port, please do make sure you are using subject names as "_HAWK.>"

RV transport parameters Daemon: Daemon is a back end running program infinitely. It is like a Gateway in RV. It tells the program where the RVD is running. It uses 'TCP' protocol and uses tcp:25 (port no.) by default. This needs ip address and port no.. tcp: ip address:port no. Service: Service tells you through which port the RVD should broadcast the message. Network: It has 3 parameters. Multicast, Broadcast and Sender address. These should be separated by a Semi-colon.

Posted by Arun at 1:07 AM 2 comments Labels: TIBCO RV FAQ'S

Links to this post

TIBCO FAQ'S
TIBCO Fundamentals 1) What is TIBCO? TIBCO makes Integration Server software for enterprises. An Integration Server allows a company to mix packaged applications, custom software, and legacy software for use across internal and external networks. TIBCO's patented approach is called Information Bus (TIB)

2)

What are the modes of TIBCO BW Installations ? GUI mode Console mode

3)

4)

5)

Silent mode What are the Major TIBCO Products? TIBCO ActiveMatrix BusinessWorks (UI Design, SOA, BI) TIBCO iProcess (BPM) TIBCO PortalBuilder (BO) TIBCO BusinessConnect (BI) TIBCO BusinessEvents (BB) TIBCO HAWK (BB) TIBCO EMS (BB) TIBCO Rendezvous (BB) What are the TIBCO tools required to design, test, deploy and messaging? TRA (Platform) TIBCO BusinessWorks & TIBCO Designer (Design & Test) TIBCO Administrator (Deploy) TIBCO EMS & RVD (Messaging) TIBCO HAWK (Monitoring) What is the role of TRA? TRA stands for TIBCO Runtime Agent and it runs in the background on each machine. The TRA has two main functions: 1. The TRA agent is responsible for starting and stopping processes that run on a Machine according to the deployment information. 2. Supplies the run-time environment, that is, all shared libraries including third-party libraries. What are the tools provided by TRA Installation? TIBCO Rendezvous TIBCO HAWK TIBCO Runtime Agent TIBCO Designer Java Runtime Environment Third Party core Libraries What are the 4 main panels of the Designer window? 1. Project panel 2. Palette panel 3. Design panel 4. Configuration panel

6)

7)

8)

9)

10)

11)

What is the bare minimum required to use TIBOC Business Works TRA BusinessWorks What are steps to design & test a process? 1. Create a new Process by selecting Process Definition from the Process Palette 2. Design the Process by configuring the required activities between the Start activity and Stop activity 3. To test the Process, switch to the Tester panel. Then click the (>) button or press F9 to load the test process What are the steps to build an .ear file using TIBCO Designer? 1. Select the Enterprise Archive activity from General Palette and configure the Name & File Loacation 2. Inside the Enterprise Archive activity and the Process Archive activity from the Process Palette. 3. Add the self starting process / services to the Process Archive 4. Click on Build Archive button in the Configuration tab in the Enterprise Archive activity to build the EAR file What are the steps to build an .ear file (TestAPP) and deploy it from Command Prompt? 1. Build the ear file using buildear utility buildear -s -ear /TestAPP.archive -o c:\ ..\deployment\TestAPP.ear -p c:\ ..\projects\TestAPP 2. Create the deployment configuration file using AppManage utility AppManage -export -ear c:\ ..\deployment\TestAPP.ear out c:\ .. \deployments\TestAPP.xml 3. Edit the deployment configuration XML file using a text editor 4. Deploy the application using AppManage utility AppManage -deploy -ear c:\ .. \deployment\TestAPP.ear -deployconfig c:\ .. \deployment\TestAPP_Admin.xml -app TestAPP -domain Admin -user admin -pw admin What are the steps to deploy an application using the Administrator GUI? 1. Start the TIBCO Administrator (tibcoadmin_domain-name.exe) & the TIBCO HAWK (hawkagent_domain-name.exe) agent from the command prompt or the windows services. 2. Start the Administrator GUI in a web browser (http://host-name:port) and enter the UID & PWD for the domain. 3. In the left Panel under the Application Management module select All Application. 4. In the right Panel, click on New Application and select the EAR File and click OK button. 5. Under Services Check the Deploy on Save option and then click on Save button to deploy the application

12)

13)

14)

15)

What are the steps to create a Master Domain using Domain Utility on the host machine? 1. Select Domain Configuration under Category List 2. Select Create a New Administration Domain under Task list and click on Next 3. Under Domain Details, input the Administration Domain & HAWK Cluster 4. Uncheck Domain information is stored in a Database and Local Application data options 5. Check the Show Advanced option 6. Set the RV Daemon and RV Service and make sure they are the same ports 7. Similarly set the HAWK Daemon and HAWK Service and click on next 8. Set the HTTP Port and click and next 9. Set the UID & PWD for the Domain and click on Finish What are the functions of an Administrator? User Management Machine Management Application Management Repository Management What are the uses of grouping activities? Repeat a group of activities based on a condition. Iterate over a list. Repeat until condition true. Repeat on Error until condition true. What is the scope of user defined process variables? The scope of user defined process variables is only within the process in which it is defined. It does not even extend to a sub process that is invoked from the current process. What are the reusable components in a project? Sub process WSDL Resource HTTP Connection JDBC Connection Schema Definition What are the various types of variables available within activities? Process Variable Local Variable Global Variable Error Variable Shared Variable What are the monitoring tools available in TIBCO? TIBCO HAWK TIBCO Business Events What are the messaging tools available in TIBCO? TIBCO EMS TIBCO Rendezvous

11

16)

17)

18)

19)

20)

File, JDBC, XML Palette What activities are required to Create, Copy & Delete a File? Create File Activity - The Create File activity creates a new file or directory with the specified name. When creating a file, you can also provide the file contents. Copy File Activity - The Copy File activity allows you to copy files and directories to a new location. Remove File Activity - The Remove File activity removes the specified file. This activity can also remove empty directories. If a directory that is not empty is specified, an exception is thrown. What activities are required to Read, Write & Rename Files? Read File Activity - The Read File activity is used to read a file and place its contents into the activitys output. Write File Activity - The Write File activity writes content to the specified file. Rename File activity - The Rename File activity is used to rename or move files. This activity can also rename directories, but you cannot use this activity to move a directory to a new location. What is the use of Data Format Activity? The Data Format resource contains the specification for parsing or rendering a text string using the Parse Data and Render Data activities. This shared configuration resource specifies the type of formatting for the text (delimited columns or fixed-width columns), the column separator for delimited columns, the line separator, and the fill character and field offsets for fixed-width columns. You must also specify the data schema to use for parsing or rendering the text. What are the two types of Data Format supported by TIBCO? Delimiter separated Fixed format What is the use of Field Offsets in the Data Format Activity? When processing Fixed Format text, you must specify the line length and the column offsets. This allows a Parse Data or Render Data activity to determine where columns and lines begin and end. The Field Offsets tab allows you to specify the format of fixed-width text. What is the Parse File & Render File Activity? Parse File Activity The Parse Data activity takes a text string or input from a file and processes it, turning it into a schema tree based on the specified Data Format shared configuration. Render File Activity The Render Data activity takes an instance of a data schema and renders it as a text string. The schema processed is based on a specified Data Format

21)

22)

23)

24)

25)

shared configuration.

26)

What is the File Poller Activity? The File Poller process starter polls for files or directories with the given name and starts a process when the specified change (creation, modification, deletion) is detected. What is the Wait For Change Activity used for? The Wait for File Change activity waits for a file creation, modification, or deletion event to occur during process execution. When this activity is executed, the process instance suspends and waits for the specified change to occur before resuming. Which Activity is used to create a Database table? SQL Direct Which Activities are used to execute a stored procedure or a statement? JDBC Call Procedure is used to execute a stored procedure.

27)

28) 29)

30) 31)

SQL Direct is used to execute a database statement ( Create, Alter, Delete etc.) Which activity is used to establish a connection to a database ? JDBC Connection What are the steps need to establish a database connection? 1. Add JDBC Connection from the JDBC Palette to the project 2. Set the Connection Type to JDBC 3. Select the JDBC Driver form the Drop Down List Box (ex: Oracle) 4. In the Database URL, set the host-name, port-number and database-name 5. Set the Username & Password for the database 6. Test the connection How do you add or retrieve a record form a database? JDBC Query is used to execute select statement to retrieve records from a database

32)

33)

JDBC Update is used to add records to a database via insert statement What is the use of Fetch in the JDBC Query Activity? The Fetch button on the JDBC Query activity allows you to synchronize the activity with the contents of the database. If you do not click the Fetch button before applying your changes, TIBCO ActiveMatrix BusinessWorks displays an error dialog prompting you to first fetch the output schema. Can we use JNDI to connect to a database instead of JDBC? We can used the JDBC Connection Activity to use the JNDI Context (in the Connection

34)

Type Dropdown box) instead of a JDBC Connect to establish a database connection 35) 36) Which activity is used to create a XML Schema? Schema form the XML Tools palette is used to define the XML Schema What is XML Element & Attribute? XML Elements XML Elements contain the opening and closing tags, child elements, and data. (Ex: Robert A+ ) XML Attribute An attribute appears within the opening tag of an element. XML requires that all XML attributes have a value. This means all attributes have to be equal to something! In the following example active="true" is the attribute. (Ex: Robert A+ 37) ) What is the use of Transform XML Activity? The Transform XML activity allows you to transform an input XML document into the output specified by the given XSLT File shared configuration resource. Normally, transformation of data occurs by mapping process variables to an activitys input and applying XPath expressions to perform any transformation. If you have an XSLT file that you are using for transformations, or if an outside source supplies an XSLT file, this activity allows you to use the XSLT file instead of manually creating the mappings. What is Parse XML activity? The Parse XML activity takes a binary XML file or an XML string and processes it, turning it into an XML schema tree based on the XSD or DTD specified. The preferred way to parse XML files is to use a Read File activity set to binary mode to read the XML file. Then pass the binary file contents to the Parse XML activity. What is Render XML Activity?

38)

39)

40)

The Render XML activity takes an instance of an XML schema element and renders it as a stream of bytes containing XML or an XML string. The schema is processed based on the XSD file specified. WSDL, SOAP, Service, HTTP Palette What is WSDL? WSDL stands for Web Services Description Language. A WSDL file is an XML instance of the XML Schema. A WSDL resource is composed of a series of definitions that describe the format and roles of messages used in web services. What is the use of WSDL Palette? The WSDL palette is used for creating, editing, validating, importing, and viewing WSDL files. These files are shared resources that describe web services. The WSDL palettes resources are used to create and reuse abstract definitions, namely: Messages, which describe the data being exchanged PortTypes, which define a set of operations Operations, which describe the activities supported by the web service What are the two types of WSDL required to create a Web Service? Abstract WSDL (Describes Structure & Elements) Concrete WSDL (Abstract WSDL with Transport) What are the basic components of a WSDL? Message (Contains the request and response of a web service) PortType (Logical Folder to organize the web service resources) Operation (Services offered by the web service) What are the steps to create an Abstract WSDL? 1. Select WSDL activity from the WSDL palatte 2. Describe the required Messages for the WSDL and the schema mapping for the Messages 3. Create the Logical Port by adding the PortType Activity to the WSDL 4. Add the required Operations to the PortType Activity. 5. Design the Operation offered by the web service. What are the steps to create a Concrete WSDL? 1. Create the Abstract WSDL 2. Get the XML WSDL from either SOAP Event Source or the Service WSDL and save it in a *.wsdl file 3. Import the saved concrete WSDL file into the project What are the two ways to create a web service? SOAP Event Source Service Palette What is the advantage of using the Service Palette over the SOAP Event Source? Using the SOAP Event Source, you can run only one operation at a time. While using the Service Palette you can run multiple operations simultaneously

41)

42)

43)

44)

45)

46)

47)

48)

49)

50)

What are the steps to create a web service using SOAP EventSource? 1. Define XSD 2. Define the HTTP / JMS Connection 3. Create Abstract WSDL from the XSD 4. Define the Process for the web service and replace Start Activity with the SOAP Event Source Activity from the SOAP Palette 5. Set the Port Type to Abstract WSDL and the Transport to HTTP / JMS Connection for the SOAP Event Source 6. Copy the XML WSDL form the SOAP Event Source to create the Concrete WSDL 7. Complete the design for the web service process 8. Create a Client Process and invoke the web service using the SOAP Request Reply Activty. 9. Set the Service Of the SOAP Request Reply to point to the Concrete WSDL. What are the steps to create a web service using Service Palette? 1. Define XSD 2. Define the HTTP / JMS Connection 3. Create Abstract WSDL from the XSD 4. Right Click the Abstract WSDL and select Tools or Multi-User > Generate Web Service > From WSDL 5. Select the Transport 6. Generate the Concrete WSDL from the WSDL Source of the Service WSDL 7. Define the Logical Operation 8. Create a Client Process and invoke the web service using the SOAP Request Reply Activty. 9. Set the Service Of the SOAP Request Reply to point to the Concrete WSDL What is the Operation activity in the WSDL Palette used for? The Operation component describes the message formats for the incoming and outgoing messages required by the activities supported by the portType. One or more Operation components can be added to a PortType component selected in your project. What is the Retrieve Resource Activity used for? The Retrieve Resources activity generates a WSDL file containing a concrete service (Conrete WSDL) description of any process definition that has a SOAP Event Source process starter. This allows clients to access the WSDL for a web service. The client can then use the WSDL file to invoke the web service. The Retrieve Resources activity can also be used to retrieve any other resources, including XSDs and WSIL. What is the SOAP Event Source Activity used For? The SOAP Event Source process starter creates a process instance for incoming SOAP requests. SOAP is a standard protocol for invoking web services. This allows you to create a web service using process definitions. Upon retrieval of the WSDL, the client can perform a SOAP request to invoke the web service. What is the SOAP Send Reply activity used for? The SOAP Send Reply activity sends a reply to an application that sent a SOAP request.

51)

52)

53)

54)

This activity is primarily used in process definitions that implement web services. When a SOAP Event Source is used as the process starter, the SOAP Send Reply activity is used to send the reply to the request that starts the process instance. What is SOAP Fault? The SOAP Fault element is used to carry error and/or status information within a SOAP message. What is the difference between "SOAP over JMS" and "SOAP over HTTP"? The advantage of using SOAP over JMS over SOAP over HTTP is reliability as you may use the persistence and acknowledgment features built in the standard. The same applies if you need to establish asynchronous communication or need to use the load balancing features provided by JMS servers. You can achieve this using http but the implementation would be much more complicated. What is the Context Resource used for? The Context Resource allows you to specify a schema to hold context data from an incoming request or outgoing replies to a service. This allows you to pass on data, such as the username and password sent by the requesting application. Also, you can pass data from the process that implements an operation back to the Service for any outgoing reply message. The Context Resource can also be used to store SOAP headers or message attachments. What is the Get Context activity used for? The Get Context activity retrieves the value of the specified Context Resource. This is useful if your process definition requires some context information from an incoming request (Like Username & Password etc.). Messaging What are the Messaging Tools Provided by TIBCO? EMS Rendezvous What is the difference between EMS & RVD? EMS Uses TCP Functions within the IP Layer Can be used within the Intranet and the Internet Slower than RVD RVD Uses UDP Functions within the Network Layer Considerably Faster than EMS Can be used only within the Intranet (LAN)

55)

56)

57)

58)

59)

60)

61)

62)

63)

What are the Messaging Modes? P2P (Queue) Pub / Sub (Topic) What are the two types of Delivery Modes in Messaging? Synchronized Asynchronized What are the Services provided by Messaging? Reliable (At Least Once) Guaranteed (At Most Once) Transactional (Only Once) What are files used by TIBCO to maintain the Connection details? Meta.db (Connection Details) Async.db (Fire & Forget Messages)

64)

Sync.db (Acknowledge Back Messages) What are the configuration files used by TIBCO EMS? Tibemsd.conf Queue.conf

65)

Topic.conf What is the maximum size and maximum number of message possible using TIBCO EMS? Maximum Message Size = 512MB [ Both Topic & Queue ]

66) 67)

Maximum No. Of Messages = 3600 messages / second What is the Maximum Retransmission Time? Maximum Retransmission Time = 60 seconds What are the delivery modes supported by EMS server? Persistent Non-persistent Reliable

68)

69)

70)

71)

72) 73)

What are the message types supported by EMS? Text XML Bytes Stream Simple Object ObjectRef Map What are the different types of Queues? Static Queue Dynamic Queue Temp Queue System Queue What are the permissions that you can grant to users to access queues? Receive Send Browse What are the permissions that you can grant to users to access topics? Subscribe Publish Durable Use_durable How do you remove individual messages from destinations? Using purge command, you can delete messages from queues and topics. What is the use of Durable option? Durable option enables persistence for EMS messages by creating Local Inboxes at the receiver end. The Message will exist as a reference till it is consumed by the corresponding receivers. 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 What is JMS topic requestor? The JMS Topic Requestor activity is used to communicate with a JMS applications requestresponse 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. What is the difference between Queues and Topics? Queue Guaranteed Service Only the Target gets the message (One message per Consumer)

74)

75)

76)

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 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. What is Load Balancing? Load Balancing is a technique to distribute workload evenly across two or more machines or resources, in order to get optimal resource utilization, maximize throughput, minimize response time, and avoid overload. Using multiple Receivers with load balancing, instead of a single Receiver, may increase reliability through redundancy. How is Load Balancing implemented on both Queue & Topic? Topic : Load Balancing is only possible on Queues Queue : Load Balancing is implemented on the receivers end. Since Load Balancing not possible on the sender side. What is Certified Messaging? Rendezvous (RV) uses 'UDP'. Therefore each message is sent as a packet with a sequence number and a subject attached. So, RV is also called as "Subject Based Messaging". Rendezvous Daemon (RVD) converts the message into packets and publish to the network. At the receiver end, RVD again converts the packets to the message and sends it to the receiver. This message is stored only for 60 seconds in the RVD before the message is lost. To avoid this, RV introduced a concept called 'Certified Messaging(CM)'. RVCM uses Ledger to save the messages. The sender stores all outbound messages of the registered receivers which have an agreement in the ledger unless the sender receives an acknowledgement from the receiver. What is the difference between RVD and RVRD? RVD is Used for local subnet communication. RVRD is Used for Remote communication. What are the steps to perform Server Side Load Balancing on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Start both copies of the servers from the command prompt (ex: C:\ ..

77)

78)

79)

80)

81) 82)

83)

\ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 5. In TIBCO Designer, modify the JMS Connection Provide URL to contain both the servers ( ex: tcp://localhost:7222 | tcp://localhost:7223) What is Fault Tolerance? Fault Tolerance is the ability of a system to respond gracefully to an unexpected hardware or software failure. Fault Tolerant systems mirror all operations, i.e. every operation is performed on two or more duplicate systems, so if one fails the other can take over. What are the steps to setup Fault Tolerance servers on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Names and Listen ports are not the same in the tibemsd.conf file in both the folders. 3. Change the port number in the tibemsd.conf file (i.e ft_active = listen port of the other server) in both the cfgmgmt folders. 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) What is the use of Bridges? Some applications require the same message to be sent to more than one destination possibly of different types. So we use bridges. What is the syntax to create Bridges without Message Selector? create bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to delete a bridge? delete bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to create Bridges with Message Selector? create bridge source=queue:bridgequeue target=topic:bridge topic selector="keyword" What is the use of Bridges and Routes? Both are used to channel messages from senders to receivers. Bridge act as connector between two different queue and Routes act as connector between different server for sending message and receiving acknowledgement of delivery. What are the steps required to create a Route between two Servers? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is NOT the same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Set the routing property to enabled in the tibemsd.conf files in both the folders 5. open factories.conf under cfgmgmt2 and change the settings for GeneralConnectionFactory, QueueConnectionFactory and TopicConnectionFactory URL to (tcp://xxxx) 6. Create Route on Server 1 (route Server2-Name url=tcp://localhost:xxxx) 7. Create global queue / topics on both servers as required 8. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf)

84)

85)

86) 87) 88) 89)

90)

91)

9. Test the route by using queue / topic in a BW Process Adapters What are Adapters? Adapters are connectors to data sources to catch event changes. Once an Adapter catches a event change, it publishes the message to a message box using either EMS or RVD What are the different types of adapters? Technical Adapters (File Adapter, DB Adapter) Functional Adapters (PeopleSoft Adapter, SAP R3 Adapter) Custom Adapters What are the types of adapter services? Subscriber Service Publisher Service Request-Response Service What are the 3 main configuration elements common for all Adapters? Design Time ( For BW Testing ) Run Time ( For Admin Deployment ) Service ( Pub / Sub, Request-Reply ) What is Publish by value and Publish by reference? In Publish by Value, all the specified columns in the source table are copied into the Publishing table. In Publish by reference, only the specified key column values are copied to the publishing table. What is the difference between JDBC activities and ADB Adapter? ADB uses ODBC to connect, JDBC uses JDBC ADB is more suitable for instances where you have a lot of processing ADB is more suitable for instances where you want that a particular action on a DB Table triggers a BW process. ADB adapter is best for publishing from database. For simple inserts and updates then ADB subscriber is best. In case of insert or update to database then check if you have complex JDBC inserts, transaction management and other dynamic queries then JDBC activities are best. JDBC is more suitable for running dynamic code where in runtime you can execute statements with different values depending on process execution. What are modes of operation for File Adapter in Record Mode? Synchronous mode upon receiving an event, the publication service will allow other services in the instance only after it completes the processing and publishing of all the files that match the specified criteria. In Asynchronous mode the publication service allows other services of the instance to receive events while it is processing and publishing a file. By default Subscription service always operates in Asynchronous mode. What are supported SQL Operations in database adapters?

92)

93)

94)

95)

96)

97)

98)

99)

The database adapter supports the following SQL operations for publishing and subscribing: INSERT UPDATE DELETE UPDATE/INSERT (update if row exists, otherwise insert) What are the transport types supported by ADB adapters? Rendezvous JMS

TIBCO Adapters FAQ'S


ADAPTERS What are Adapters? Adapters are connectors to data sources to catch event changes. Once an Adapter catches a event change, it publishes the message to a message box using either EMS or RVD Adapter is a gateway between different applications using messaging channels. What are the different types of adapters? Technical Adapters (File Adapter, DB Adapter) Functional Adapters (PeopleSoft Adapter, SAP R3 Adapter) Custom Adapters Adapter Components Each adapter has two main components, an adapter palette and a run-time adapter. In addition, some adapters include a design-time adapter. The adapter palette and design-time adapter are used during configuration, and the run-time adapter is used at production time. Adapter Palette: Each adapter includes a palette that is used for configuration. The palette is automatically loaded into TIBCO Designer during adapter installation and available the next time Designer is started. The palette enables you to configure adapter specific options, such as its connection to the vendor application, logging options, and adapter services. During the design phase, the palette connects to the vendor application and fetches information about connection options and data schemas. You can then graphically select the appropriate items. For example, during configuration of a TIBCO Adapter for ActiveDatabase adapter instance, the palette fetches all pertinent tables in the database. You then choose the tables that the particular service is to send or receive. Run-time Adapter :

Once the adapter has been configured using TIBCO Designer, it can be deployed. A deployed adapter instance is referred to as a run-time adapter. A run-time adapter operates in a production environment, handling communication between a vendor application and other applications that are configured for the TIBCO environment. Design-time Adapter : Some adapters use a design-time adapter (DTA) to access a vendor application and return design-time configuration information. The palette is a client of the DTA process. The DTA connects to the vendor application, fetches data schemas and sends them to the palette. Adapter Lifecycle: The following is an overview of the adapter lifecycle: 1. Install the vendor application to which the adapter connects before installing the adapter. For many adapters, the adapter and vendor application need not be installed on the same machine. 2. Adapters depend on other software from TIBCO. Before installing an adapter, the TIBCO Runtime Agent software must be installed on each computer on which the adapter runs. 3. Create an adapter instance and save it in a project using TIBCO Designer. A project contains configuration information required for a run-time adapter to interact with the vendor application and other applications. 4. Deploy the adapter. An adapter instance is deployed using TIBCO Administrator. a) Using TIBCO Designer, create an Enterprise Archive (EAR) file, which contains information about the adapter instances and processes you wish to deploy. b) Using TIBCO Administrator, upload the EAR, then deploy the adapter on the machine(s) of your choice. You can set runtime options before deployment. c) Using TIBCO Administrator, start and stop the adapter. d) Monitor the adapter using the built-in monitoring tools provided by TIBCO Administrator. Adapter Services : Adapters are responsible for making information from different applications available to other applications across an enterprise. To do so, an adapter is configured to provide one or more of the following services: Publication Service Subscription Service Request-Response Service Request-Response Invocation Service Publication Service : An adapter publication service recognizes when business events happen in a vendor application, and asynchronously sends out the event data in realtime to interested systems in the TIBCO environment. For example, an adapter can publish an event each time a new customer account is added to an application. Other applications that receive the event can then update their records just as the original application did. When an application receives a request to create a customer record, the application notifies the adapter about the request and the adapter publishes the event. User Interface-----------------Application X--------------Adapter -------------- TIBCO Messaging Create record Send to adapter Publishing

Polls on the source data table (base table). Reads data from the source table. Sends the data to the message bus. Subscription Service: An adapter subscription service asynchronously performs an action such as updating business objects or invoking native APIs on a vendor application. The adapter service listens to external business events, which trigger the appropriate action. Referring to the previous example, an adapter subscription service can listen for customer record creation events (happening in an application and published to the TIBCO infrastructure) and update another application. TIBCO Messaging------------Adapter-----------Application Y Subscribing Update record Reads data from the message bus. Gives the data to the destination table. Request-Response Service: In addition to asynchronously publishing and subscribing to events, an adapter can be used for synchronously retrieving data from or executing transactions within a vendor application. After the action is performed in the vendor application, the adapter service sends a response back to the requester with either the results of the action or a confirmation that the action occurred. This entire process is called request-response, and it is useful for actions such as adding or deleting business objects. Receives requests from other applications. Parses the requests. Returns response (Sends only the requested data to the message bus). Request-Respons Invocation Service: An adapter request-response invocation service is similar to the request-response service, except that the roles are reversed. The vendor application is now the requester or initiator of the service, instead of the provider of the service. The adapter service acts as a proxy, giving the vendor application the ability to invoke synchronously functionality on an external system. How can u fine-tune an ADBAdapter? What are the different parameters that can be used? a) we can use publish by value or publish by reference for high speed and data type support like oracle long respectively. b) Can use polar or alerter for frequent and infrequent data changes respectively. c) Adb.PollingInterval, _ADB.DUPDECT.adapter_instance_name parameters can be used to do flow control and avoid duplication respectively. What are the quality of services we can have in adapter publishing services? RV: reliable, certified, transactional What are the wire formats we can have in adapter publishing services? wire formats:

a) RV: active enterprise message, RV message, XML message. b)JMS: XML message What are the objects, which will be created if you configure and save ADB adapter? Publishing table for source table, Trigger acts as a bridge between source and publishing table Explain the internal functioning of ADB publication service? When we configure ADB publishing service it creates Publishing table for source table, Trigger acts as a bridge between source and publishing table. Whenever data is being inserted/updated/deleted from source table, it will be inserted into publishing table by means of trigger. ADB has another component called polling agent. Polling agent will be keep looking for new inserts into publishing table and if it finds any then converts the record in p table into the specified wire format and publishes on specified quality of service Can we filter the records from publishing when they get updated in source table? (Data from all regions are coming into table but I want to publish only New York data) Yes By modifying the trigger we can only insert the New York data into publishing table Can we limit the number of columns to be published from the source table? Yes, using the use? field in adapter publishing table tab. just uncheck the columns u dont want to use. Can we publish parent and child table information by using single adapter configuration and how? Yes, in the adapter publisher table tab create a parent table first by look up and then add the child table using the add child tab then click on the child table column to specify the foreign key than to establish a relationship between the primary key of the parent and the foreign key of the child go to the column in the child table and specify the primary key of the parent table. In the subscription service the destination table is created and the child table mapping tab will have the child table on the left mapped with the parent table on the right. What is publish by value and publish by reference. Explain the pros and cons. publish by value: in this type the changes in the source table are reflected in the p_ table and the data is taken from there. its used when high speed is required. it dose not support data types like oracle long. publish by reference: in this type the data is directly taken from the source table where only the primary key will come from p_ table. it allows data types like oracle long. loss of changes in the source table can be lost bcos of the waiting time.(this can be avoided using alerter). What are the types of message transfers in file adapters? record transfer: to integrate file systems to TIBCO AE environment. simple file transfer: to transfer files to other TIBCO adapters. What is read schema and write schema in file adapter.

Read schema in the file adapter publisher config is used to define typr of expected input. Here we can use the delimited file tupe or the positional file type. What is the difference between an ADBAdapter and JDBC palette activities? Using ADB we can only pick up the data from one database and put it in onother one. But using JDBC we can Query using JDBCQuery and manupulate data using JDBCUpdate. like we can use select statements and insert and update statements to selective query and update. ADB adapters might be useful in scenarios where we have large amount of data. What is the difference between a FileAdapter and File palette activities? In file activities the file polar cannot handle multi format data and record by record transfer .it takes care of particular format specified and does file transfer. where as file adapter can handle multiple formats and does record by record transfer. If the reference to Schema changes in "Activity Input" does it through error, how do you correct it? Yes, and we have to correct the schema in the way the input expect it. Where do we specify HTTP Port number? In HTTP connection in the HTTP activities. What is the difference between JDBC activities and ADB Adapter? ADB uses ODBC to connect, JDBC uses JDBC ADB is more suitable for instances where you have a lot of processing ADB is more suitable for instances where you want that a particular action on a DB Table triggers a BW process. ADB adapter is best for publishing from database. For simple inserts and updates then ADB subscriber is best. ADB is an adapter which is used to capture the events and take action, this has pub and sub mechanisms, pub is used to capture the events and publish the messages and sub will be used to upsert the operations. Jdbc is a collection of activities that can be used for custom operations In case of insert or update to database then check if you have complex JDBC inserts, transaction management and other dynamic queries then JDBC activities are best. JDBC is more suitable for running dynamic code where in runtime you can execute statements with different values depending on process execution. What are modes of operation for File Adapter in Record Mode? Synchronous mode upon receiving an event, the publication service will allow other services in the instance only after it completes the processing and publishing of all the files that match the specified criteria. In Asynchronous mode the publication service allows other services of the instance to receive events while it is processing and publishing a file. By default Subscription service always operates in Asynchronous mode. What is the diff between tibco adapter and BW component?

Adapters are connectors that use a messaging channel that can be configured over source/target systems which can be used in Pub, Sub or Replyrequest mode. BW components are designer, administrator, bw engine. What is a synchronous service that an adapter supports? Of the 4 Adapter services, Request/Response is the only adapter service that is synchronous. What is Event Driven and Demand Driven? Event Driven - Push Demand Driven - Poll. TIBCO Adapter for ActiveDatabase: TIBCO Adapter for ActiveDatabase software (the adapter) allows data changes in a database to be sent as they occur to other databases and applications. It extends publish-subscribe and request-response technology to databases, making multiple levels of delivery services available to applications that need access to these databases. ODBC and JDBC compliant databases such as Oracle, Sybase, and Microsoft SQL Server are supported. While the adapter does not run on z/OS and iSeries systems, it can remotely connect to a DB2 database running on these systems. TIBCO Adapter for ActiveDatabase is written using the TIBCO Adapter SDK software, which allows the adapter to interoperate with other TIBCO products. The adapter can communicate with any application that is configured for the TIBCO environment. What is File Adapter? TIBCO Adapter for Files software processes data from text files and publishes the contents in real-time to the TIBCO environment. The adapter also listens for messages in the TIBCO environment and writes the contents to a file. The adapter supports only text files when it is integrating a file system into the TIBCO ActiveEnterprise environment. It supports both text and binary files when it is transferring files between two or more TIBCO Adapter for Files installations. File Adapter Operations Mode? Selecting an operation mode is the first step in configuring a service. The operation mode determines whether the service will integrate the file system with the TIBCO ActiveEnterprise environment or transfer files between instances of TIBCO Adapter for Files. In the Record Mode of operation, where the adapter integrates the file system with TIBCO ActiveEnterprise, you will have to define and use schemas. In the Simple File Transfer Mode of operation, where the adapter transfers files among instances of TIBCO Adapter for Files, you will have to define various options for file transfer. However, there is no need to define a schema. Can two adapters communicate with each other? No two adapters can communicate with each other directly. They can communicate only through a messaging layer. Considering Tibco to be the messaging layer, Publishing Adapter always publishes to Tibco messaging bus.

Subscribing Adapter always subscribes from a Tibco messaging bus. What are users and user-key columns in Adapter Publisher's Table tab? While configuring an ADB Publisher: "Users" column specifies what columns have to be published to the publishing table. "User-key" is selected means it acts as a primary key. Child tables can be joined to the Parent tables only using the primary keys. Publish by reference storage mode copies only the primary key from the source table. If a source table does not have a primary key column, we can use the user-key to do the same. What are the columns available in a Adapter Publishing table? An adapter Publishing table contains the actual data columns plus Internal Adapter columns. Actual data colums: Depending on the storage mode selected, the actual data colums in the publishing table varies: For Publish by value, the actual data columns will be the exact copy of the base table data colums.(all the columns). For Publish by reference, the actual data columns will be the exact copy of the base table's primary key data colums (only Primary key column). Internal Adapter columns: ADB_SUBJECT ADB_SEQUENCE ADB_SET_SEQUENCE ADB_TIMESTAMP ADB_OPCODE ADB_UPDATE_ALL ADB_REF_OBJECT ADB_L_DELIVERY_STATUS ADB_L_CMSEQUENCE Publication and Subscription formats ( file adapter) Two types of formats are supported by adapters while exchanging data between applications 1. MInstances 2. MBusinessDocuments MInstances is the entity that is exchanged among TIBCO applications. It is the schema instantiations. The runtime adapter parses the input file, identifies the schema associated with the publication service, creates the MInstances and publishes it. MBusinessDocuments is a facility provided by TIBCO ActiveEnterprise for grouping MInstances. MBusinessDocument always contain MInstances created from the same file. If high throughput is desired from publication service MBusinessDocument attributes can be used. Modes of operation(file adapter) There are two modes of operation Synchronous mode Asynchronous mode

An adapter instance/configuration can have multiple publication and subscription services. Services are activated by events. The publication service can be activated by a timer event or message event. The event that activates the publication service is called polling agent. In Synchronous mode upon receiving an event, the publication service will allow other services in the instance only after it completes the processing and publishing of all the files that match the specified criteria. In Asynchronous mode the publication service allows other services of the instance to receive events while it is processing and publishing a file. By default Subscription service always operates in Asynchronous mode. If the configuration has more than one service or if the publication service is expected to process large file sizes or large set of files, setting the publication service in asynchronous mode is recommended. Types of file records (file adapter) File records can be classified into two categories: 1. delimited file record 2. positional file record Delimited file records are used to interpret lines that have a well-defined delimiter between the fields. Delimiters can be of single or multiple characters. These can be identified by the number of fields or by using a constant field value. Positional file records are used to interpret lines that have well defined field lengths. These can be identified using line or record length or by using a constant field value ie; constant line length. what is opaque table The subscription service uses two logical layers when processing a message. The first layer decodes data from the message and the second layer provides the database transaction. If an exception occurs in the first layer, the adapter logs the message to the opaque exception table. In the second layer, if any DML command fails at any level, the adapter rolls back this transaction and starts another transaction, inserting into exception tables. If the insert into exception table transaction fails, the adapter then logs the message to the opaque exception table. what is the difference between exception table and opaque exception table? The subscription service uses two logical layers when processing a message. The first layer decodes data from the message and the second layer provides the database transaction. If an exception occurs in the first layer, the adapter logs the message to the opaque exception table. In the second layer, if any DML command fails at any level, the adapter rolls back this transaction and starts another transaction, inserting into exception tables. If the insert into exception table transaction fails, the adapter then logs the message to the opaque exception table.

What are the transport types supported by ADB adapters? The transport types supported by ADB adapters are: 1) Rendezvous 2) JMS Rendezvous Quality of service supported by Rendezvous: 1) Reliable 2) Certified 3) Transactional Wire Formats Supported by Rendexvous: 1) Active Enterprise Message 2) Rendezvous Message 3) XML Message JMS Wire Formats Supported by JMS: 1) XML Message Connection Factory Type Supported by JMS: 1)Topic 2)Queue Delivery Mode Supported by JMS: 1) Persistent 2) Non-Persistent Posted by Arun at 1:12 AM 1 comments Labels: TIBCO Adapters FAQ'S

Links to this post

TIBCO EMS FAQ'S


EMS What are the different modes of installation in Ems? a. GUI mode b. Console mode c. Silent mode What are the messaging models supported by JMS? a. Point-to-point b. Publish-subscribe c. Multicast What are the destinations in EMS/JMS and their differences? Ans: Queues: point-point communication. Any number of producers and consumers can exist. At any

time and situation each message is taken by only one consumer. Exclusive: only the first consumer who picks up the first message can take the rest of the messages (used if u wants only one consumer). Non-exclusive: where any number of consumers can exist. Used for load balancing. Topics: publish-subscribe. Any number of publishers and subscribers can exist. Each message can be taken by any number of consumers (radio). In how many ways can a destination be created? a. Static-created by user b. Dynamic-created by ems server on the fly. c. Temporary destinations. Queues Vs Topics in TIBCO EMS There are two major models for messaging supported by JMS: queues and topics. Queues are based on a point-to-point messaging model. Topics make use of the new publish-and-subscribe messaging model. Regardless whether queues or topics are used, the messages are not sent directly peer-to-peer. Messages are forwarded to a JMS infrastructure that is composed of one or more JMS servers. The servers are responsible for providing the quality-of-services to JMS and responsible for implementing all the components not addressed by JMS Specification. When determining when to use queues versus topics consider the two fundamental messaging mechanisms. The first is point-to-point messaging, in which a message is sent by one publisher (sender) and received by one subscriber (receiver). The second is publish-subscribe messaging, in which a message is sent by one or more publishers and received by one or more subscribers. The messaging model as listed below will dictate when to use a queue or a topic: One-to-one messaging Queue point-to-point One-to-many messaging Topic publish-subscribe Many-to-many messaging Topic publish-subscribe model what is the Relationship between Temporary queue, queue, destination. A Destination can be a Queue or Topic, which typically says static. Which means you physically create this queue. I hope you know the definition for Queue which can static, dynamic or temporary. Static represents physical creation. Dynamic Represents, which will be created by receiver/sender application at run time, life span is limited, as long as there is messages or receivers, it will stay in server, if not it deletes. Temporary Queue means, created by receiver to submit the response to EMS server or Sender to get the messages. this life span is immediate, but there is a hidden danger with these queues, as these might turn into orphan queues (please read other articles). there is a fix, which will go by

4.4.2 ems version Difference between Exclusive and Non Exclusive Queues you can define a queue as exclusive to make sure that all the messages are always sent to the same consumer, even if you have more than one connected to it. If you make it exclusive the rest of the consumers are "on standby" so if the primary fails another one is set as primary and starts receiving. If you set them to non-exclusive (the default value) and you have more than one consumer connected to the queue the messages are delivered in a round robin fashion to balance the load. What is the use of system queues? system queues are undeleteable queues stored usualy undelivered messages (when you set JMS_TIBCO_PRESERVE_UNDELIVERED to true, in case the message exipres, you'll get it to $sys.undelivered) or other even driven messages if applicable. More in use are sytem topics for monitoring and statistics, where is EMS publishing queue and server statistics and can be detailed to message content level. dead Queue In case of any failures in the messages to server, will be added to dead queue, which is kind of internal system queue, I strongly feel. For ex: No memory trying to add message to dead queue. Failure queuing message to add to dead queue How do we distinguish dynamic queues with static queues? Ans: dynamic queues have * before them. what are the message storing mechanisms of queues? Ans: persistent and non-persistent. Persistent: messages are stored to external storage before sending. Non-persistent: not stored to any external storage. The information will not be available for retrieval. what are types of subscribers we can have for topics? Explain them in detail. Ans: durable and non-durable subscribers. In durable subscriptions the messages are stored so that even if the subscriber fails and comes back the messages can be retrieved. What are the permissions that you can grant to users to access queues? a. Receive b. Send c. Browse What are the permissions that you can grant to users to access topics? a. Subscribe b. Publish

c. Durable d. Use_durable 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 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.

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.

what is the structure of messages in JMS? Ans: header(needed), properties(optional) body(optional). Header parameters: JMS destination, JMS message. What is the purpose of JMS Queue receiver activity and Queue sender activity? Ans: Starts a process when ever a new message comes into the specified queue. A queue sender activity sends messages into the specified queue. 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. 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 What is JMS topic requestor? The JMS Topic Requestor activity is used to communicate with a JMS applications requestresponse 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. 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. 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.

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 doesnt 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. How a consumer can connect to the new primary EMS server when the running primary server goes down? Ans: we can specify multiple URLS 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 URLS for the same server so that even the primary in one location is down it can connect to the primary of another location. The URLS are usually comma separated in client config. 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. 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. 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. 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. 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. What is the pre-fetch value? Ans: In order for reducing the clients 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. 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. 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. 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. 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 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. 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. 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 What is tibemsd.conf It is the main configuration file that controls the characteristics of the EMS server. How many delivery modes for messages? Persistent, Non-persistent, Reliable-delivery. What is the maximum messagesize? Ems supports max message size of 512 mb 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. What happens if the message expires/exceeded the value specified by maxredelivery property on queue? If the jms_preserve_undelivered property is set to true, then it moves he message to undelivered message queue, if set to false, the message is deleted by the server. What are the wild cards that we use in ems?how do they work for queues and topics? *,> We can subscribe to wildcard topics, but cant publish to them. Where as in case of queues we cant either send /receive. Are bridges transitive? No Tell me about flow control on destinations? Some times the producer may send messages faster than the consumers can receive them. So, the message capacity on the server will be exhausted. So we use flow control. Flow control can be specified on destinations. Tell me about flow control on bridges and routes? Flow control has to be specified on both sides of bridges where as on routes it operates differently on sender side and receiver side. Name 3 configuration files and tell me what it consists of? a. Queues.conf b. Topics.conf c. Routes.conf d. Factories.conf e. Stores.conf f. Groups.conf, users.conf, transports.conf Name some administrative level destination properties? a. View b. Create c. Delete d. Modify e. Purge How can you change the configuration properties of EMS server? You can change in the tibemsd.conf file or you can change using the ems admin console. Tell me about multicasting in EMS? a. Multicast is a messaging model that broadcasts messages to many consumers at once rather than sending messages individually to each consumer. EMS uses Pragmatic general multicast to

broadcast messages published to multicast enabled topics. b. Each multicast enabled topic is associated with a channel. What are the advantages and disadvantages of multicasting.. a. Advantages: As the message broadcasts only once there by reducing the amount of bandwidth used in publish and subscribe model. Reduces the network traffic. b. Disadvantages: Offers only last-hop delivery. So cant be used to send messages between servers. On what destinations can you use multicast? Topics Suppose, you got an error while accessing a queue, that you dont have necessary permissions to access the queue. What might be the solution/reason? The user that is assigned to the queue and the user used while creating. How does the secondary server know that the primary server is failed? Based on heartbeat intervals How do you add ems server to administrator? Using domain utility How do you remove individual messages from destinations? Using purge command. Connection and Session threading in Ems Connection : Multi thread Session : Single thread Where do you use a bridge in real time? we use in scenarios like publishing message from Topic to Queue, Store message in EMS for retrieval in case if there is any problem while moving data from one process to another. When ever you are decided to use message selectors on BW, use bridges and use message selector on bridges, which is more powerful than using message selectors on BW. Where is the AppManage located at? /tra//bin 3 files (batch) are ready for deployment. out of which only 2 files must be deployed together and not deploy the other one. How can we do this using AppManage? Batch means is it a single ear with multiple process archives, if so, dont pass the thrid process archive in the config file. What are the steps to perform Server Side Load Balancing on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2

2. Make sure that the Server Name is same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config 5. C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 6. In TIBCO Designer, modify the JMS Connection Provide URL to contain both the servers ( ex: tcp://localhost:7222 | tcp://localhost:7223) What are the steps to setup Fault Tolerance servers on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Names and Listen ports are not the same in the tibemsd.conf file in both the folders. 3. Change the port number in the tibemsd.conf file (i.e ft_active = listen port of the other server) in both the cfgmgmt folders. 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) What is the use of Bridges? Some applications require the same message to be sent to more than one destination possibly of different types. So we use bridges What is the syntax to create Bridges without Message Selector? create bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to delete a bridge? delete bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to create Bridges with Message Selector? create bridge source=queue:bridgequeue target=topic:bridge topic selector="keyword" What is the use of Bridges and Routes? Both are used to channel messages from senders to receivers. Bridge act as connector between two different queue and Routes act as connector between different server for sending message and receiving acknowledgement of delivery. What are the steps required to create a Route between two Servers? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is NOT the same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Set the routing property to enabled in the tibemsd.conf files in both the folders open factories.conf under cfgmgmt2 and change the settings for GeneralConnectionFactory, QueueConnectionFactory and TopicConnectionFactory URL to (tcp://xxxx)

5. Create Route on Server 1 (route Server2-Name url=tcp://localhost:xxxx) 6. Create global queue / topics on both servers as required 7. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 8. Test the route by using queue / topic in a BW Process How to create a transport between RV and EMS? Transport can be established between RV and EMS topic or queue. The message can be imported as well as exported from RV.Important point to remember is, with Topic for transport the messages can be imported and exported from RV But in the case of Queues the message can only be imported from RV. Follow these steps to establish transport between RV and EMS : 1)For enabling the transport : In the configuration file tibemsd.conf set the parameter tibrv_transports to enabled. The default value is disabled. 2)To set the type of parameters for tranport: In the transports.conf file set the parmeters in Transport definitions (in the configuration file transports.conf) specify the communication protocol between EMS and the external system. The parameters can be as follows: [RV01] type = tibrv topic_import_dm = TIBEMS_RELIABLE service = 7200 network = daemon = tcp:host:7200 topic_import_dm= TIBEMS_NONPERSISTENT Here RV01 is the name of the transport. type = required parameter which can be set to tibrv or rvcm(for certified messages) service = UDP port.if absnt the default is 7200 network = IP address. Daemon = TCP Port. topic_import_dm = delivery mode for importing the messages and the values can be TIBEMS_RELIABLE, TIBEMS_PERSISTENT OR TIBEMS_NONPERSISTENT Similarly the paramters can be set for topic_export_dm and queue_import_dm. export_headers = The default value is true and can be set to false if there is no requirement of exporting the JMS headers. export_properties = The default value is true and cane be set to false if there is no requirement of exporting the JMS properties.

3)Destination definitions (in the configuration files topics.conf and queues.conf) can set the import and export properties to specify one or more transports. Can set the import/export properties by either making an entry in topics.conf or queues.conf filesdirectly like topic.sample import="RV" where topic.sample is the name of the topic. or in the admin tool use : addprop topic myTopics.news import="RV01,RV02" which will add property import to myTopics in topics.conf files Key Points: The transport takes place when the topic name and the RV subject name are same. For topics: When a topic specifies import on a connected transport, tibemsd imports messages only when the topic has registered subscribers. For queues: When a queue specifies import on a connected transport, tibemsd immediately begins importing messages to the queue, even when no receivers exist for the queue. When a topic and a queue share the same name, at most one of them may set the import property. For example, if a topic example.transport and a queue example.transport are both defined, only one may specify the import property. TIBCO EMS Multicast - Features 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 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 functionality Built-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 scalable Multicast reduces the amount of bandwidth consumed Multicast reduces the number of operations performed by the server Multicast broadcasts the message only once where as in case of publish and subscriber for each of theconsumer a copy of the message is getting published Facts Multicast does not guarantee message delivery Messages requiring a high degree of reliability should not use multicast Multicast 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 Fault-Tolerance setup-A(Which deals with configuration of the files for fault tolerance) Note:The Ems data store should be in SAN or NAS,in actual Production Environment..so that the datastore is accessible by both primary and back up server SAN-Storage Area Network NAS-Network Area storage But for our case we would use just operating system file system (shared by both primary and Backup server) Fault Tolerance configuration setup Parameters will be in Bold and Inclined for easy identification Configuring Primary server open 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 server Create 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.conf groups=c:\tibco\ems\bin\Backup\groups.conf topics=c:\tibco\ems\bin\Backup\topics.conf queues=c:\tibco\ems\bin\Backup\queues.conf acl_list=c:\tibco\ems\bin\Backup\acl.conf factories=c:\tibco\ems\bin\Backup\factories.conf routes=c:\tibco\ems\bin\Backup\routes.conf bridges=c:\tibco\ems\bin\Backup\bridges.conf transports=c:\tibco\ems\bin\Backup\transports.conf tibrvcm=c:\tibco\ems\bin\Backup\queues.conf durables=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 server The 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 Fault-Tolerance Setup-B(which deals with starting primary and back up server--which will be in standby mode) This post is continuation of Fault Tolerance Setup-A Go to All programs>Run>type cmd You will get a command prompt window Type command: cd c:\tibco\ems\bin Now you will be inside bin directory Start Primary Server Type command: tibemsd (This is a application ) Start Backup Server Open another command prompt Navigate to the directory by entering the below command cd c:\tibco\ems\bin Give the following command tibemsd -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) Posted by Arun at 1:10 AM 2 comments Links to this post Labels: TIBCO EMS FAQ'S

TIBCO RV FAQ'S

RV
What is Rendezvous It is a framework/mechanism to integrate different applications running on distributed network on heterogeneous platforms. What Rendezvous does? This is Proprietary to TIBCO, and all TIBCO applications like Admin, Hawk, BW and other apps will communicate using Rendezvous, which is using Network UDP protocol. When a machine is being added to TIBCO domain, it creates two RVD files, one will be used to do the services (deploy,manage) etc and another will be used to get the status. Domain and machine are communicating to each other using RVD, most of the cases end machines in domain are being part of same subnet, what if a machine is being part of different subnets? there are two solutions. 1. Multi casting 2. RVRD Explain Transport It is software mechanism for sending and delivering messages.

protocol used by rv.


UDP(Universal Datagram Protocal)

What is difference between synchronous and asynchronous communication


Synchronous communication is time driven and asynchronous is event driven. Synchronous communication expects reply or acknowledgement back and in asynchronous communication doesnt expect any results of its communication right away. In messaging perspective request/reply messaging is synchronous communication and publish/subscribe is asynchronous communication.

What is the functionality of RV daemon Its a background process; RV enabled programs (programs which use RV api) depend on rvd for reliable and efficient network communication.

The rvd completes the pathway between rendezvous program processes across the network. It sends information into the network receives information from the network and filters subject addressed messages. What are the various parameters in Network component and what do each one indicate Service, Network and Daemon Service parameter instructs the rvd to use UDP or PGM services whenever it conveys messages on this transport. Network parameter instructs the rvd to use a particular network for communication. Daemon parameter indicates to which rvd the program has to connect Explain Certified messaging registration process steps and confirmation Process Certified messaging offers greater certainty of delivery.-even when the processes and their network connections are unstable. REGISTRATION.DISCOVERY RESGISTRATION.REQUEST REGISTRATION.CERTIFIED Certified delivery agreement) DELIVERY.CONFIRMED DELIVERY.COMPLETE Difference between Reliable delivery and Certified delivery?
Reliable Delivery: Ledger: None Time Limit: Contains outbound messages for 60 seconds Network Traffic: Minimal File Storage: No file storage

Certified Delivery:

Ledger: The certified delivery library records outbound messages in a ledger, either within the program process storage, or in file storage. Time Limit: The certified delivery library retains outbound messages in the ledger until either delivery complete or the time limit (set by the program) expires. Network Traffic: Additional network overhead to confirm delivery of each certified message. File Storage: Optional file-based ledgers consume file storage for each message until delivery is complete (or the time limit expires).

Explain Load balancing in Rendezvous, What are the various parameters In a producer/subscriber scenario when producer is send messages faster than subscriber can consume, messages will be queued up with consumer and may be lost. To address this situation we can balance the load of the consumer by clones of the consumer program and balancing the load among the consumer instances. This is load balancing.Programs use distributed queues for certified delivery to a group of servers, in order to balance the load among the servers. Parameters Scheduler weight Heartbeat Interval Scheduler Activation Interval Explain fault tolerance in Rendezvous
Fault Tolerance in a network environment is characterized by rapid recovery from failures such as process termination, hardware failure and network disconnect. Rendezvous provides a mechanism to achieve the fault tolerance among the RV processes.

What is ledger file used in RV for? CM Transport keeps Ledger file to record information about every unresolved outbound certified message. How can U establish point-point communication in RV? Can be established using RPTP protocol over a UDP channel What will happen when limit of a queue exceeds(how the event objects will be removed from a Queue)? Sends an advisory QUEUE.LIMIT_EXCEEDED Queue dispatch calls remove the event objects at the head of a queue, and run its callback function. Callback function is a program code which responds to events-processing inbound messages. What are the limit policies of a Queue in RV?
Discard none, discard first, discard last, discard new.

What is the advisory message thrown by RV when the maximum limit of a queue exceeds?
QUEUE.LIMIT_EXCEEDED

Is message loss possible in RV? When is it possible?


Yes, in slow consume and fast producer scenario message lost will be possible.

How many types of advisory messages are there in RV


System Advisory, RVCM Advisory, Fault- tolerance Advisory.

How to handle slow consumers when publisher is publishing rapidly? Scenario: A producer is producing messages at 100/min and consumer able to process only at the rate of 50/min, what is going to happen to other 50 messages? (Underlying communication is RV reliable) Use a dispatcher - increase process instances to avoid overflow. Implement load balancing How can u implement security in RV? Using SSL Protocol. Can be attained at 3 layers between rvd and services, in rvd, and between rvrd. What are the scheduler parameters in DQ? Weight, Heart beat interval, Activation Interval. If rvd is down and a program has to send a message, how it sends Creating a transport object in the program invokes new rvd process. What is the difference between JMS messaging and RV messaging? RV messaging is a de-centralizing messaging/JMS centralized messaging Explain rv messaging, how does it work? RV messaging provides creating messages in a universal format assign a subject name to the message and publish the message on to the network. Messages will travel over the network and reaches all the nodes in the network. RV provides RV enables subscribers to capture the message of interest and process it. Explain how do you set up RVCMDQ? And how does it work? A producer is producing messages at 100/min and consumer able to process only at the rate of 50/min, what is going to happen to other 50 messages? (Underlying communication is RV reliable) hint ans: slow response advisory is thrown, oldest messages discarded depending on the destination settings. A process group is on RVCMDQ, can that be made both load-balanced and fault-tolerant?
Hint: no, they are mutually exclusive semantics.

What is the main problem/issue with load balancing as in RVCMDQ? What are possible Scenarios. when this occurs? Duplication occurs/non-completion of assigned task 1. if the worker is slow, scheduler might re-assign the task to another worker resulting in duplication. 2. Scheduler fails and the new scheduler reassigns incomplete tasks, resulting in duplication.

Also non-completion of tasks can occur if a worker has complete time=0 and has accepted the task never to return. What is RVRD for? How do we configure and use it?
RVRD is for routing messages published on a subject to machines on another subnet. There has to be one RVRD for each subnet, and an RVRD pair installed one on each subnet.

How do you do load balancing for ADB adapters?


Use RVCMDQ to run more than one instance of an adapter. Also you can specify batch processing of records (batch commit, instead of committing each record individually). Also you can increase thread count (but that going to help only if you increase it from 4-8)

Situations were we use CM? a) producer needs compulsory ack of the message. b) consumer cannot compromise on loosing messages. Situations were we can not use CM? high data rate bcos CM occupies most of the band width. What is rvcache?
The program rvcache stores data from recent messages, indexed by subject name, and automatically sends the cached Data to new listeners. Data stored in rvcache never expires. It remains in the cache until superseded or augmented by data from a new message on the same subject.rvcache stores the data in program memory and in a disk file.

What is rvtransaction?
When a group of messages are sent, even if one message is not delivered, all the messages are rolled back. RVTX support is deprecated from AE 5.1.

How would you know that a publisher and a subscriber are in cm mode? Subscriber will be pre-registered with the publisher in a cm mode. Configuring TIBCO RVRD RVRD Configuration Needed only when running primary and secondary administrators across separate subnets. We need to establish 2 RVRD connections for both HAWK and Rendezvous (Infra). So these steps will need to be performed for each. The standard is to name for router - or Example: C:\tibco\tibrv\bin>rvrd -listen tcp:17474 -logfile rvrd_17474.log -store

rvrd_17474.cfg 1. Obtain https and https port Must view logfile to obtain both https and http port - search for Http interface to get the port. Look in rvrd_NNN.log (where NNN is rendezvous port number - i.e. rvrd_17474.log ) For ex: Http interface - http://dev1234:57265/ Https interface - https://dev1234:57266/ Must view logfile to obtain HAWK and REPOSITORY ports Look in rvrd_NNN.log (where NN is HAWK port number - i.e rvrd_17474.log) Note: look at last time rvrd started, so usually at or near bottom of logfile 2. Create Connection Using a browser, open up http://dev1234:57265 http port from logifle <>: Choose Router A. Rendezvous Router name: -<18300> B. Hawk Router name: -<18374> Click: Add Router Local Network A. Rendezvous Name: (18300) Service: (18300) B. Hawk Name: <> (18374) Service: (18374) Click: Add Local Network Interface Add subjects: A. Rendezvous Click: Local Network Name Subject: Enter Each Subject in Exact order as Primary server Click: Import/Export Subject Names are 1. _RVFT.> 2. _RVCM.> 3. _RVCMQ.> 4. _com.tibco.repo.> 5. _FT.> 6. com.tibco.pof.> 7. com.tibco.pof Neighbor Click: Neighbor

Local Endpoint A. Rendezvous Host: Port: B. Hawk Host: Port:

Remote Endpoint A. Rendezvous Host: (host you are connecting to) Port: Router Name: A. Hawk Host: (host you are connecting to) Port: Router Name: Click: Add Neighbor Interface All the details should be populated on this screen. Daemon Parameters Create user id and password Connected Neighbors Check all connected neighbours for appropriate servers, the following information should be corrected for neighbours. Note: Here the subject name should be com.tibco.repo.> instead of _com.tibco.repo.> For Hawk (which xxx74) port, please do make sure you are using subject names as "_HAWK.>"

RV transport parameters Daemon: Daemon is a back end running program infinitely. It is like a Gateway in RV. It tells the program where the RVD is running. It uses 'TCP' protocol and uses tcp:25 (port no.) by default. This needs ip address and port no.. tcp: ip address:port no. Service: Service tells you through which port the RVD should broadcast the message. Network: It has 3 parameters. Multicast, Broadcast and Sender address. These should be separated by a Semi-colon.

Posted by Arun at 1:07 AM 2 comments Labels: TIBCO RV FAQ'S

Links to this post

TIBCO FAQ'S
TIBCO Fundamentals 1) What is TIBCO? TIBCO makes Integration Server software for enterprises. An Integration Server allows a company to mix packaged applications, custom software, and legacy software for use across internal and external networks. TIBCO's patented approach is called Information Bus (TIB) What are the modes of TIBCO BW Installations ? GUI mode Console mode 3) Silent mode What are the Major TIBCO Products? TIBCO ActiveMatrix BusinessWorks (UI Design, SOA, BI) TIBCO iProcess (BPM) TIBCO PortalBuilder (BO) TIBCO BusinessConnect (BI) TIBCO BusinessEvents (BB) TIBCO HAWK (BB) TIBCO EMS (BB) TIBCO Rendezvous (BB) What are the TIBCO tools required to design, test, deploy and messaging? TRA (Platform) TIBCO BusinessWorks & TIBCO Designer (Design & Test) TIBCO Administrator (Deploy) TIBCO EMS & RVD (Messaging) TIBCO HAWK (Monitoring) What is the role of TRA? TRA stands for TIBCO Runtime Agent and it runs in the background on each machine. The TRA has two main functions: 1. The TRA agent is responsible for starting and stopping processes that run on a Machine according to the deployment information. 2. Supplies the run-time environment, that is, all shared libraries including third-party libraries.

2)

4)

5)

6)

7)

8)

9)

10)

11)

What are the tools provided by TRA Installation? TIBCO Rendezvous TIBCO HAWK TIBCO Runtime Agent TIBCO Designer Java Runtime Environment Third Party core Libraries What are the 4 main panels of the Designer window? 1. Project panel 2. Palette panel 3. Design panel 4. Configuration panel What is the bare minimum required to use TIBOC Business Works TRA BusinessWorks What are steps to design & test a process? 1. Create a new Process by selecting Process Definition from the Process Palette 2. Design the Process by configuring the required activities between the Start activity and Stop activity 3. To test the Process, switch to the Tester panel. Then click the (>) button or press F9 to load the test process What are the steps to build an .ear file using TIBCO Designer? 1. Select the Enterprise Archive activity from General Palette and configure the Name & File Loacation 2. Inside the Enterprise Archive activity and the Process Archive activity from the Process Palette. 3. Add the self starting process / services to the Process Archive 4. Click on Build Archive button in the Configuration tab in the Enterprise Archive activity to build the EAR file What are the steps to build an .ear file (TestAPP) and deploy it from Command Prompt? 1. Build the ear file using buildear utility buildear -s -ear /TestAPP.archive -o c:\ ..\deployment\TestAPP.ear -p c:\ ..\projects\TestAPP 2. Create the deployment configuration file using AppManage utility AppManage -export -ear c:\ ..\deployment\TestAPP.ear out c:\ .. \deployments\TestAPP.xml 3. Edit the deployment configuration XML file using a text editor 4. Deploy the application using AppManage utility AppManage -deploy -ear c:\ .. \deployment\TestAPP.ear -deployconfig c:\ .. \deployment\TestAPP_Admin.xml -app TestAPP -domain Admin -user admin -pw admin

12)

13)

14)

15)

What are the steps to deploy an application using the Administrator GUI? 1. Start the TIBCO Administrator (tibcoadmin_domain-name.exe) & the TIBCO HAWK (hawkagent_domain-name.exe) agent from the command prompt or the windows services. 2. Start the Administrator GUI in a web browser (http://host-name:port) and enter the UID & PWD for the domain. 3. In the left Panel under the Application Management module select All Application. 4. In the right Panel, click on New Application and select the EAR File and click OK button. 5. Under Services Check the Deploy on Save option and then click on Save button to deploy the application What are the steps to create a Master Domain using Domain Utility on the host machine? 1. Select Domain Configuration under Category List 2. Select Create a New Administration Domain under Task list and click on Next 3. Under Domain Details, input the Administration Domain & HAWK Cluster 4. Uncheck Domain information is stored in a Database and Local Application data options 5. Check the Show Advanced option 6. Set the RV Daemon and RV Service and make sure they are the same ports 7. Similarly set the HAWK Daemon and HAWK Service and click on next 8. Set the HTTP Port and click and next 9. Set the UID & PWD for the Domain and click on Finish What are the functions of an Administrator? User Management Machine Management Application Management Repository Management What are the uses of grouping activities? Repeat a group of activities based on a condition. Iterate over a list. Repeat until condition true. Repeat on Error until condition true. What is the scope of user defined process variables? The scope of user defined process variables is only within the process in which it is defined. It does not even extend to a sub process that is invoked from the current process. What are the reusable components in a project? Sub process WSDL Resource HTTP Connection JDBC Connection Schema Definition

11

16)

17)

18)

19)

20)

What are the various types of variables available within activities? Process Variable Local Variable Global Variable Error Variable Shared Variable What are the monitoring tools available in TIBCO? TIBCO HAWK TIBCO Business Events What are the messaging tools available in TIBCO? TIBCO EMS TIBCO Rendezvous File, JDBC, XML Palette What activities are required to Create, Copy & Delete a File? Create File Activity - The Create File activity creates a new file or directory with the specified name. When creating a file, you can also provide the file contents. Copy File Activity - The Copy File activity allows you to copy files and directories to a new location. Remove File Activity - The Remove File activity removes the specified file. This activity can also remove empty directories. If a directory that is not empty is specified, an exception is thrown. What activities are required to Read, Write & Rename Files? Read File Activity - The Read File activity is used to read a file and place its contents into the activitys output. Write File Activity - The Write File activity writes content to the specified file. Rename File activity - The Rename File activity is used to rename or move files. This activity can also rename directories, but you cannot use this activity to move a directory to a new location. What is the use of Data Format Activity? The Data Format resource contains the specification for parsing or rendering a text string using the Parse Data and Render Data activities. This shared configuration resource specifies the type of formatting for the text (delimited columns or fixed-width columns), the column separator for delimited columns, the line separator, and the fill character and field offsets for fixed-width columns. You must also specify the data schema to use for parsing or rendering the text. What are the two types of Data Format supported by TIBCO? Delimiter separated Fixed format

21)

22)

23)

24)

What is the use of Field Offsets in the Data Format Activity? When processing Fixed Format text, you must specify the line length and the column offsets. This allows a Parse Data or Render Data activity to determine where columns and lines begin and end. The Field Offsets tab allows you to specify the format of fixed-width text. What is the Parse File & Render File Activity? Parse File Activity The Parse Data activity takes a text string or input from a file and processes it, turning it into a schema tree based on the specified Data Format shared configuration. Render File Activity The Render Data activity takes an instance of a data schema and renders it as a text string. The schema processed is based on a specified Data Format shared configuration. What is the File Poller Activity? The File Poller process starter polls for files or directories with the given name and starts a process when the specified change (creation, modification, deletion) is detected. What is the Wait For Change Activity used for? The Wait for File Change activity waits for a file creation, modification, or deletion event to occur during process execution. When this activity is executed, the process instance suspends and waits for the specified change to occur before resuming. Which Activity is used to create a Database table? SQL Direct Which Activities are used to execute a stored procedure or a statement? JDBC Call Procedure is used to execute a stored procedure.

25)

26)

27)

28) 29)

30) 31)

SQL Direct is used to execute a database statement ( Create, Alter, Delete etc.) Which activity is used to establish a connection to a database ? JDBC Connection What are the steps need to establish a database connection? 1. Add JDBC Connection from the JDBC Palette to the project 2. Set the Connection Type to JDBC 3. Select the JDBC Driver form the Drop Down List Box (ex: Oracle) 4. In the Database URL, set the host-name, port-number and database-name 5. Set the Username & Password for the database 6. Test the connection How do you add or retrieve a record form a database? JDBC Query is used to execute select statement to retrieve records from a database JDBC Update is used to add records to a database via insert statement

32)

33)

What is the use of Fetch in the JDBC Query Activity? The Fetch button on the JDBC Query activity allows you to synchronize the activity with the contents of the database. If you do not click the Fetch button before applying your changes, TIBCO ActiveMatrix BusinessWorks displays an error dialog prompting you to first fetch the output schema. Can we use JNDI to connect to a database instead of JDBC? We can used the JDBC Connection Activity to use the JNDI Context (in the Connection Type Dropdown box) instead of a JDBC Connect to establish a database connection Which activity is used to create a XML Schema? Schema form the XML Tools palette is used to define the XML Schema What is XML Element & Attribute? XML Elements XML Elements contain the opening and closing tags, child elements, and data. (Ex: Robert A+ ) XML Attribute An attribute appears within the opening tag of an element. XML requires that all XML attributes have a value. This means all attributes have to be equal to something! In the following example active="true" is the attribute. (Ex: Robert A+

34)

35) 36)

37)

) What is the use of Transform XML Activity? The Transform XML activity allows you to transform an input XML document into the output specified by the given XSLT File shared configuration resource. Normally, transformation of data occurs by mapping process variables to an activitys input and applying XPath expressions to perform any transformation. If you have an XSLT file that you are using for transformations, or if an outside source supplies an XSLT file, this activity allows you to use

the XSLT file instead of manually creating the mappings.

38)

What is Parse XML activity? The Parse XML activity takes a binary XML file or an XML string and processes it, turning it into an XML schema tree based on the XSD or DTD specified. The preferred way to parse XML files is to use a Read File activity set to binary mode to read the XML file. Then pass the binary file contents to the Parse XML activity. What is Render XML Activity? The Render XML activity takes an instance of an XML schema element and renders it as a stream of bytes containing XML or an XML string. The schema is processed based on the XSD file specified. WSDL, SOAP, Service, HTTP Palette What is WSDL? WSDL stands for Web Services Description Language. A WSDL file is an XML instance of the XML Schema. A WSDL resource is composed of a series of definitions that describe the format and roles of messages used in web services. What is the use of WSDL Palette? The WSDL palette is used for creating, editing, validating, importing, and viewing WSDL files. These files are shared resources that describe web services. The WSDL palettes resources are used to create and reuse abstract definitions, namely: Messages, which describe the data being exchanged PortTypes, which define a set of operations Operations, which describe the activities supported by the web service What are the two types of WSDL required to create a Web Service? Abstract WSDL (Describes Structure & Elements) Concrete WSDL (Abstract WSDL with Transport) What are the basic components of a WSDL? Message (Contains the request and response of a web service) PortType (Logical Folder to organize the web service resources) Operation (Services offered by the web service) What are the steps to create an Abstract WSDL? 1. Select WSDL activity from the WSDL palatte 2. Describe the required Messages for the WSDL and the schema mapping for the Messages 3. Create the Logical Port by adding the PortType Activity to the WSDL 4. Add the required Operations to the PortType Activity. 5. Design the Operation offered by the web service.

39)

40)

41)

42)

43)

44)

45)

46)

What are the steps to create a Concrete WSDL? 1. Create the Abstract WSDL 2. Get the XML WSDL from either SOAP Event Source or the Service WSDL and save it in a *.wsdl file 3. Import the saved concrete WSDL file into the project What are the two ways to create a web service? SOAP Event Source Service Palette What is the advantage of using the Service Palette over the SOAP Event Source? Using the SOAP Event Source, you can run only one operation at a time. While using the Service Palette you can run multiple operations simultaneously What are the steps to create a web service using SOAP EventSource? 1. Define XSD 2. Define the HTTP / JMS Connection 3. Create Abstract WSDL from the XSD 4. Define the Process for the web service and replace Start Activity with the SOAP Event Source Activity from the SOAP Palette 5. Set the Port Type to Abstract WSDL and the Transport to HTTP / JMS Connection for the SOAP Event Source 6. Copy the XML WSDL form the SOAP Event Source to create the Concrete WSDL 7. Complete the design for the web service process 8. Create a Client Process and invoke the web service using the SOAP Request Reply Activty. 9. Set the Service Of the SOAP Request Reply to point to the Concrete WSDL. What are the steps to create a web service using Service Palette? 1. Define XSD 2. Define the HTTP / JMS Connection 3. Create Abstract WSDL from the XSD 4. Right Click the Abstract WSDL and select Tools or Multi-User > Generate Web Service > From WSDL 5. Select the Transport 6. Generate the Concrete WSDL from the WSDL Source of the Service WSDL 7. Define the Logical Operation 8. Create a Client Process and invoke the web service using the SOAP Request Reply Activty. 9. Set the Service Of the SOAP Request Reply to point to the Concrete WSDL What is the Operation activity in the WSDL Palette used for? The Operation component describes the message formats for the incoming and outgoing messages required by the activities supported by the portType. One or more Operation components can be added to a PortType component selected in your project. What is the Retrieve Resource Activity used for? The Retrieve Resources activity generates a WSDL file containing a concrete service

47)

48)

49)

50)

51)

52)

(Conrete WSDL) description of any process definition that has a SOAP Event Source process starter. This allows clients to access the WSDL for a web service. The client can then use the WSDL file to invoke the web service. The Retrieve Resources activity can also be used to retrieve any other resources, including XSDs and WSIL. What is the SOAP Event Source Activity used For? The SOAP Event Source process starter creates a process instance for incoming SOAP requests. SOAP is a standard protocol for invoking web services. This allows you to create a web service using process definitions. Upon retrieval of the WSDL, the client can perform a SOAP request to invoke the web service. What is the SOAP Send Reply activity used for? The SOAP Send Reply activity sends a reply to an application that sent a SOAP request. This activity is primarily used in process definitions that implement web services. When a SOAP Event Source is used as the process starter, the SOAP Send Reply activity is used to send the reply to the request that starts the process instance. What is SOAP Fault? The SOAP Fault element is used to carry error and/or status information within a SOAP message. What is the difference between "SOAP over JMS" and "SOAP over HTTP"? The advantage of using SOAP over JMS over SOAP over HTTP is reliability as you may use the persistence and acknowledgment features built in the standard. The same applies if you need to establish asynchronous communication or need to use the load balancing features provided by JMS servers. You can achieve this using http but the implementation would be much more complicated. What is the Context Resource used for? The Context Resource allows you to specify a schema to hold context data from an incoming request or outgoing replies to a service. This allows you to pass on data, such as the username and password sent by the requesting application. Also, you can pass data from the process that implements an operation back to the Service for any outgoing reply message. The Context Resource can also be used to store SOAP headers or message attachments. What is the Get Context activity used for? The Get Context activity retrieves the value of the specified Context Resource. This is useful if your process definition requires some context information from an incoming request (Like Username & Password etc.). Messaging What are the Messaging Tools Provided by TIBCO? EMS Rendezvous What is the difference between EMS & RVD?

53)

54)

55)

56)

57)

58)

59)

EMS Uses TCP Functions within the IP Layer Can be used within the Intranet and the Internet Slower than RVD RVD Uses UDP Functions within the Network Layer Considerably Faster than EMS Can be used only within the Intranet (LAN) What are the Messaging Modes? P2P (Queue) Pub / Sub (Topic) What are the two types of Delivery Modes in Messaging? Synchronized Asynchronized What are the Services provided by Messaging? Reliable (At Least Once) Guaranteed (At Most Once) Transactional (Only Once) What are files used by TIBCO to maintain the Connection details? Meta.db (Connection Details) Async.db (Fire & Forget Messages) 64) Sync.db (Acknowledge Back Messages) What are the configuration files used by TIBCO EMS? Tibemsd.conf Queue.conf 65) Topic.conf What is the maximum size and maximum number of message possible using TIBCO EMS? Maximum Message Size = 512MB [ Both Topic & Queue ] 66) Maximum No. Of Messages = 3600 messages / second What is the Maximum Retransmission Time? Maximum Retransmission Time = 60 seconds

60)

61)

62)

63)

67)

68)

69)

70)

71)

72) 73)

What are the delivery modes supported by EMS server? Persistent Non-persistent Reliable What are the message types supported by EMS? Text XML Bytes Stream Simple Object ObjectRef Map What are the different types of Queues? Static Queue Dynamic Queue Temp Queue System Queue What are the permissions that you can grant to users to access queues? Receive Send Browse What are the permissions that you can grant to users to access topics? Subscribe Publish Durable Use_durable How do you remove individual messages from destinations? Using purge command, you can delete messages from queues and topics. What is the use of Durable option? Durable option enables persistence for EMS messages by creating Local Inboxes at the receiver end. The Message will exist as a reference till it is consumed by the corresponding receivers. 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 What is JMS topic requestor? The JMS Topic Requestor activity is used to communicate with a JMS applications requestresponse 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.

74)

75)

76)

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 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. What is Load Balancing? Load Balancing is a technique to distribute workload evenly across two or more machines or resources, in order to get optimal resource utilization, maximize throughput, minimize response time, and avoid overload. Using multiple Receivers with load balancing, instead of a single Receiver, may increase reliability through redundancy. How is Load Balancing implemented on both Queue & Topic? Topic : Load Balancing is only possible on Queues Queue : Load Balancing is implemented on the receivers end. Since Load Balancing not possible on the sender side. What is Certified Messaging? Rendezvous (RV) uses 'UDP'. Therefore each message is sent as a packet with a sequence number and a subject attached. So, RV is also called as "Subject Based Messaging". Rendezvous Daemon (RVD) converts the message into packets and publish to the network. At the receiver end, RVD again converts the packets to the message and sends it to the receiver. This message is stored only for 60 seconds in the RVD before the message is lost. To avoid this, RV introduced a concept called 'Certified Messaging(CM)'. RVCM uses Ledger to save the messages. The sender stores all outbound messages of the registered receivers which have an agreement in the ledger unless the sender receives an acknowledgement from the receiver. What is the difference between RVD and RVRD? RVD is Used for local subnet communication. RVRD is Used for Remote communication.

77)

78)

79)

80)

81)

82)

83)

What are the steps to perform Server Side Load Balancing on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 5. In TIBCO Designer, modify the JMS Connection Provide URL to contain both the servers ( ex: tcp://localhost:7222 | tcp://localhost:7223) What is Fault Tolerance? Fault Tolerance is the ability of a system to respond gracefully to an unexpected hardware or software failure. Fault Tolerant systems mirror all operations, i.e. every operation is performed on two or more duplicate systems, so if one fails the other can take over. What are the steps to setup Fault Tolerance servers on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Names and Listen ports are not the same in the tibemsd.conf file in both the folders. 3. Change the port number in the tibemsd.conf file (i.e ft_active = listen port of the other server) in both the cfgmgmt folders. 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) What is the use of Bridges? Some applications require the same message to be sent to more than one destination possibly of different types. So we use bridges. What is the syntax to create Bridges without Message Selector? create bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to delete a bridge? delete bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to create Bridges with Message Selector? create bridge source=queue:bridgequeue target=topic:bridge topic selector="keyword" What is the use of Bridges and Routes? Both are used to channel messages from senders to receivers. Bridge act as connector between two different queue and Routes act as connector between different server for sending message and receiving acknowledgement of delivery. What are the steps required to create a Route between two Servers? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is NOT the same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Set the routing property to enabled in the tibemsd.conf files in both the folders 5. open factories.conf under cfgmgmt2 and change the settings for GeneralConnectionFactory, QueueConnectionFactory and TopicConnectionFactory

84)

85)

86) 87) 88) 89)

90)

91)

URL to (tcp://xxxx) 6. Create Route on Server 1 (route Server2-Name url=tcp://localhost:xxxx) 7. Create global queue / topics on both servers as required 8. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 9. Test the route by using queue / topic in a BW Process Adapters What are Adapters? Adapters are connectors to data sources to catch event changes. Once an Adapter catches a event change, it publishes the message to a message box using either EMS or RVD What are the different types of adapters? Technical Adapters (File Adapter, DB Adapter) Functional Adapters (PeopleSoft Adapter, SAP R3 Adapter) Custom Adapters What are the types of adapter services? Subscriber Service Publisher Service Request-Response Service What are the 3 main configuration elements common for all Adapters? Design Time ( For BW Testing ) Run Time ( For Admin Deployment ) Service ( Pub / Sub, Request-Reply ) What is Publish by value and Publish by reference? In Publish by Value, all the specified columns in the source table are copied into the Publishing table. In Publish by reference, only the specified key column values are copied to the publishing table. What is the difference between JDBC activities and ADB Adapter? ADB uses ODBC to connect, JDBC uses JDBC ADB is more suitable for instances where you have a lot of processing ADB is more suitable for instances where you want that a particular action on a DB Table triggers a BW process. ADB adapter is best for publishing from database. For simple inserts and updates then ADB subscriber is best. In case of insert or update to database then check if you have complex JDBC inserts, transaction management and other dynamic queries then JDBC activities are best. JDBC is more suitable for running dynamic code where in runtime you can execute statements with different values depending on process execution. What are modes of operation for File Adapter in Record Mode? Synchronous mode upon receiving an event, the publication service will allow other services in the instance only after it completes the processing and publishing of all the files that match the specified criteria.

92)

93)

94)

95)

96)

97)

98)

In Asynchronous mode the publication service allows other services of the instance to receive events while it is processing and publishing a file. By default Subscription service always operates in Asynchronous mode. What are supported SQL Operations in database adapters? The database adapter supports the following SQL operations for publishing and subscribing: INSERT UPDATE DELETE UPDATE/INSERT (update if row exists, otherwise insert) What are the transport types supported by ADB adapters? Rendezvous JMS

99)

TIBCO Adapters FAQ'S


ADAPTERS What are Adapters? Adapters are connectors to data sources to catch event changes. Once an Adapter catches a event change, it publishes the message to a message box using either EMS or RVD Adapter is a gateway between different applications using messaging channels. What are the different types of adapters? Technical Adapters (File Adapter, DB Adapter) Functional Adapters (PeopleSoft Adapter, SAP R3 Adapter) Custom Adapters Adapter Components Each adapter has two main components, an adapter palette and a run-time adapter. In addition, some adapters include a design-time adapter. The adapter palette and design-time adapter are used during configuration, and the run-time adapter is used at production time. Adapter Palette: Each adapter includes a palette that is used for configuration. The palette is automatically loaded into TIBCO Designer during adapter installation and available the next time Designer is started. The palette enables you to configure adapter specific options, such as its connection to the vendor application, logging options, and adapter services. During the design phase, the palette connects to the vendor application and fetches information about connection options and data schemas. You can then graphically select the appropriate items. For example, during configuration of a TIBCO Adapter for ActiveDatabase adapter instance, the palette fetches all pertinent tables in the database. You then choose the tables that the particular service is to send or receive. Run-time Adapter : Once the adapter has been configured using TIBCO Designer, it can be deployed. A deployed

adapter instance is referred to as a run-time adapter. A run-time adapter operates in a production environment, handling communication between a vendor application and other applications that are configured for the TIBCO environment. Design-time Adapter : Some adapters use a design-time adapter (DTA) to access a vendor application and return design-time configuration information. The palette is a client of the DTA process. The DTA connects to the vendor application, fetches data schemas and sends them to the palette. Adapter Lifecycle: The following is an overview of the adapter lifecycle: 1. Install the vendor application to which the adapter connects before installing the adapter. For many adapters, the adapter and vendor application need not be installed on the same machine. 2. Adapters depend on other software from TIBCO. Before installing an adapter, the TIBCO Runtime Agent software must be installed on each computer on which the adapter runs. 3. Create an adapter instance and save it in a project using TIBCO Designer. A project contains configuration information required for a run-time adapter to interact with the vendor application and other applications. 4. Deploy the adapter. An adapter instance is deployed using TIBCO Administrator. a) Using TIBCO Designer, create an Enterprise Archive (EAR) file, which contains information about the adapter instances and processes you wish to deploy. b) Using TIBCO Administrator, upload the EAR, then deploy the adapter on the machine(s) of your choice. You can set runtime options before deployment. c) Using TIBCO Administrator, start and stop the adapter. d) Monitor the adapter using the built-in monitoring tools provided by TIBCO Administrator. Adapter Services : Adapters are responsible for making information from different applications available to other applications across an enterprise. To do so, an adapter is configured to provide one or more of the following services: Publication Service Subscription Service Request-Response Service Request-Response Invocation Service Publication Service : An adapter publication service recognizes when business events happen in a vendor application, and asynchronously sends out the event data in realtime to interested systems in the TIBCO environment. For example, an adapter can publish an event each time a new customer account is added to an application. Other applications that receive the event can then update their records just as the original application did. When an application receives a request to create a customer record, the application notifies the adapter about the request and the adapter publishes the event. User Interface-----------------Application X--------------Adapter -------------- TIBCO Messaging Create record Send to adapter Publishing

Polls on the source data table (base table). Reads data from the source table. Sends the data to the message bus. Subscription Service: An adapter subscription service asynchronously performs an action such as updating business objects or invoking native APIs on a vendor application. The adapter service listens to external business events, which trigger the appropriate action. Referring to the previous example, an adapter subscription service can listen for customer record creation events (happening in an application and published to the TIBCO infrastructure) and update another application. TIBCO Messaging------------Adapter-----------Application Y Subscribing Update record Reads data from the message bus. Gives the data to the destination table. Request-Response Service: In addition to asynchronously publishing and subscribing to events, an adapter can be used for synchronously retrieving data from or executing transactions within a vendor application. After the action is performed in the vendor application, the adapter service sends a response back to the requester with either the results of the action or a confirmation that the action occurred. This entire process is called request-response, and it is useful for actions such as adding or deleting business objects. Receives requests from other applications. Parses the requests. Returns response (Sends only the requested data to the message bus). Request-Respons Invocation Service: An adapter request-response invocation service is similar to the request-response service, except that the roles are reversed. The vendor application is now the requester or initiator of the service, instead of the provider of the service. The adapter service acts as a proxy, giving the vendor application the ability to invoke synchronously functionality on an external system. How can u fine-tune an ADBAdapter? What are the different parameters that can be used? a) we can use publish by value or publish by reference for high speed and data type support like oracle long respectively. b) Can use polar or alerter for frequent and infrequent data changes respectively. c) Adb.PollingInterval, _ADB.DUPDECT.adapter_instance_name parameters can be used to do flow control and avoid duplication respectively. What are the quality of services we can have in adapter publishing services? RV: reliable, certified, transactional What are the wire formats we can have in adapter publishing services? wire formats: a) RV: active enterprise message, RV message, XML message.

b)JMS: XML message What are the objects, which will be created if you configure and save ADB adapter? Publishing table for source table, Trigger acts as a bridge between source and publishing table Explain the internal functioning of ADB publication service? When we configure ADB publishing service it creates Publishing table for source table, Trigger acts as a bridge between source and publishing table. Whenever data is being inserted/updated/deleted from source table, it will be inserted into publishing table by means of trigger. ADB has another component called polling agent. Polling agent will be keep looking for new inserts into publishing table and if it finds any then converts the record in p table into the specified wire format and publishes on specified quality of service Can we filter the records from publishing when they get updated in source table? (Data from all regions are coming into table but I want to publish only New York data) Yes By modifying the trigger we can only insert the New York data into publishing table Can we limit the number of columns to be published from the source table? Yes, using the use? field in adapter publishing table tab. just uncheck the columns u dont want to use. Can we publish parent and child table information by using single adapter configuration and how? Yes, in the adapter publisher table tab create a parent table first by look up and then add the child table using the add child tab then click on the child table column to specify the foreign key than to establish a relationship between the primary key of the parent and the foreign key of the child go to the column in the child table and specify the primary key of the parent table. In the subscription service the destination table is created and the child table mapping tab will have the child table on the left mapped with the parent table on the right. What is publish by value and publish by reference. Explain the pros and cons. publish by value: in this type the changes in the source table are reflected in the p_ table and the data is taken from there. its used when high speed is required. it dose not support data types like oracle long. publish by reference: in this type the data is directly taken from the source table where only the primary key will come from p_ table. it allows data types like oracle long. loss of changes in the source table can be lost bcos of the waiting time.(this can be avoided using alerter). What are the types of message transfers in file adapters? record transfer: to integrate file systems to TIBCO AE environment. simple file transfer: to transfer files to other TIBCO adapters. What is read schema and write schema in file adapter. Read schema in the file adapter publisher config is used to define typr of expected input. Here

we can use the delimited file tupe or the positional file type. What is the difference between an ADBAdapter and JDBC palette activities? Using ADB we can only pick up the data from one database and put it in onother one. But using JDBC we can Query using JDBCQuery and manupulate data using JDBCUpdate. like we can use select statements and insert and update statements to selective query and update. ADB adapters might be useful in scenarios where we have large amount of data. What is the difference between a FileAdapter and File palette activities? In file activities the file polar cannot handle multi format data and record by record transfer .it takes care of particular format specified and does file transfer. where as file adapter can handle multiple formats and does record by record transfer. If the reference to Schema changes in "Activity Input" does it through error, how do you correct it? Yes, and we have to correct the schema in the way the input expect it. Where do we specify HTTP Port number? In HTTP connection in the HTTP activities. What is the difference between JDBC activities and ADB Adapter? ADB uses ODBC to connect, JDBC uses JDBC ADB is more suitable for instances where you have a lot of processing ADB is more suitable for instances where you want that a particular action on a DB Table triggers a BW process. ADB adapter is best for publishing from database. For simple inserts and updates then ADB subscriber is best. ADB is an adapter which is used to capture the events and take action, this has pub and sub mechanisms, pub is used to capture the events and publish the messages and sub will be used to upsert the operations. Jdbc is a collection of activities that can be used for custom operations In case of insert or update to database then check if you have complex JDBC inserts, transaction management and other dynamic queries then JDBC activities are best. JDBC is more suitable for running dynamic code where in runtime you can execute statements with different values depending on process execution. What are modes of operation for File Adapter in Record Mode? Synchronous mode upon receiving an event, the publication service will allow other services in the instance only after it completes the processing and publishing of all the files that match the specified criteria. In Asynchronous mode the publication service allows other services of the instance to receive events while it is processing and publishing a file. By default Subscription service always operates in Asynchronous mode. What is the diff between tibco adapter and BW component? Adapters are connectors that use a messaging channel that can be configured over source/target

systems which can be used in Pub, Sub or Replyrequest mode. BW components are designer, administrator, bw engine. What is a synchronous service that an adapter supports? Of the 4 Adapter services, Request/Response is the only adapter service that is synchronous. What is Event Driven and Demand Driven? Event Driven - Push Demand Driven - Poll. TIBCO Adapter for ActiveDatabase: TIBCO Adapter for ActiveDatabase software (the adapter) allows data changes in a database to be sent as they occur to other databases and applications. It extends publish-subscribe and request-response technology to databases, making multiple levels of delivery services available to applications that need access to these databases. ODBC and JDBC compliant databases such as Oracle, Sybase, and Microsoft SQL Server are supported. While the adapter does not run on z/OS and iSeries systems, it can remotely connect to a DB2 database running on these systems. TIBCO Adapter for ActiveDatabase is written using the TIBCO Adapter SDK software, which allows the adapter to interoperate with other TIBCO products. The adapter can communicate with any application that is configured for the TIBCO environment. What is File Adapter? TIBCO Adapter for Files software processes data from text files and publishes the contents in real-time to the TIBCO environment. The adapter also listens for messages in the TIBCO environment and writes the contents to a file. The adapter supports only text files when it is integrating a file system into the TIBCO ActiveEnterprise environment. It supports both text and binary files when it is transferring files between two or more TIBCO Adapter for Files installations. File Adapter Operations Mode? Selecting an operation mode is the first step in configuring a service. The operation mode determines whether the service will integrate the file system with the TIBCO ActiveEnterprise environment or transfer files between instances of TIBCO Adapter for Files. In the Record Mode of operation, where the adapter integrates the file system with TIBCO ActiveEnterprise, you will have to define and use schemas. In the Simple File Transfer Mode of operation, where the adapter transfers files among instances of TIBCO Adapter for Files, you will have to define various options for file transfer. However, there is no need to define a schema. Can two adapters communicate with each other? No two adapters can communicate with each other directly. They can communicate only through a messaging layer. Considering Tibco to be the messaging layer, Publishing Adapter always publishes to Tibco messaging bus. Subscribing Adapter always subscribes from a Tibco messaging bus.

What are users and user-key columns in Adapter Publisher's Table tab? While configuring an ADB Publisher: "Users" column specifies what columns have to be published to the publishing table. "User-key" is selected means it acts as a primary key. Child tables can be joined to the Parent tables only using the primary keys. Publish by reference storage mode copies only the primary key from the source table. If a source table does not have a primary key column, we can use the user-key to do the same. What are the columns available in a Adapter Publishing table? An adapter Publishing table contains the actual data columns plus Internal Adapter columns. Actual data colums: Depending on the storage mode selected, the actual data colums in the publishing table varies: For Publish by value, the actual data columns will be the exact copy of the base table data colums.(all the columns). For Publish by reference, the actual data columns will be the exact copy of the base table's primary key data colums (only Primary key column). Internal Adapter columns: ADB_SUBJECT ADB_SEQUENCE ADB_SET_SEQUENCE ADB_TIMESTAMP ADB_OPCODE ADB_UPDATE_ALL ADB_REF_OBJECT ADB_L_DELIVERY_STATUS ADB_L_CMSEQUENCE Publication and Subscription formats ( file adapter) Two types of formats are supported by adapters while exchanging data between applications 1. MInstances 2. MBusinessDocuments MInstances is the entity that is exchanged among TIBCO applications. It is the schema instantiations. The runtime adapter parses the input file, identifies the schema associated with the publication service, creates the MInstances and publishes it. MBusinessDocuments is a facility provided by TIBCO ActiveEnterprise for grouping MInstances. MBusinessDocument always contain MInstances created from the same file. If high throughput is desired from publication service MBusinessDocument attributes can be used. Modes of operation(file adapter) There are two modes of operation Synchronous mode Asynchronous mode

An adapter instance/configuration can have multiple publication and subscription services. Services are activated by events. The publication service can be activated by a timer event or message event. The event that activates the publication service is called polling agent. In Synchronous mode upon receiving an event, the publication service will allow other services in the instance only after it completes the processing and publishing of all the files that match the specified criteria. In Asynchronous mode the publication service allows other services of the instance to receive events while it is processing and publishing a file. By default Subscription service always operates in Asynchronous mode. If the configuration has more than one service or if the publication service is expected to process large file sizes or large set of files, setting the publication service in asynchronous mode is recommended. Types of file records (file adapter) File records can be classified into two categories: 1. delimited file record 2. positional file record Delimited file records are used to interpret lines that have a well-defined delimiter between the fields. Delimiters can be of single or multiple characters. These can be identified by the number of fields or by using a constant field value. Positional file records are used to interpret lines that have well defined field lengths. These can be identified using line or record length or by using a constant field value ie; constant line length. what is opaque table The subscription service uses two logical layers when processing a message. The first layer decodes data from the message and the second layer provides the database transaction. If an exception occurs in the first layer, the adapter logs the message to the opaque exception table. In the second layer, if any DML command fails at any level, the adapter rolls back this transaction and starts another transaction, inserting into exception tables. If the insert into exception table transaction fails, the adapter then logs the message to the opaque exception table. what is the difference between exception table and opaque exception table? The subscription service uses two logical layers when processing a message. The first layer decodes data from the message and the second layer provides the database transaction. If an exception occurs in the first layer, the adapter logs the message to the opaque exception table. In the second layer, if any DML command fails at any level, the adapter rolls back this transaction and starts another transaction, inserting into exception tables. If the insert into exception table transaction fails, the adapter then logs the message to the opaque exception table. What are the transport types supported by ADB adapters?

The transport types supported by ADB adapters are: 1) Rendezvous 2) JMS Rendezvous Quality of service supported by Rendezvous: 1) Reliable 2) Certified 3) Transactional Wire Formats Supported by Rendexvous: 1) Active Enterprise Message 2) Rendezvous Message 3) XML Message JMS Wire Formats Supported by JMS: 1) XML Message Connection Factory Type Supported by JMS: 1)Topic 2)Queue Delivery Mode Supported by JMS: 1) Persistent 2) Non-Persistent

TIBCO EMS FAQ'S


EMS What are the different modes of installation in Ems? a. GUI mode b. Console mode c. Silent mode What are the messaging models supported by JMS? a. Point-to-point b. Publish-subscribe c. Multicast What are the destinations in EMS/JMS and their differences? Ans: Queues: point-point communication. Any number of producers and consumers can exist. At any time and situation each message is taken by only one consumer. Exclusive: only the first consumer who picks up the first message can take the rest of the messages (used if u wants only one consumer). Non-exclusive: where any number of consumers can exist. Used for load balancing. Topics: publish-subscribe. Any number of publishers and subscribers can exist. Each message can be taken by any number of consumers (radio). In how many ways can a destination be created? a. Static-created by user b. Dynamic-created by ems server on the fly. c. Temporary destinations. Queues Vs Topics in TIBCO EMS

There are two major models for messaging supported by JMS: queues and topics. Queues are based on a point-to-point messaging model. Topics make use of the new publish-and-subscribe messaging model. Regardless whether queues or topics are used, the messages are not sent directly peer-to-peer. Messages are forwarded to a JMS infrastructure that is composed of one or more JMS servers. The servers are responsible for providing the quality-of-services to JMS and responsible for implementing all the components not addressed by JMS Specification. When determining when to use queues versus topics consider the two fundamental messaging mechanisms. The first is point-to-point messaging, in which a message is sent by one publisher (sender) and received by one subscriber (receiver). The second is publish-subscribe messaging, in which a message is sent by one or more publishers and received by one or more subscribers. The messaging model as listed below will dictate when to use a queue or a topic: One-to-one messaging Queue point-to-point One-to-many messaging Topic publish-subscribe Many-to-many messaging Topic publish-subscribe model what is the Relationship between Temporary queue, queue, destination. A Destination can be a Queue or Topic, which typically says static. Which means you physically create this queue. I hope you know the definition for Queue which can static, dynamic or temporary. Static represents physical creation. Dynamic Represents, which will be created by receiver/sender application at run time, life span is limited, as long as there is messages or receivers, it will stay in server, if not it deletes. Temporary Queue means, created by receiver to submit the response to EMS server or Sender to get the messages. this life span is immediate, but there is a hidden danger with these queues, as these might turn into orphan queues (please read other articles). there is a fix, which will go by 4.4.2 ems version Difference between Exclusive and Non Exclusive Queues you can define a queue as exclusive to make sure that all the messages are always sent to the same consumer, even if you have more than one connected to it. If you make it exclusive the rest of the consumers are "on standby" so if the primary fails another one is set as primary and starts receiving. If you set them to non-exclusive (the default value) and you have more than one consumer connected to the queue the messages are delivered in a round robin fashion to balance the load. What is the use of system queues? system queues are undeleteable queues stored usualy undelivered messages (when you set JMS_TIBCO_PRESERVE_UNDELIVERED to true, in case the message exipres, you'll get it to

$sys.undelivered) or other even driven messages if applicable. More in use are sytem topics for monitoring and statistics, where is EMS publishing queue and server statistics and can be detailed to message content level. dead Queue In case of any failures in the messages to server, will be added to dead queue, which is kind of internal system queue, I strongly feel. For ex: No memory trying to add message to dead queue. Failure queuing message to add to dead queue How do we distinguish dynamic queues with static queues? Ans: dynamic queues have * before them. what are the message storing mechanisms of queues? Ans: persistent and non-persistent. Persistent: messages are stored to external storage before sending. Non-persistent: not stored to any external storage. The information will not be available for retrieval. what are types of subscribers we can have for topics? Explain them in detail. Ans: durable and non-durable subscribers. In durable subscriptions the messages are stored so that even if the subscriber fails and comes back the messages can be retrieved. What are the permissions that you can grant to users to access queues? a. Receive b. Send c. Browse What are the permissions that you can grant to users to access topics? a. Subscribe b. Publish c. Durable d. Use_durable 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 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.

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. what is the structure of messages in JMS? Ans: header(needed), properties(optional) body(optional). Header parameters: JMS destination, JMS message. What is the purpose of JMS Queue receiver activity and Queue sender activity? Ans: Starts a process when ever a new message comes into the specified queue. A queue sender activity sends messages into the specified queue. 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. 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 What is JMS topic requestor? The JMS Topic Requestor activity is used to communicate with a JMS applications requestresponse 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. 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. 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.

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 doesnt 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. How a consumer can connect to the new primary EMS server when the running primary server goes down? Ans: we can specify multiple URLS 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 URLS for the same server so that even the primary in one location is down it can connect to the primary of another location. The URLS are usually comma separated in client config. 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. 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. 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. 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. 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. What is the pre-fetch value? Ans: In order for reducing the clients 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. 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. 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. 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. 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 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. 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. 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 What is tibemsd.conf It is the main configuration file that controls the characteristics of the EMS server. How many delivery modes for messages? Persistent, Non-persistent, Reliable-delivery. What is the maximum messagesize? Ems supports max message size of 512 mb 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. What happens if the message expires/exceeded the value specified by maxredelivery property on queue? If the jms_preserve_undelivered property is set to true, then it moves he message to undelivered message queue, if set to false, the message is deleted by the server. What are the wild cards that we use in ems?how do they work for queues and topics? *,> We can subscribe to wildcard topics, but cant publish to them. Where as in case of queues we cant either send /receive. Are bridges transitive?

No Tell me about flow control on destinations? Some times the producer may send messages faster than the consumers can receive them. So, the message capacity on the server will be exhausted. So we use flow control. Flow control can be specified on destinations. Tell me about flow control on bridges and routes? Flow control has to be specified on both sides of bridges where as on routes it operates differently on sender side and receiver side. Name 3 configuration files and tell me what it consists of? a. Queues.conf b. Topics.conf c. Routes.conf d. Factories.conf e. Stores.conf f. Groups.conf, users.conf, transports.conf Name some administrative level destination properties? a. View b. Create c. Delete d. Modify e. Purge How can you change the configuration properties of EMS server? You can change in the tibemsd.conf file or you can change using the ems admin console. Tell me about multicasting in EMS? a. Multicast is a messaging model that broadcasts messages to many consumers at once rather than sending messages individually to each consumer. EMS uses Pragmatic general multicast to broadcast messages published to multicast enabled topics. b. Each multicast enabled topic is associated with a channel. What are the advantages and disadvantages of multicasting.. a. Advantages: As the message broadcasts only once there by reducing the amount of bandwidth used in publish and subscribe model. Reduces the network traffic. b. Disadvantages: Offers only last-hop delivery. So cant be used to send messages between servers. On what destinations can you use multicast? Topics Suppose, you got an error while accessing a queue, that you dont have necessary permissions to

access the queue. What might be the solution/reason? The user that is assigned to the queue and the user used while creating. How does the secondary server know that the primary server is failed? Based on heartbeat intervals How do you add ems server to administrator? Using domain utility How do you remove individual messages from destinations? Using purge command. Connection and Session threading in Ems Connection : Multi thread Session : Single thread Where do you use a bridge in real time? we use in scenarios like publishing message from Topic to Queue, Store message in EMS for retrieval in case if there is any problem while moving data from one process to another. When ever you are decided to use message selectors on BW, use bridges and use message selector on bridges, which is more powerful than using message selectors on BW. Where is the AppManage located at? /tra//bin 3 files (batch) are ready for deployment. out of which only 2 files must be deployed together and not deploy the other one. How can we do this using AppManage? Batch means is it a single ear with multiple process archives, if so, dont pass the thrid process archive in the config file. What are the steps to perform Server Side Load Balancing on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config 5. C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 6. In TIBCO Designer, modify the JMS Connection Provide URL to contain both the servers ( ex: tcp://localhost:7222 | tcp://localhost:7223) What are the steps to setup Fault Tolerance servers on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Names and Listen ports are not the same in the tibemsd.conf file in both the folders. 3. Change the port number in the tibemsd.conf file (i.e ft_active = listen port of the other server) in both the

cfgmgmt folders. 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) What is the use of Bridges? Some applications require the same message to be sent to more than one destination possibly of different types. So we use bridges What is the syntax to create Bridges without Message Selector? create bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to delete a bridge? delete bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to create Bridges with Message Selector? create bridge source=queue:bridgequeue target=topic:bridge topic selector="keyword" What is the use of Bridges and Routes? Both are used to channel messages from senders to receivers. Bridge act as connector between two different queue and Routes act as connector between different server for sending message and receiving acknowledgement of delivery. What are the steps required to create a Route between two Servers? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is NOT the same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Set the routing property to enabled in the tibemsd.conf files in both the folders open factories.conf under cfgmgmt2 and change the settings for GeneralConnectionFactory, QueueConnectionFactory and TopicConnectionFactory URL to (tcp://xxxx) 5. Create Route on Server 1 (route Server2-Name url=tcp://localhost:xxxx) 6. Create global queue / topics on both servers as required 7. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 8. Test the route by using queue / topic in a BW Process How to create a transport between RV and EMS? Transport can be established between RV and EMS topic or queue. The message can be imported as well as exported from RV.Important point to remember is, with Topic for transport the messages can be imported and exported from RV But in the case of Queues the message can only be imported from RV. Follow these steps to establish transport between RV and EMS :

1)For enabling the transport : In the configuration file tibemsd.conf set the parameter tibrv_transports to enabled. The default value is disabled. 2)To set the type of parameters for tranport: In the transports.conf file set the parmeters in Transport definitions (in the configuration file transports.conf) specify the communication protocol between EMS and the external system. The parameters can be as follows: [RV01] type = tibrv topic_import_dm = TIBEMS_RELIABLE service = 7200 network = daemon = tcp:host:7200 topic_import_dm= TIBEMS_NONPERSISTENT Here RV01 is the name of the transport. type = required parameter which can be set to tibrv or rvcm(for certified messages) service = UDP port.if absnt the default is 7200 network = IP address. Daemon = TCP Port. topic_import_dm = delivery mode for importing the messages and the values can be TIBEMS_RELIABLE, TIBEMS_PERSISTENT OR TIBEMS_NONPERSISTENT Similarly the paramters can be set for topic_export_dm and queue_import_dm. export_headers = The default value is true and can be set to false if there is no requirement of exporting the JMS headers. export_properties = The default value is true and cane be set to false if there is no requirement of exporting the JMS properties. 3)Destination definitions (in the configuration files topics.conf and queues.conf) can set the import and export properties to specify one or more transports. Can set the import/export properties by either making an entry in topics.conf or queues.conf filesdirectly like topic.sample import="RV" where topic.sample is the name of the topic. or in the admin tool use : addprop topic myTopics.news import="RV01,RV02" which will add property import to myTopics in topics.conf files Key Points: The transport takes place when the topic name and the RV subject name are same.

For topics: When a topic specifies import on a connected transport, tibemsd imports messages only when the topic has registered subscribers. For queues: When a queue specifies import on a connected transport, tibemsd immediately begins importing messages to the queue, even when no receivers exist for the queue. When a topic and a queue share the same name, at most one of them may set the import property. For example, if a topic example.transport and a queue example.transport are both defined, only one may specify the import property. TIBCO EMS Multicast - Features 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 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 functionality Built-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 scalable Multicast reduces the amount of bandwidth consumed Multicast reduces the number of operations performed by the server Multicast broadcasts the message only once where as in case of publish and subscriber for each of theconsumer a copy of the message is getting published Facts Multicast does not guarantee message delivery Messages requiring a high degree of reliability should not use multicast Multicast 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

Fault-Tolerance setup-A(Which deals with configuration of the files for fault tolerance) Note:The Ems data store should be in SAN or NAS,in actual Production Environment..so that the datastore is accessible by both primary and back up server SAN-Storage Area Network NAS-Network Area storage But for our case we would use just operating system file system (shared by both primary and Backup server) Fault Tolerance configuration setup Parameters will be in Bold and Inclined for easy identification Configuring Primary server open 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 server Create 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.conf groups=c:\tibco\ems\bin\Backup\groups.conf topics=c:\tibco\ems\bin\Backup\topics.conf queues=c:\tibco\ems\bin\Backup\queues.conf acl_list=c:\tibco\ems\bin\Backup\acl.conf factories=c:\tibco\ems\bin\Backup\factories.conf routes=c:\tibco\ems\bin\Backup\routes.conf

bridges=c:\tibco\ems\bin\Backup\bridges.conf transports=c:\tibco\ems\bin\Backup\transports.conf tibrvcm=c:\tibco\ems\bin\Backup\queues.conf durables=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 server The 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 Fault-Tolerance Setup-B(which deals with starting primary and back up server--which will be in standby mode) This post is continuation of Fault Tolerance Setup-A Go to All programs>Run>type cmd You will get a command prompt window Type command: cd c:\tibco\ems\bin Now you will be inside bin directory Start Primary Server Type command: tibemsd (This is a application ) Start Backup Server Open another command prompt Navigate to the directory by entering the below command cd c:\tibco\ems\bin Give the following command tibemsd -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)

TIBCO RV FAQ'S

RV
What is Rendezvous It is a framework/mechanism to integrate different applications running on distributed network on heterogeneous platforms. What Rendezvous does? This is Proprietary to TIBCO, and all TIBCO applications like Admin, Hawk, BW and other apps will communicate using Rendezvous, which is using Network UDP protocol. When a machine is being added to TIBCO domain, it creates two RVD files, one will be used to do the services (deploy,manage) etc and another will be used to get the status. Domain and machine are communicating to each other using RVD, most of the cases end machines in domain are being part of same subnet, what if a machine is being part of different subnets? there are two solutions. 1. Multi casting 2. RVRD Explain Transport It is software mechanism for sending and delivering messages.

protocol used by rv.


UDP(Universal Datagram Protocal)

What is difference between synchronous and asynchronous communication


Synchronous communication is time driven and asynchronous is event driven. Synchronous communication expects reply or acknowledgement back and in asynchronous communication doesnt expect any results of its communication right away. In messaging perspective request/reply messaging is synchronous communication and publish/subscribe is asynchronous communication.

What is the functionality of RV daemon Its a background process; RV enabled programs (programs which use RV api) depend on rvd for reliable and efficient network communication. The rvd completes the pathway between rendezvous program processes across the network. It sends information into the network receives information from the network and filters subject addressed messages. What are the various parameters in Network component and what do each one indicate Service, Network and Daemon Service parameter instructs the rvd to use UDP or PGM services whenever it conveys messages on this transport. Network parameter instructs the rvd to use a particular network for communication. Daemon parameter indicates to which rvd the program has to connect Explain Certified messaging registration process steps and confirmation Process Certified messaging offers greater certainty of delivery.-even when the processes and their network connections are unstable. REGISTRATION.DISCOVERY RESGISTRATION.REQUEST REGISTRATION.CERTIFIED Certified delivery agreement) DELIVERY.CONFIRMED DELIVERY.COMPLETE Difference between Reliable delivery and Certified delivery?
Reliable Delivery: Ledger: None Time Limit: Contains outbound messages for 60 seconds Network Traffic: Minimal File Storage: No file storage

Certified Delivery:

Ledger: The certified delivery library records outbound messages in a ledger, either within the program process storage, or in file storage. Time Limit: The certified delivery library retains outbound messages in the ledger until either delivery complete or the time limit (set by the program) expires. Network Traffic: Additional network overhead to confirm delivery of each certified message. File Storage: Optional file-based ledgers consume file storage for each message until delivery is complete (or the time limit expires). Explain Load balancing in Rendezvous, What are the various parameters In a producer/subscriber scenario when producer is send messages faster than subscriber can consume, messages will be queued up with consumer and may be lost. To address this situation we can balance the load of the consumer by clones of the consumer program and balancing the load among the consumer instances. This is load balancing.Programs use distributed queues for certified delivery to a group of servers, in order to balance the load among the servers. Parameters Scheduler weight Heartbeat Interval Scheduler Activation Interval Explain fault tolerance in Rendezvous
Fault Tolerance in a network environment is characterized by rapid recovery from failures such as process termination, hardware failure and network disconnect. Rendezvous provides a mechanism to achieve the fault tolerance among the RV processes.

What is ledger file used in RV for? CM Transport keeps Ledger file to record information about every unresolved outbound certified message. How can U establish point-point communication in RV? Can be established using RPTP protocol over a UDP channel What will happen when limit of a queue exceeds(how the event objects will be removed from a Queue)? Sends an advisory QUEUE.LIMIT_EXCEEDED Queue dispatch calls remove the event objects at the head of a queue, and run its callback function. Callback function is a program code which responds to events-processing inbound messages. What are the limit policies of a Queue in RV?
Discard none, discard first, discard last, discard new.

What is the advisory message thrown by RV when the maximum limit of a queue exceeds?
QUEUE.LIMIT_EXCEEDED

Is message loss possible in RV? When is it possible?


Yes, in slow consume and fast producer scenario message lost will be possible.

How many types of advisory messages are there in RV


System Advisory, RVCM Advisory, Fault- tolerance Advisory.

How to handle slow consumers when publisher is publishing rapidly? Scenario: A producer is producing messages at 100/min and consumer able to process only at the rate of 50/min, what is going to happen to other 50 messages? (Underlying communication is RV reliable) Use a dispatcher - increase process instances to avoid overflow. Implement load balancing How can u implement security in RV? Using SSL Protocol. Can be attained at 3 layers between rvd and services, in rvd, and between rvrd. What are the scheduler parameters in DQ? Weight, Heart beat interval, Activation Interval. If rvd is down and a program has to send a message, how it sends Creating a transport object in the program invokes new rvd process. What is the difference between JMS messaging and RV messaging? RV messaging is a de-centralizing messaging/JMS centralized messaging Explain rv messaging, how does it work? RV messaging provides creating messages in a universal format assign a subject name to the message and publish the message on to the network. Messages will travel over the network and reaches all the nodes in the network. RV provides RV enables subscribers to capture the message of interest and process it. Explain how do you set up RVCMDQ? And how does it work? A producer is producing messages at 100/min and consumer able to process only at the rate of 50/min, what is going to happen to other 50 messages? (Underlying communication is RV reliable) hint ans: slow response advisory is thrown, oldest messages discarded depending on the destination settings.

A process group is on RVCMDQ, can that be made both load-balanced and fault-tolerant?
Hint: no, they are mutually exclusive semantics.

What is the main problem/issue with load balancing as in RVCMDQ? What are possible Scenarios. when this occurs? Duplication occurs/non-completion of assigned task 1. if the worker is slow, scheduler might re-assign the task to another worker resulting in duplication. 2. Scheduler fails and the new scheduler reassigns incomplete tasks, resulting in duplication. Also non-completion of tasks can occur if a worker has complete time=0 and has accepted the task never to return. What is RVRD for? How do we configure and use it?
RVRD is for routing messages published on a subject to machines on another subnet. There has to be one RVRD for each subnet, and an RVRD pair installed one on each subnet.

How do you do load balancing for ADB adapters?


Use RVCMDQ to run more than one instance of an adapter. Also you can specify batch processing of records (batch commit, instead of committing each record individually). Also you can increase thread count (but that going to help only if you increase it from 4-8)

Situations were we use CM? a) producer needs compulsory ack of the message. b) consumer cannot compromise on loosing messages. Situations were we can not use CM? high data rate bcos CM occupies most of the band width. What is rvcache?
The program rvcache stores data from recent messages, indexed by subject name, and automatically sends the cached Data to new listeners. Data stored in rvcache never expires. It remains in the cache until superseded or augmented by data from a new message on the same subject.rvcache stores the data in program memory and in a disk file.

What is rvtransaction?
When a group of messages are sent, even if one message is not delivered, all the messages are rolled back. RVTX support is deprecated from AE 5.1.

How would you know that a publisher and a subscriber are in cm mode?

Subscriber will be pre-registered with the publisher in a cm mode. Configuring TIBCO RVRD RVRD Configuration Needed only when running primary and secondary administrators across separate subnets. We need to establish 2 RVRD connections for both HAWK and Rendezvous (Infra). So these steps will need to be performed for each. The standard is to name for router - or Example: C:\tibco\tibrv\bin>rvrd -listen tcp:17474 -logfile rvrd_17474.log -store rvrd_17474.cfg 1. Obtain https and https port Must view logfile to obtain both https and http port - search for Http interface to get the port. Look in rvrd_NNN.log (where NNN is rendezvous port number - i.e. rvrd_17474.log ) For ex: Http interface - http://dev1234:57265/ Https interface - https://dev1234:57266/ Must view logfile to obtain HAWK and REPOSITORY ports Look in rvrd_NNN.log (where NN is HAWK port number - i.e rvrd_17474.log) Note: look at last time rvrd started, so usually at or near bottom of logfile 2. Create Connection Using a browser, open up http://dev1234:57265 http port from logifle <>: Choose Router A. Rendezvous Router name: -<18300> B. Hawk Router name: -<18374> Click: Add Router Local Network A. Rendezvous Name: (18300) Service: (18300) B. Hawk Name: <> (18374) Service: (18374) Click: Add Local Network Interface Add subjects: A. Rendezvous Click: Local Network Name Subject: Enter Each Subject in Exact order as Primary server Click: Import/Export

Subject Names are 1. _RVFT.> 2. _RVCM.> 3. _RVCMQ.> 4. _com.tibco.repo.> 5. _FT.> 6. com.tibco.pof.> 7. com.tibco.pof Neighbor Click: Neighbor Local Endpoint A. Rendezvous Host: Port: B. Hawk Host: Port:

Remote Endpoint A. Rendezvous Host: (host you are connecting to) Port: Router Name: A. Hawk Host: (host you are connecting to) Port: Router Name: Click: Add Neighbor Interface All the details should be populated on this screen. Daemon Parameters Create user id and password Connected Neighbors Check all connected neighbours for appropriate servers, the following information should be corrected for neighbours. Note: Here the subject name should be com.tibco.repo.> instead of _com.tibco.repo.> For Hawk (which xxx74) port, please do make sure you are using subject names as "_HAWK.>"

RV transport parameters Daemon: Daemon is a back end running program infinitely. It is like a Gateway in RV. It tells the program where the RVD is running. It uses 'TCP' protocol and uses tcp:25 (port no.) by default. This needs ip address and port no.. tcp: ip address:port no. Service: Service tells you through which port the RVD should broadcast the message.

TIBCO FAQ'S
TIBCO Fundamentals 1) What is TIBCO? TIBCO makes Integration Server software for enterprises. An Integration Server allows a company to mix packaged applications, custom software, and legacy software for use across internal and external networks. TIBCO's patented approach is called Information Bus (TIB) What are the modes of TIBCO BW Installations ? GUI mode Console mode 3) Silent mode What are the Major TIBCO Products? TIBCO ActiveMatrix BusinessWorks (UI Design, SOA, BI) TIBCO iProcess (BPM) TIBCO PortalBuilder (BO) TIBCO BusinessConnect (BI) TIBCO BusinessEvents (BB) TIBCO HAWK (BB) TIBCO EMS (BB) TIBCO Rendezvous (BB)

2)

4)

5)

What are the TIBCO tools required to design, test, deploy and messaging? TRA (Platform) TIBCO BusinessWorks & TIBCO Designer (Design & Test) TIBCO Administrator (Deploy) TIBCO EMS & RVD (Messaging) TIBCO HAWK (Monitoring) What is the role of TRA? TRA stands for TIBCO Runtime Agent and it runs in the background on each machine. The TRA has two main functions: 1. The TRA agent is responsible for starting and stopping processes that run on a Machine according to the deployment information. 2. Supplies the run-time environment, that is, all shared libraries including third-party libraries. What are the tools provided by TRA Installation? TIBCO Rendezvous TIBCO HAWK TIBCO Runtime Agent TIBCO Designer Java Runtime Environment Third Party core Libraries What are the 4 main panels of the Designer window? 1. Project panel 2. Palette panel 3. Design panel 4. Configuration panel What is the bare minimum required to use TIBOC Business Works TRA BusinessWorks What are steps to design & test a process? 1. Create a new Process by selecting Process Definition from the Process Palette 2. Design the Process by configuring the required activities between the Start activity and Stop activity 3. To test the Process, switch to the Tester panel. Then click the (>) button or press F9 to load the test process What are the steps to build an .ear file using TIBCO Designer? 1. Select the Enterprise Archive activity from General Palette and configure the Name & File Loacation 2. Inside the Enterprise Archive activity and the Process Archive activity from the Process Palette. 3. Add the self starting process / services to the Process Archive 4. Click on Build Archive button in the Configuration tab in the Enterprise Archive activity to build the EAR file

6)

7)

8)

9)

10)

11)

What are the steps to build an .ear file (TestAPP) and deploy it from Command Prompt? 1. Build the ear file using buildear utility buildear -s -ear /TestAPP.archive -o c:\ ..\deployment\TestAPP.ear -p c:\ ..\projects\TestAPP 2. Create the deployment configuration file using AppManage utility AppManage -export -ear c:\ ..\deployment\TestAPP.ear out c:\ .. \deployments\TestAPP.xml 3. Edit the deployment configuration XML file using a text editor 4. Deploy the application using AppManage utility AppManage -deploy -ear c:\ .. \deployment\TestAPP.ear -deployconfig c:\ .. \deployment\TestAPP_Admin.xml -app TestAPP -domain Admin -user admin -pw admin What are the steps to deploy an application using the Administrator GUI? 1. Start the TIBCO Administrator (tibcoadmin_domain-name.exe) & the TIBCO HAWK (hawkagent_domain-name.exe) agent from the command prompt or the windows services. 2. Start the Administrator GUI in a web browser (http://host-name:port) and enter the UID & PWD for the domain. 3. In the left Panel under the Application Management module select All Application. 4. In the right Panel, click on New Application and select the EAR File and click OK button. 5. Under Services Check the Deploy on Save option and then click on Save button to deploy the application What are the steps to create a Master Domain using Domain Utility on the host machine? 1. Select Domain Configuration under Category List 2. Select Create a New Administration Domain under Task list and click on Next 3. Under Domain Details, input the Administration Domain & HAWK Cluster 4. Uncheck Domain information is stored in a Database and Local Application data options 5. Check the Show Advanced option 6. Set the RV Daemon and RV Service and make sure they are the same ports 7. Similarly set the HAWK Daemon and HAWK Service and click on next 8. Set the HTTP Port and click and next 9. Set the UID & PWD for the Domain and click on Finish What are the functions of an Administrator? User Management Machine Management Application Management Repository Management What are the uses of grouping activities? Repeat a group of activities based on a condition. Iterate over a list.

12)

13)

14)

15)

Repeat until condition true. Repeat on Error until condition true.

11

What is the scope of user defined process variables? The scope of user defined process variables is only within the process in which it is defined. It does not even extend to a sub process that is invoked from the current process. What are the reusable components in a project? Sub process WSDL Resource HTTP Connection JDBC Connection Schema Definition What are the various types of variables available within activities? Process Variable Local Variable Global Variable Error Variable Shared Variable What are the monitoring tools available in TIBCO? TIBCO HAWK TIBCO Business Events What are the messaging tools available in TIBCO? TIBCO EMS TIBCO Rendezvous File, JDBC, XML Palette What activities are required to Create, Copy & Delete a File? Create File Activity - The Create File activity creates a new file or directory with the specified name. When creating a file, you can also provide the file contents. Copy File Activity - The Copy File activity allows you to copy files and directories to a new location. Remove File Activity - The Remove File activity removes the specified file. This activity can also remove empty directories. If a directory that is not empty is specified, an exception is thrown.

16)

17)

18)

19)

20)

21)

What activities are required to Read, Write & Rename Files? Read File Activity - The Read File activity is used to read a file and place its contents into the activitys output. Write File Activity - The Write File activity writes content to the specified file. Rename File activity - The Rename File activity is used to rename or move files. This activity can also rename directories, but you cannot use this activity to move a directory to a new location. What is the use of Data Format Activity? The Data Format resource contains the specification for parsing or rendering a text string using the Parse Data and Render Data activities. This shared configuration resource specifies the type of formatting for the text (delimited columns or fixed-width columns), the column separator for delimited columns, the line separator, and the fill character and field offsets for fixed-width columns. You must also specify the data schema to use for parsing or rendering the text. What are the two types of Data Format supported by TIBCO? Delimiter separated Fixed format What is the use of Field Offsets in the Data Format Activity? When processing Fixed Format text, you must specify the line length and the column offsets. This allows a Parse Data or Render Data activity to determine where columns and lines begin and end. The Field Offsets tab allows you to specify the format of fixed-width text. What is the Parse File & Render File Activity? Parse File Activity The Parse Data activity takes a text string or input from a file and processes it, turning it into a schema tree based on the specified Data Format shared configuration. Render File Activity The Render Data activity takes an instance of a data schema and renders it as a text string. The schema processed is based on a specified Data Format shared configuration. What is the File Poller Activity? The File Poller process starter polls for files or directories with the given name and starts a process when the specified change (creation, modification, deletion) is detected. What is the Wait For Change Activity used for? The Wait for File Change activity waits for a file creation, modification, or deletion event to occur during process execution. When this activity is executed, the process instance suspends and waits for the specified change to occur before resuming. Which Activity is used to create a Database table?

22)

23)

24)

25)

26)

27)

28)

29)

SQL Direct Which Activities are used to execute a stored procedure or a statement? JDBC Call Procedure is used to execute a stored procedure.

30) 31)

SQL Direct is used to execute a database statement ( Create, Alter, Delete etc.) Which activity is used to establish a connection to a database ? JDBC Connection What are the steps need to establish a database connection? 1. Add JDBC Connection from the JDBC Palette to the project 2. Set the Connection Type to JDBC 3. Select the JDBC Driver form the Drop Down List Box (ex: Oracle) 4. In the Database URL, set the host-name, port-number and database-name 5. Set the Username & Password for the database 6. Test the connection How do you add or retrieve a record form a database? JDBC Query is used to execute select statement to retrieve records from a database

32)

33)

JDBC Update is used to add records to a database via insert statement What is the use of Fetch in the JDBC Query Activity? The Fetch button on the JDBC Query activity allows you to synchronize the activity with the contents of the database. If you do not click the Fetch button before applying your changes, TIBCO ActiveMatrix BusinessWorks displays an error dialog prompting you to first fetch the output schema. Can we use JNDI to connect to a database instead of JDBC? We can used the JDBC Connection Activity to use the JNDI Context (in the Connection Type Dropdown box) instead of a JDBC Connect to establish a database connection Which activity is used to create a XML Schema? Schema form the XML Tools palette is used to define the XML Schema What is XML Element & Attribute? XML Elements XML Elements contain the opening and closing tags, child elements, and data. (Ex: Robert A+

34)

35) 36)

) XML Attribute An attribute appears within the opening tag of an element. XML requires that all XML attributes have a value. This means all attributes have to be equal to something! In the following example active="true" is the attribute. (Ex: Robert A+ 37) ) What is the use of Transform XML Activity? The Transform XML activity allows you to transform an input XML document into the output specified by the given XSLT File shared configuration resource. Normally, transformation of data occurs by mapping process variables to an activitys input and applying XPath expressions to perform any transformation. If you have an XSLT file that you are using for transformations, or if an outside source supplies an XSLT file, this activity allows you to use the XSLT file instead of manually creating the mappings. What is Parse XML activity? The Parse XML activity takes a binary XML file or an XML string and processes it, turning it into an XML schema tree based on the XSD or DTD specified. The preferred way to parse XML files is to use a Read File activity set to binary mode to read the XML file. Then pass the binary file contents to the Parse XML activity. What is Render XML Activity? The Render XML activity takes an instance of an XML schema element and renders it as a stream of bytes containing XML or an XML string. The schema is processed based on the XSD file specified. WSDL, SOAP, Service, HTTP Palette What is WSDL? WSDL stands for Web Services Description Language. A WSDL file is an XML instance of the XML Schema. A WSDL resource is composed of a series of definitions that describe the format and roles of messages used in web services.

38)

39)

40)

41)

What is the use of WSDL Palette? The WSDL palette is used for creating, editing, validating, importing, and viewing WSDL files. These files are shared resources that describe web services. The WSDL palettes resources are used to create and reuse abstract definitions, namely: Messages, which describe the data being exchanged PortTypes, which define a set of operations Operations, which describe the activities supported by the web service What are the two types of WSDL required to create a Web Service? Abstract WSDL (Describes Structure & Elements) Concrete WSDL (Abstract WSDL with Transport) What are the basic components of a WSDL? Message (Contains the request and response of a web service) PortType (Logical Folder to organize the web service resources) Operation (Services offered by the web service) What are the steps to create an Abstract WSDL? 1. Select WSDL activity from the WSDL palatte 2. Describe the required Messages for the WSDL and the schema mapping for the Messages 3. Create the Logical Port by adding the PortType Activity to the WSDL 4. Add the required Operations to the PortType Activity. 5. Design the Operation offered by the web service. What are the steps to create a Concrete WSDL? 1. Create the Abstract WSDL 2. Get the XML WSDL from either SOAP Event Source or the Service WSDL and save it in a *.wsdl file 3. Import the saved concrete WSDL file into the project What are the two ways to create a web service? SOAP Event Source Service Palette What is the advantage of using the Service Palette over the SOAP Event Source? Using the SOAP Event Source, you can run only one operation at a time. While using the Service Palette you can run multiple operations simultaneously What are the steps to create a web service using SOAP EventSource? 1. Define XSD 2. Define the HTTP / JMS Connection 3. Create Abstract WSDL from the XSD 4. Define the Process for the web service and replace Start Activity with the SOAP Event Source Activity from the SOAP Palette 5. Set the Port Type to Abstract WSDL and the Transport to HTTP / JMS Connection for the SOAP Event Source 6. Copy the XML WSDL form the SOAP Event Source to create the Concrete WSDL 7. Complete the design for the web service process 8. Create a Client Process and invoke the web service using the SOAP Request Reply

42)

43)

44)

45)

46)

47)

48)

Activty. 9. Set the Service Of the SOAP Request Reply to point to the Concrete WSDL.

49)

50)

What are the steps to create a web service using Service Palette? 1. Define XSD 2. Define the HTTP / JMS Connection 3. Create Abstract WSDL from the XSD 4. Right Click the Abstract WSDL and select Tools or Multi-User > Generate Web Service > From WSDL 5. Select the Transport 6. Generate the Concrete WSDL from the WSDL Source of the Service WSDL 7. Define the Logical Operation 8. Create a Client Process and invoke the web service using the SOAP Request Reply Activty. 9. Set the Service Of the SOAP Request Reply to point to the Concrete WSDL What is the Operation activity in the WSDL Palette used for? The Operation component describes the message formats for the incoming and outgoing messages required by the activities supported by the portType. One or more Operation components can be added to a PortType component selected in your project. What is the Retrieve Resource Activity used for? The Retrieve Resources activity generates a WSDL file containing a concrete service (Conrete WSDL) description of any process definition that has a SOAP Event Source process starter. This allows clients to access the WSDL for a web service. The client can then use the WSDL file to invoke the web service. The Retrieve Resources activity can also be used to retrieve any other resources, including XSDs and WSIL. What is the SOAP Event Source Activity used For? The SOAP Event Source process starter creates a process instance for incoming SOAP requests. SOAP is a standard protocol for invoking web services. This allows you to create a web service using process definitions. Upon retrieval of the WSDL, the client can perform a SOAP request to invoke the web service. What is the SOAP Send Reply activity used for? The SOAP Send Reply activity sends a reply to an application that sent a SOAP request. This activity is primarily used in process definitions that implement web services. When a SOAP Event Source is used as the process starter, the SOAP Send Reply activity is used to

51)

52)

53)

54)

send the reply to the request that starts the process instance. What is SOAP Fault? The SOAP Fault element is used to carry error and/or status information within a SOAP message. What is the difference between "SOAP over JMS" and "SOAP over HTTP"? The advantage of using SOAP over JMS over SOAP over HTTP is reliability as you may use the persistence and acknowledgment features built in the standard. The same applies if you need to establish asynchronous communication or need to use the load balancing features provided by JMS servers. You can achieve this using http but the implementation would be much more complicated. What is the Context Resource used for? The Context Resource allows you to specify a schema to hold context data from an incoming request or outgoing replies to a service. This allows you to pass on data, such as the username and password sent by the requesting application. Also, you can pass data from the process that implements an operation back to the Service for any outgoing reply message. The Context Resource can also be used to store SOAP headers or message attachments. What is the Get Context activity used for? The Get Context activity retrieves the value of the specified Context Resource. This is useful if your process definition requires some context information from an incoming request (Like Username & Password etc.). Messaging What are the Messaging Tools Provided by TIBCO? EMS Rendezvous What is the difference between EMS & RVD? EMS Uses TCP Functions within the IP Layer Can be used within the Intranet and the Internet Slower than RVD RVD Uses UDP Functions within the Network Layer Considerably Faster than EMS Can be used only within the Intranet (LAN) What are the Messaging Modes? P2P (Queue)

55)

56)

57)

58)

59)

60)

61)

62)

63)

Pub / Sub (Topic) What are the two types of Delivery Modes in Messaging? Synchronized Asynchronized What are the Services provided by Messaging? Reliable (At Least Once) Guaranteed (At Most Once) Transactional (Only Once) What are files used by TIBCO to maintain the Connection details? Meta.db (Connection Details) Async.db (Fire & Forget Messages)

64)

Sync.db (Acknowledge Back Messages) What are the configuration files used by TIBCO EMS? Tibemsd.conf Queue.conf

65)

Topic.conf What is the maximum size and maximum number of message possible using TIBCO EMS? Maximum Message Size = 512MB [ Both Topic & Queue ]

66) 67)

Maximum No. Of Messages = 3600 messages / second What is the Maximum Retransmission Time? Maximum Retransmission Time = 60 seconds What are the delivery modes supported by EMS server? Persistent Non-persistent Reliable What are the message types supported by EMS? Text XML Bytes Stream Simple Object ObjectRef Map

68)

69)

70)

71)

72) 73)

What are the different types of Queues? Static Queue Dynamic Queue Temp Queue System Queue What are the permissions that you can grant to users to access queues? Receive Send Browse What are the permissions that you can grant to users to access topics? Subscribe Publish Durable Use_durable How do you remove individual messages from destinations? Using purge command, you can delete messages from queues and topics. What is the use of Durable option? Durable option enables persistence for EMS messages by creating Local Inboxes at the receiver end. The Message will exist as a reference till it is consumed by the corresponding receivers. 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 What is JMS topic requestor? The JMS Topic Requestor activity is used to communicate with a JMS applications requestresponse 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. 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

74)

75)

76)

77)

Load Balancing is not Possible 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. What is Load Balancing? Load Balancing is a technique to distribute workload evenly across two or more machines or resources, in order to get optimal resource utilization, maximize throughput, minimize response time, and avoid overload. Using multiple Receivers with load balancing, instead of a single Receiver, may increase reliability through redundancy. How is Load Balancing implemented on both Queue & Topic? Topic : Load Balancing is only possible on Queues Queue : Load Balancing is implemented on the receivers end. Since Load Balancing not possible on the sender side. What is Certified Messaging? Rendezvous (RV) uses 'UDP'. Therefore each message is sent as a packet with a sequence number and a subject attached. So, RV is also called as "Subject Based Messaging". Rendezvous Daemon (RVD) converts the message into packets and publish to the network. At the receiver end, RVD again converts the packets to the message and sends it to the receiver. This message is stored only for 60 seconds in the RVD before the message is lost. To avoid this, RV introduced a concept called 'Certified Messaging(CM)'. RVCM uses Ledger to save the messages. The sender stores all outbound messages of the registered receivers which have an agreement in the ledger unless the sender receives an acknowledgement from the receiver. What is the difference between RVD and RVRD? RVD is Used for local subnet communication. RVRD is Used for Remote communication. What are the steps to perform Server Side Load Balancing on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 5. In TIBCO Designer, modify the JMS Connection Provide URL to contain both the servers ( ex: tcp://localhost:7222 | tcp://localhost:7223) What is Fault Tolerance? Fault Tolerance is the ability of a system to respond gracefully to an unexpected hardware or software failure. Fault Tolerant systems mirror all operations, i.e. every operation is performed on two or more duplicate systems, so if one fails the other can take over. What are the steps to setup Fault Tolerance servers on the local machine?

78)

79)

80)

81) 82)

83)

84)

85)

1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Names and Listen ports are not the same in the tibemsd.conf file in both the folders. 3. Change the port number in the tibemsd.conf file (i.e ft_active = listen port of the other server) in both the cfgmgmt folders. 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) What is the use of Bridges? Some applications require the same message to be sent to more than one destination possibly of different types. So we use bridges. What is the syntax to create Bridges without Message Selector? create bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to delete a bridge? delete bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to create Bridges with Message Selector? create bridge source=queue:bridgequeue target=topic:bridge topic selector="keyword" What is the use of Bridges and Routes? Both are used to channel messages from senders to receivers. Bridge act as connector between two different queue and Routes act as connector between different server for sending message and receiving acknowledgement of delivery. What are the steps required to create a Route between two Servers? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is NOT the same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Set the routing property to enabled in the tibemsd.conf files in both the folders 5. open factories.conf under cfgmgmt2 and change the settings for GeneralConnectionFactory, QueueConnectionFactory and TopicConnectionFactory URL to (tcp://xxxx) 6. Create Route on Server 1 (route Server2-Name url=tcp://localhost:xxxx) 7. Create global queue / topics on both servers as required 8. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 9. Test the route by using queue / topic in a BW Process Adapters What are Adapters? Adapters are connectors to data sources to catch event changes. Once an Adapter catches a event change, it publishes the message to a message box using either EMS or RVD What are the different types of adapters? Technical Adapters (File Adapter, DB Adapter) Functional Adapters (PeopleSoft Adapter, SAP R3 Adapter)

86) 87) 88) 89)

90)

91)

92)

93)

94)

95)

Custom Adapters What are the types of adapter services? Subscriber Service Publisher Service Request-Response Service What are the 3 main configuration elements common for all Adapters? Design Time ( For BW Testing ) Run Time ( For Admin Deployment ) Service ( Pub / Sub, Request-Reply ) What is Publish by value and Publish by reference? In Publish by Value, all the specified columns in the source table are copied into the Publishing table. In Publish by reference, only the specified key column values are copied to the publishing table. What is the difference between JDBC activities and ADB Adapter? ADB uses ODBC to connect, JDBC uses JDBC ADB is more suitable for instances where you have a lot of processing ADB is more suitable for instances where you want that a particular action on a DB Table triggers a BW process. ADB adapter is best for publishing from database. For simple inserts and updates then ADB subscriber is best. In case of insert or update to database then check if you have complex JDBC inserts, transaction management and other dynamic queries then JDBC activities are best. JDBC is more suitable for running dynamic code where in runtime you can execute statements with different values depending on process execution. What are modes of operation for File Adapter in Record Mode? Synchronous mode upon receiving an event, the publication service will allow other services in the instance only after it completes the processing and publishing of all the files that match the specified criteria. In Asynchronous mode the publication service allows other services of the instance to receive events while it is processing and publishing a file. By default Subscription service always operates in Asynchronous mode. What are supported SQL Operations in database adapters? The database adapter supports the following SQL operations for publishing and subscribing: INSERT UPDATE DELETE UPDATE/INSERT (update if row exists, otherwise insert) What are the transport types supported by ADB adapters? Rendezvous JMS

96)

97)

98)

99)

TIBCO FAQ'S
TIBCO Fundamentals 1) What is TIBCO? TIBCO makes Integration Server software for enterprises. An Integration Server allows a company to mix packaged applications, custom software, and legacy software for use across internal and external networks. TIBCO's patented approach is called Information Bus (TIB) What are the modes of TIBCO BW Installations ? GUI mode Console mode 3) Silent mode What are the Major TIBCO Products? TIBCO ActiveMatrix BusinessWorks (UI Design, SOA, BI) TIBCO iProcess (BPM) TIBCO PortalBuilder (BO) TIBCO BusinessConnect (BI) TIBCO BusinessEvents (BB) TIBCO HAWK (BB) TIBCO EMS (BB) TIBCO Rendezvous (BB) What are the TIBCO tools required to design, test, deploy and messaging? TRA (Platform) TIBCO BusinessWorks & TIBCO Designer (Design & Test) TIBCO Administrator (Deploy) TIBCO EMS & RVD (Messaging) TIBCO HAWK (Monitoring) What is the role of TRA? TRA stands for TIBCO Runtime Agent and it runs in the background on each machine. The TRA has two main functions: 1. The TRA agent is responsible for starting and stopping processes that run on a Machine according to the deployment information. 2. Supplies the run-time environment, that is, all shared libraries including third-party libraries.

2)

4)

5)

6)

7)

8)

9)

10)

11)

What are the tools provided by TRA Installation? TIBCO Rendezvous TIBCO HAWK TIBCO Runtime Agent TIBCO Designer Java Runtime Environment Third Party core Libraries What are the 4 main panels of the Designer window? 1. Project panel 2. Palette panel 3. Design panel 4. Configuration panel What is the bare minimum required to use TIBOC Business Works TRA BusinessWorks What are steps to design & test a process? 1. Create a new Process by selecting Process Definition from the Process Palette 2. Design the Process by configuring the required activities between the Start activity and Stop activity 3. To test the Process, switch to the Tester panel. Then click the (>) button or press F9 to load the test process What are the steps to build an .ear file using TIBCO Designer? 1. Select the Enterprise Archive activity from General Palette and configure the Name & File Loacation 2. Inside the Enterprise Archive activity and the Process Archive activity from the Process Palette. 3. Add the self starting process / services to the Process Archive 4. Click on Build Archive button in the Configuration tab in the Enterprise Archive activity to build the EAR file What are the steps to build an .ear file (TestAPP) and deploy it from Command Prompt? 1. Build the ear file using buildear utility buildear -s -ear /TestAPP.archive -o c:\ ..\deployment\TestAPP.ear -p c:\ ..\projects\TestAPP 2. Create the deployment configuration file using AppManage utility AppManage -export -ear c:\ ..\deployment\TestAPP.ear out c:\ .. \deployments\TestAPP.xml 3. Edit the deployment configuration XML file using a text editor 4. Deploy the application using AppManage utility AppManage -deploy -ear c:\ .. \deployment\TestAPP.ear -deployconfig c:\ .. \deployment\TestAPP_Admin.xml -app TestAPP -domain Admin -user admin -pw admin

12)

13)

14)

15)

What are the steps to deploy an application using the Administrator GUI? 1. Start the TIBCO Administrator (tibcoadmin_domain-name.exe) & the TIBCO HAWK (hawkagent_domain-name.exe) agent from the command prompt or the windows services. 2. Start the Administrator GUI in a web browser (http://host-name:port) and enter the UID & PWD for the domain. 3. In the left Panel under the Application Management module select All Application. 4. In the right Panel, click on New Application and select the EAR File and click OK button. 5. Under Services Check the Deploy on Save option and then click on Save button to deploy the application What are the steps to create a Master Domain using Domain Utility on the host machine? 1. Select Domain Configuration under Category List 2. Select Create a New Administration Domain under Task list and click on Next 3. Under Domain Details, input the Administration Domain & HAWK Cluster 4. Uncheck Domain information is stored in a Database and Local Application data options 5. Check the Show Advanced option 6. Set the RV Daemon and RV Service and make sure they are the same ports 7. Similarly set the HAWK Daemon and HAWK Service and click on next 8. Set the HTTP Port and click and next 9. Set the UID & PWD for the Domain and click on Finish What are the functions of an Administrator? User Management Machine Management Application Management Repository Management What are the uses of grouping activities? Repeat a group of activities based on a condition. Iterate over a list. Repeat until condition true. Repeat on Error until condition true. What is the scope of user defined process variables? The scope of user defined process variables is only within the process in which it is defined. It does not even extend to a sub process that is invoked from the current process. What are the reusable components in a project? Sub process WSDL Resource HTTP Connection JDBC Connection Schema Definition

11

16)

17)

18)

19)

20)

What are the various types of variables available within activities? Process Variable Local Variable Global Variable Error Variable Shared Variable What are the monitoring tools available in TIBCO? TIBCO HAWK TIBCO Business Events What are the messaging tools available in TIBCO? TIBCO EMS TIBCO Rendezvous File, JDBC, XML Palette What activities are required to Create, Copy & Delete a File? Create File Activity - The Create File activity creates a new file or directory with the specified name. When creating a file, you can also provide the file contents. Copy File Activity - The Copy File activity allows you to copy files and directories to a new location. Remove File Activity - The Remove File activity removes the specified file. This activity can also remove empty directories. If a directory that is not empty is specified, an exception is thrown. What activities are required to Read, Write & Rename Files? Read File Activity - The Read File activity is used to read a file and place its contents into the activitys output. Write File Activity - The Write File activity writes content to the specified file. Rename File activity - The Rename File activity is used to rename or move files. This activity can also rename directories, but you cannot use this activity to move a directory to a new location. What is the use of Data Format Activity? The Data Format resource contains the specification for parsing or rendering a text string using the Parse Data and Render Data activities. This shared configuration resource specifies the type of formatting for the text (delimited columns or fixed-width columns), the column separator for delimited columns, the line separator, and the fill character and field offsets for fixed-width columns. You must also specify the data schema to use for parsing or rendering the text. What are the two types of Data Format supported by TIBCO? Delimiter separated Fixed format

21)

22)

23)

24)

What is the use of Field Offsets in the Data Format Activity? When processing Fixed Format text, you must specify the line length and the column offsets. This allows a Parse Data or Render Data activity to determine where columns and lines begin and end. The Field Offsets tab allows you to specify the format of fixed-width text. What is the Parse File & Render File Activity? Parse File Activity The Parse Data activity takes a text string or input from a file and processes it, turning it into a schema tree based on the specified Data Format shared configuration. Render File Activity The Render Data activity takes an instance of a data schema and renders it as a text string. The schema processed is based on a specified Data Format shared configuration. What is the File Poller Activity? The File Poller process starter polls for files or directories with the given name and starts a process when the specified change (creation, modification, deletion) is detected. What is the Wait For Change Activity used for? The Wait for File Change activity waits for a file creation, modification, or deletion event to occur during process execution. When this activity is executed, the process instance suspends and waits for the specified change to occur before resuming. Which Activity is used to create a Database table? SQL Direct Which Activities are used to execute a stored procedure or a statement? JDBC Call Procedure is used to execute a stored procedure.

25)

26)

27)

28) 29)

30) 31)

SQL Direct is used to execute a database statement ( Create, Alter, Delete etc.) Which activity is used to establish a connection to a database ? JDBC Connection What are the steps need to establish a database connection? 1. Add JDBC Connection from the JDBC Palette to the project 2. Set the Connection Type to JDBC 3. Select the JDBC Driver form the Drop Down List Box (ex: Oracle) 4. In the Database URL, set the host-name, port-number and database-name 5. Set the Username & Password for the database 6. Test the connection How do you add or retrieve a record form a database? JDBC Query is used to execute select statement to retrieve records from a database JDBC Update is used to add records to a database via insert statement

32)

33)

What is the use of Fetch in the JDBC Query Activity? The Fetch button on the JDBC Query activity allows you to synchronize the activity with the contents of the database. If you do not click the Fetch button before applying your changes, TIBCO ActiveMatrix BusinessWorks displays an error dialog prompting you to first fetch the output schema. Can we use JNDI to connect to a database instead of JDBC? We can used the JDBC Connection Activity to use the JNDI Context (in the Connection Type Dropdown box) instead of a JDBC Connect to establish a database connection Which activity is used to create a XML Schema? Schema form the XML Tools palette is used to define the XML Schema What is XML Element & Attribute? XML Elements XML Elements contain the opening and closing tags, child elements, and data. (Ex: Robert A+ ) XML Attribute An attribute appears within the opening tag of an element. XML requires that all XML attributes have a value. This means all attributes have to be equal to something! In the following example active="true" is the attribute. (Ex: Robert A+

34)

35) 36)

37)

) What is the use of Transform XML Activity? The Transform XML activity allows you to transform an input XML document into the output specified by the given XSLT File shared configuration resource. Normally, transformation of data occurs by mapping process variables to an activitys input and applying XPath expressions to perform any transformation. If you have an XSLT file that you are using for transformations, or if an outside source supplies an XSLT file, this activity allows you to use

the XSLT file instead of manually creating the mappings.

38)

What is Parse XML activity? The Parse XML activity takes a binary XML file or an XML string and processes it, turning it into an XML schema tree based on the XSD or DTD specified. The preferred way to parse XML files is to use a Read File activity set to binary mode to read the XML file. Then pass the binary file contents to the Parse XML activity. What is Render XML Activity? The Render XML activity takes an instance of an XML schema element and renders it as a stream of bytes containing XML or an XML string. The schema is processed based on the XSD file specified. WSDL, SOAP, Service, HTTP Palette What is WSDL? WSDL stands for Web Services Description Language. A WSDL file is an XML instance of the XML Schema. A WSDL resource is composed of a series of definitions that describe the format and roles of messages used in web services. What is the use of WSDL Palette? The WSDL palette is used for creating, editing, validating, importing, and viewing WSDL files. These files are shared resources that describe web services. The WSDL palettes resources are used to create and reuse abstract definitions, namely: Messages, which describe the data being exchanged PortTypes, which define a set of operations Operations, which describe the activities supported by the web service What are the two types of WSDL required to create a Web Service? Abstract WSDL (Describes Structure & Elements) Concrete WSDL (Abstract WSDL with Transport) What are the basic components of a WSDL? Message (Contains the request and response of a web service) PortType (Logical Folder to organize the web service resources) Operation (Services offered by the web service) What are the steps to create an Abstract WSDL? 1. Select WSDL activity from the WSDL palatte 2. Describe the required Messages for the WSDL and the schema mapping for the Messages 3. Create the Logical Port by adding the PortType Activity to the WSDL 4. Add the required Operations to the PortType Activity. 5. Design the Operation offered by the web service.

39)

40)

41)

42)

43)

44)

45)

46)

What are the steps to create a Concrete WSDL? 1. Create the Abstract WSDL 2. Get the XML WSDL from either SOAP Event Source or the Service WSDL and save it in a *.wsdl file 3. Import the saved concrete WSDL file into the project What are the two ways to create a web service? SOAP Event Source Service Palette What is the advantage of using the Service Palette over the SOAP Event Source? Using the SOAP Event Source, you can run only one operation at a time. While using the Service Palette you can run multiple operations simultaneously What are the steps to create a web service using SOAP EventSource? 1. Define XSD 2. Define the HTTP / JMS Connection 3. Create Abstract WSDL from the XSD 4. Define the Process for the web service and replace Start Activity with the SOAP Event Source Activity from the SOAP Palette 5. Set the Port Type to Abstract WSDL and the Transport to HTTP / JMS Connection for the SOAP Event Source 6. Copy the XML WSDL form the SOAP Event Source to create the Concrete WSDL 7. Complete the design for the web service process 8. Create a Client Process and invoke the web service using the SOAP Request Reply Activty. 9. Set the Service Of the SOAP Request Reply to point to the Concrete WSDL. What are the steps to create a web service using Service Palette? 1. Define XSD 2. Define the HTTP / JMS Connection 3. Create Abstract WSDL from the XSD 4. Right Click the Abstract WSDL and select Tools or Multi-User > Generate Web Service > From WSDL 5. Select the Transport 6. Generate the Concrete WSDL from the WSDL Source of the Service WSDL 7. Define the Logical Operation 8. Create a Client Process and invoke the web service using the SOAP Request Reply Activty. 9. Set the Service Of the SOAP Request Reply to point to the Concrete WSDL What is the Operation activity in the WSDL Palette used for? The Operation component describes the message formats for the incoming and outgoing messages required by the activities supported by the portType. One or more Operation components can be added to a PortType component selected in your project. What is the Retrieve Resource Activity used for? The Retrieve Resources activity generates a WSDL file containing a concrete service

47)

48)

49)

50)

51)

52)

(Conrete WSDL) description of any process definition that has a SOAP Event Source process starter. This allows clients to access the WSDL for a web service. The client can then use the WSDL file to invoke the web service. The Retrieve Resources activity can also be used to retrieve any other resources, including XSDs and WSIL. What is the SOAP Event Source Activity used For? The SOAP Event Source process starter creates a process instance for incoming SOAP requests. SOAP is a standard protocol for invoking web services. This allows you to create a web service using process definitions. Upon retrieval of the WSDL, the client can perform a SOAP request to invoke the web service. What is the SOAP Send Reply activity used for? The SOAP Send Reply activity sends a reply to an application that sent a SOAP request. This activity is primarily used in process definitions that implement web services. When a SOAP Event Source is used as the process starter, the SOAP Send Reply activity is used to send the reply to the request that starts the process instance. What is SOAP Fault? The SOAP Fault element is used to carry error and/or status information within a SOAP message. What is the difference between "SOAP over JMS" and "SOAP over HTTP"? The advantage of using SOAP over JMS over SOAP over HTTP is reliability as you may use the persistence and acknowledgment features built in the standard. The same applies if you need to establish asynchronous communication or need to use the load balancing features provided by JMS servers. You can achieve this using http but the implementation would be much more complicated. What is the Context Resource used for? The Context Resource allows you to specify a schema to hold context data from an incoming request or outgoing replies to a service. This allows you to pass on data, such as the username and password sent by the requesting application. Also, you can pass data from the process that implements an operation back to the Service for any outgoing reply message. The Context Resource can also be used to store SOAP headers or message attachments. What is the Get Context activity used for? The Get Context activity retrieves the value of the specified Context Resource. This is useful if your process definition requires some context information from an incoming request (Like Username & Password etc.). Messaging What are the Messaging Tools Provided by TIBCO? EMS Rendezvous What is the difference between EMS & RVD?

53)

54)

55)

56)

57)

58)

59)

EMS Uses TCP Functions within the IP Layer Can be used within the Intranet and the Internet Slower than RVD RVD Uses UDP Functions within the Network Layer Considerably Faster than EMS Can be used only within the Intranet (LAN) What are the Messaging Modes? P2P (Queue) Pub / Sub (Topic) What are the two types of Delivery Modes in Messaging? Synchronized Asynchronized What are the Services provided by Messaging? Reliable (At Least Once) Guaranteed (At Most Once) Transactional (Only Once) What are files used by TIBCO to maintain the Connection details? Meta.db (Connection Details) Async.db (Fire & Forget Messages) 64) Sync.db (Acknowledge Back Messages) What are the configuration files used by TIBCO EMS? Tibemsd.conf Queue.conf 65) Topic.conf What is the maximum size and maximum number of message possible using TIBCO EMS? Maximum Message Size = 512MB [ Both Topic & Queue ] 66) Maximum No. Of Messages = 3600 messages / second What is the Maximum Retransmission Time? Maximum Retransmission Time = 60 seconds

60)

61)

62)

63)

67)

68)

69)

70)

71)

72) 73)

What are the delivery modes supported by EMS server? Persistent Non-persistent Reliable What are the message types supported by EMS? Text XML Bytes Stream Simple Object ObjectRef Map What are the different types of Queues? Static Queue Dynamic Queue Temp Queue System Queue What are the permissions that you can grant to users to access queues? Receive Send Browse What are the permissions that you can grant to users to access topics? Subscribe Publish Durable Use_durable How do you remove individual messages from destinations? Using purge command, you can delete messages from queues and topics. What is the use of Durable option? Durable option enables persistence for EMS messages by creating Local Inboxes at the receiver end. The Message will exist as a reference till it is consumed by the corresponding receivers. 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 What is JMS topic requestor? The JMS Topic Requestor activity is used to communicate with a JMS applications requestresponse 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.

74)

75)

76)

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 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. What is Load Balancing? Load Balancing is a technique to distribute workload evenly across two or more machines or resources, in order to get optimal resource utilization, maximize throughput, minimize response time, and avoid overload. Using multiple Receivers with load balancing, instead of a single Receiver, may increase reliability through redundancy. How is Load Balancing implemented on both Queue & Topic? Topic : Load Balancing is only possible on Queues Queue : Load Balancing is implemented on the receivers end. Since Load Balancing not possible on the sender side. What is Certified Messaging? Rendezvous (RV) uses 'UDP'. Therefore each message is sent as a packet with a sequence number and a subject attached. So, RV is also called as "Subject Based Messaging". Rendezvous Daemon (RVD) converts the message into packets and publish to the network. At the receiver end, RVD again converts the packets to the message and sends it to the receiver. This message is stored only for 60 seconds in the RVD before the message is lost. To avoid this, RV introduced a concept called 'Certified Messaging(CM)'. RVCM uses Ledger to save the messages. The sender stores all outbound messages of the registered receivers which have an agreement in the ledger unless the sender receives an acknowledgement from the receiver. What is the difference between RVD and RVRD? RVD is Used for local subnet communication. RVRD is Used for Remote communication.

77)

78)

79)

80)

81)

82)

83)

What are the steps to perform Server Side Load Balancing on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 5. In TIBCO Designer, modify the JMS Connection Provide URL to contain both the servers ( ex: tcp://localhost:7222 | tcp://localhost:7223) What is Fault Tolerance? Fault Tolerance is the ability of a system to respond gracefully to an unexpected hardware or software failure. Fault Tolerant systems mirror all operations, i.e. every operation is performed on two or more duplicate systems, so if one fails the other can take over. What are the steps to setup Fault Tolerance servers on the local machine? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Names and Listen ports are not the same in the tibemsd.conf file in both the folders. 3. Change the port number in the tibemsd.conf file (i.e ft_active = listen port of the other server) in both the cfgmgmt folders. 4. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) What is the use of Bridges? Some applications require the same message to be sent to more than one destination possibly of different types. So we use bridges. What is the syntax to create Bridges without Message Selector? create bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to delete a bridge? delete bridge source=queue:bridgequeue target=topic:bridgetopic What is the syntax to create Bridges with Message Selector? create bridge source=queue:bridgequeue target=topic:bridge topic selector="keyword" What is the use of Bridges and Routes? Both are used to channel messages from senders to receivers. Bridge act as connector between two different queue and Routes act as connector between different server for sending message and receiving acknowledgement of delivery. What are the steps required to create a Route between two Servers? 1. Make a duplicate copy of the cfgmgmt Folder and rename it to cfgmgmt2 2. Make sure that the Server Name is NOT the same in the tibemsd.conf file in both the folders. 3. Change the port number in the second folders tibemsd.conf file (listen = tcp://xxxx) 4. Set the routing property to enabled in the tibemsd.conf files in both the folders 5. open factories.conf under cfgmgmt2 and change the settings for GeneralConnectionFactory, QueueConnectionFactory and TopicConnectionFactory

84)

85)

86) 87) 88) 89)

90)

91)

URL to (tcp://xxxx) 6. Create Route on Server 1 (route Server2-Name url=tcp://localhost:xxxx) 7. Create global queue / topics on both servers as required 8. Start both copies of the servers from the command prompt (ex: C:\ .. \ems\5.1\bin\tibemsd config C:\ .. \cfgmgmt\ems\data\tibemsd.conf) 9. Test the route by using queue / topic in a BW Process Adapters What are Adapters? Adapters are connectors to data sources to catch event changes. Once an Adapter catches a event change, it publishes the message to a message box using either EMS or RVD What are the different types of adapters? Technical Adapters (File Adapter, DB Adapter) Functional Adapters (PeopleSoft Adapter, SAP R3 Adapter) Custom Adapters What are the types of adapter services? Subscriber Service Publisher Service Request-Response Service What are the 3 main configuration elements common for all Adapters? Design Time ( For BW Testing ) Run Time ( For Admin Deployment ) Service ( Pub / Sub, Request-Reply ) What is Publish by value and Publish by reference? In Publish by Value, all the specified columns in the source table are copied into the Publishing table. In Publish by reference, only the specified key column values are copied to the publishing table. What is the difference between JDBC activities and ADB Adapter? ADB uses ODBC to connect, JDBC uses JDBC ADB is more suitable for instances where you have a lot of processing ADB is more suitable for instances where you want that a particular action on a DB Table triggers a BW process. ADB adapter is best for publishing from database. For simple inserts and updates then ADB subscriber is best. In case of insert or update to database then check if you have complex JDBC inserts, transaction management and other dynamic queries then JDBC activities are best. JDBC is more suitable for running dynamic code where in runtime you can execute statements with different values depending on process execution. What are modes of operation for File Adapter in Record Mode? Synchronous mode upon receiving an event, the publication service will allow other services in the instance only after it completes the processing and publishing of all the files that match the specified criteria.

92)

93)

94)

95)

96)

97)

98)

In Asynchronous mode the publication service allows other services of the instance to receive events while it is processing and publishing a file. By default Subscription service always operates in Asynchronous mode. What are supported SQL Operations in database adapters? The database adapter supports the following SQL operations for publishing and subscribing: INSERT UPDATE DELETE UPDATE/INSERT (update if row exists, otherwise insert) What are the transport types supported by ADB adapters? Rendezvous JMS

99)

IBCO BW FAQ'S
TIBCO BW QUESTIONS What is the use of service container? In the latest version of TIBCO Active Matrix Business Works a new feature called Service container is added. In this service container we can add number of EAR files and run all the services simultaneously. With the Service container feature we can add and upgrade processes without bringing down other running processes. In how any ways can we create EAR files. We can build EAR files in 2 ways. One method is using the Enterprise Archive pallete in the Tibco designer and adding the process archive we can build EAR file. Other method is from the cmd prompt. We use the command appmanage and buildear. What is Schema and why do we create schema.

Schema is used to create a XML schema file in which we add the variables which we want to use in our designer process. We can create the elements under which we can add the typed variables. The structure formed will be in the form of tree structure. What is the use of confirm activity. Confirm activity is used to confirm the success of a activity that have confirmable messages. For example if certain process starts on reception of a message then if that process starts the confirm activity sends a confirm message to the sender of the message. What are the different modes of tibco BW installation. There are 3 modes installation . They are a) GUI b) console c) silent When we save a project what files are created under the saved project folder. In that folder we see the Aeschema folder, all processes create in that project and the vcrepo.dat file. what is AESchema? Its a active enterprise schema The AESchema resource contains folders for the classes, sequences, etc. to be used by the adapter if you are creating an SDK-based adapter, you can configure Schema resources using the AESchemas. By default AEschema folder will come , You can't delete this folder . What are the contents of vcrepo.dat This files contains the display name , RV encodings and description. What is grouping activity? Grouping activity is used to group certain activities used in the designer so that we can loop those activities and iterate the group with conditions. What is the condition for a process in order to build the EAR file?

We need to have a process starter. How can we design exception handling? The basic method is by routing the process to another sub process whenever error occurs by using the error transition. What is the use of Render XML pallet. It is used to create a XML file by creating the tags used in the xml file. What are the elements in the WSDL file. In abstract WSDl file we have the information about the messages ( request, reply) port type, operation. In concrete in addition to above we have the transport information. What is the use of global variables? Global variables are useful in order to provide dynamic input at the run time. What is custom activity? Custom activity is useful when we want others to use our process and not allow them to view the contents of the process. We can add this process into our MY Pallete section. We can directly use this process by dragging it into our process. In web service in how many ways can we create connections. 2 ways. HTTP and JMS. How does the file poller activity works. This is a starter activity which starts the process whenever there is update for the file that is specified. What is the use of project template? In project template we can save our standard processes that we want to use in future. These processes are generally the ones which have the commonly used activities. What is the optimum maximum number of connections in JDBC? 10 What is sub process and what is its use?

Whenever we call a process from another process , the called processbecomes the subprocess. Sub process helps in reducing the complexity of the design by assigning the activity in other process. What is TRA. Tibco Runtime Agent is the main frame work for all the tibco softwares. It provides the runtime agent and monitoring agent. All the libraries required by the designs are provided by TRA. What are the process variables that are available to all activities as inputs. global variables and process context. What are break points? Break points are used to check the inputs and outputs of each activity during testing the design so that we can debug our design. We can place the check points for all activities on input and output side. What re the encoding techniques in WSDL? Encoded and literal. What are the conditions in transitions? Success, Success with condition, Success with no condition and error. What are the different variables in BW? Global variables, Shared variables, process variables and job shared variables. What is the purpose of autocommit command Causes the change to the configuration files to be saved automatically into files on disk. What is the purpose of commit command Commits all configuration changes into files on disk Will the commit occur in "autocommit" command if there is error in script we run? No - If the "ignore" parameter is not specified. What is the command to know the Database Store Files?

show db [] How can we compress the Database store files? compact [] Will both the asynchronous and synchronous database files can be compressed at a time? No - Each file has to be compressed separately What are the types of durable subscriptions we have? Static - The Specification will be written to the durables.conf file Dynamic Is the commands "show server" and "info" are same in EMS Server Yes - Both the commands Shows server name and information about the connected server. What is the difference between the "disconnect" and "shutdown" commands disconnect - the server be active, only the admin tool get disconnected from server. shutdown - the server itself shuts down by confirming with the user. alias file TIBCO Designer allows you to create alias to resources that are to be reused in other projects. Alias are used in two resources, the AliasLibrary and the LibraryBuilder. The AliasLibrary resource allows you to load files stored in the file system into your project. The LibraryBuilder resource allows you to build a design-time library that includes resources defined in one project that can be shared with other projects. How to change the global variable at runtime? To Change Global Variables for a Service or Process 1. In TIBCO Administrator, click Application Management. 2. Select an application and expand it. 3. In the Configuration Builder pane, click a service or process name. A service is named with a .arr suffix. A process is named with a .par suffix. 4. Click the Advanced tab. 5. Change global variables as required. Be sure to use valid XML characters only. 6. Click Save.

How to manage the code in tibco after development? n realtime we have a configuration management tools like VSS, CVS, Star team etc All project documents and source code will be stored into the given tools. If any developer wants to work on documents or source code they have to checkout from the tool. Once development is over and tested , Again developer needs to checkin that same source code into the tool . Note: Once a developer check out the code from the tool, other developer can't work on that code . Coming to the migration of application . We will migrate only ear file from one environment to another environment, only we will change the global variables
Check Point Description The Checkpoint activity performs a checkpoint in a running process instance. A checkpoint saves the current process data and state so that it can be recovered at a later time in the event of a failure. If a process engine fails, all process instances can be recovered and resume execution at the location of their last checkpoint in the process definition. If a process instance fails due to an unhandled exception or manual termination, it can optionally be recovered at a later time, if the process engine is configured to save checkpoint data for failed processes

Storage Details: Check point will stores in two places File and DB Coming to the db, you have to select a Database before that you need to create database connection and deploy. Location: Check point file location will be in Par file (Tibco Administrator ) if you are working on local machine C:\Documents and Settings\\.TIBCO\working\\jdb\\.job How can we configure the SSL parameter? In BusinessWorks we have JMS Connection, HTTP, ADB Adapter etc which have SSL features. They can be used by checking the checkbox and doing corresponding settings for certificates and identity objects. The security over SSL is provided by using cryptography which in turn uses the certificates and the cryptographic algos like RSA, Message Digest, DES and others to change the message into encrypted message. This encrypted message can only be understood if we have the certificates.

The SSL configuration needs to be done in the administrator. The transportation can be invoked by components and by the browsers as well. The underlying SSL basics include an initial handshake, an exchange of digital certificates, the use of public and private keys to validate identities through a challenge, and finally the set up of an agreed-upon key to be used with a symmetric cipher. The certificates can be found at the given directory \jms\bin\certs The Key players and the terms are: Client ---Initiator Server---Responder Certificate Authority or trusted third-party --The party which issues the Certificates. Identity Object---Role that the BusinessWorks process assumes. Following are the trusted SSL Certificate formats: P12 P7 PEM DER EPF keystore Following are the identity file formats: P12 P7 PEM DER Keystore

EPF SSL configuration Copy C:\tibco\jms\bin\tibjmsdssl.conf C:\tibco\jms\bin\tibjmsd.conf. Tools->Trusted Certificates->Import into PEM format Import server_root.cert.pem (CA), and server.cert.pem (Server Cert) These are the basic concepts and configuration required for the SSL to be used in BW. Apart from these the Administrator needs to be configured. If the HTTP is used than the browser also needs to have certificate. What is LDAP? Lightweight Directory Access Protocol(ldap) is a protocol for communication between LDAP servers and LDAP clients. LDAP servers store "directories" which are accessed by LDAP clients. LDAP communications happens at the default port 389. If we are using a secure SSL connection, the protocol will be "ldaps" on port 636. LDAP is called lightweight because it is a smaller and easier protocol which was derived from the X.500 DAP (Directory Access Protocol) defined in the OSI network protocol stack. The main benefit of using LDAP is that information for an entire organization can be consolidated into a central repository. For example, rather than managing user lists for each group within an organization, you can use LDAP as a central directory accessible from anywhere on the network and because LDAP supports Secure Sockets Layer (SSL) and Transport Layer Security (TLS), sensitive data can be protected from security threats. LDAP servers store a hierarchical directory of information called LDAP Directory Information Tree(DIT). In LDAP, a fully-qualified name of a directory entry is called a DistinguishedName(DN). Each entry will have a set of attributes. Attributes are name and value pairs. Each entry in the DIT has a unique identifier. It is the Distinguished Name(DN). This consists of its Relative Distinguished Name (RDN) constructed from some attribute(s) in the entry, followed by the parent entry's DN. For example cn=James Smith, dc=example, dc=com what is schema of LDAP? The schema defines the attribute types that directory entries can contain. An attribute definition includes a syntax, and most non-binary values in LDAPv3 use UTF-8 string syntax. The schema defines object classes. Each entry must have an objectClass attribute, containing named classes defined in the schema. The schema definition of the classes of an entry defines what kind of object the entry may

represent - e.g. a person, organization or domain. Most schema elements have a name and a globally unique Object identifier (OID). what is LDIF? LDIF (Lightweight Directory Interchange Format) is an ASCII file format used to exchange data and enable the synchronization of that data between Lightweight Directory Access Protocol (LDAP) servers. LDIF files are simple text files and can be created and edited with any suitable text editor. Each line is terminated with EITHER (unix format) OR (windows format) these files may be created on any OS platform. LDIF is used mainly to add (import) bulk records into a directory, restore (import) a directory, archive (export) a directory, apply bulk edits to a directory. LDAP is extensible and can be used to store any type of data.Two common applications of LDAP are for computer user/group data, and for address book information (persons, departments etc). Many e-mail clients support LDAP lookups. Most interesting is that LDAP is being used as a core technology for most Single Sign On (SSO) implementations.

There are three main kinds of adapters supported by TIBCO: 1) Technical Adapters:- These adapters target a specific technology that represents all similar types. For Example: a) File Adapter:- represents many the file types including Text, XML, CSV, etc. b) Databade Adapter:- represents many database types including DB2, Sybase, Microsoft MySQL, etc. 2) Functional Adapters:- These adapters target a specific individual Application. For Example: a) People Soft Adapter. b) Adapter for Oracle Financials. c) Seibel Adapter. d) SAP R3 Adapter, etc. 3)Custom Adapters:- These are the adapters that we explicitly write code for.

here we r dealing with write file 1)for that we need a call proces drag and drop a call process from palette process 2)dounble click on that call process and we will get two ends start and stop then click on file in palettes 3)then drag and drop write file and creat transagtion useing button 4)then click on write file and the given the file name in activity input 5)we can write what ever text in text content or we can drag and drop content from the start 6) if we use file poler in the place of start then when ever we made a a change in the file it will start the process Posted by tibco at 5:08 AM 36 comments

Sunday, January 27, 2008


interview ?(3)

1.What are the modes of TIBCO BW Installations ? GUI mode Console mode Silent mode 2.If you have installed a particular version of TIBCO software e.g. TIBCO BW X.Y.Z, What are X, Y and Z number stands for? Integration can be at different application layers: X:Patch Y:Major Z:Minor 3.What is the role of TRA? TRA stands for TIBCO Runtime Agent. The TRA has two main functions: Supplies an agent that is running in the background on each machine. 1. The agent is responsible for starting and stopping processes that run on a machine according to the deployment information. 2. The agent monitors the machine. That information is then visible via TIBCO Administrator. Supplies the run-time environment, that is, all shared libraries including third-party libraries. 4.What are the resources that gets included in the EAR file, created by the TIBCO Designer? An EAR file can contain local project resources, LibraryBuilder resources, and files as specified in AliasLibrary resources. In addition, the TIBCO Designer classpath may include references to other files that are included in the EAR file. refer the digram 5.What are the revision control system options available in TIBCO designer? File sharing VSS

Perforce XML Canon ClearCase iPlanet CVS PVCS 6.What are the different modes of service invocation? Services can be invoked in several ways. A one-way operation is executed once and does not wait for a response. A request-response operation is executed once and waits for one response. In a request-response service, communication flows in both directions. The complete interaction consists of two point-to-point messagesa request and a response. The interaction is only considered complete after the response has arrived. Publication (notification) means an operation sends information on an as-needed basis, potentially multiple times. Subscription means incoming information is processed on an as-needed basis, potentially multiple times. 7.What is vcrepo.dat? TIBCO Designer creates a file named vcrepo.dat in the project root directory when you first save the project. This file is used to store properties such as display name, TIBCO Rendezvous encoding, and description. This file can be used for identification in place of the project root directory and can be used as the repository locator string (repoUrl). 8.What are the TIBCO BW activities that can participate in transactions? Not all TIBCO BusinessWorks activities can participate in a transaction. Only the following types of activities have transactional capabilities: JDBC activities JMS activities ActiveEnterprise Adapter activities that use JMS transports EJB activities TIBCO iProcess BusinessWorks Connector activities 9.What are the different types of Transactions TIBCO provides? TIBCO BusinessWorks offers a variety of types of transactions that can be used in different situations. You can use the type of transaction that suits the needs of your integration project. When you create a transaction group, you must specify the type of transaction. TIBCO BusinessWorks supports the following types of transactions: JDBC Java Transaction API (JTA) UserTransaction XA Transaction 10.What activities are supported in JTA Transaction? The Java Transaction API (JTA) UserTransaction type allows: JDBC JMS ActiveEnterprise Adapter (using JMS transports)

EJB activities to participate in transactions. 11.What activities are supported in XA Transaction ? The XA Transaction type allows: JDBC activities ActiveEnterprise Adapter activities that use the JMS transport JMS activities to participate in transactions.Note:For JMS activities and ActiveEnterprise Adapter activities, request/reply operations cannot participate in an XA transaction. Also, EJB activities cannot participate in an XA Transaction group. 12.What are the possible Error output's of Read File activity? Integration can be at different application layers: FileNotFoundException :Thrown when yhe file does not exist. UnsupportedEncodingException:Thrown when the text files encoding is not valid and the content of the file is read into process data. FileIOException :Thrown when an I/O exception occurred when trying to read the file. 13.What is the purpose of the inspector activity ? The Inspector activity is used to write the output of any or all activities and process variables to a file and/or stdout. This is particularly useful when debugging process definitions and you wish to see the entire schema instead of mapping specific elements to the Write File activity. 14.What are the maximum/minimum of threads available for incoming HTTP ? The maximum/minimum of threads available for incoming HTTP : 75/10 15.How can unauthorized users be prevented from triggering a process ? Unauthorized users be prevented from triggering a process by giving 'write' access for the process engine to only selected users. Only users with 'write' access can do activities like deploying applications, starting/stopping process engines etc. 16.What are the mandatory configuration parameters for FTP Connection & FTP with firewall ? The mandatory configuration parameters for FTP Connection FTP host Port Username & Password> If Firewall is enabled in addition the proxy host and port are required. 17.how to design a process such that depending on number of records updated in a database, 3 different sub-processes may be called ? Define 3 transitions from JDBC update with condition on the no of updates and call appropriate child processes. 18.How to use legacy .dat file format with latest designer ? Convert .dat file to multi file project using Administration tab while starting up Designer(Other one being Project tab) and then open the multifile project in the normal way.

19.What are the encodings supported by designer ? Encodings supported by designer are ISO8859-1(Latin-1) UTF-8 20.What are the 4 main panels of the Designer window ? The 4 main panels of the Designer window are Project panel Palette panel Design panel Configuration panel 21.How do you determine if there are broken references in the project? Project -> Validate for deployment 22.Where are the Designer preferences stored ? Designer preferences stored are stores in a file called 'Designer .prefs' in the user home directory. 23.Explain the process configuration parameters - Max Jobs, Flow Limit & Activation Limit ? Max Jobs : Max Jobs specifies the number of process instances that are kept in memmory. Once this limit is reached newly created process instances (subject to flow limit) are paged out to disk.0 specifies no limit and is the default. Flow Limit : Flow Limit specifies the maximum number of running process instances that are spawned before the process starter is suspended ie it enters a FLOW_CONTROLLED state and does not accept new events. This can be used to control the number of process instances running simultaneously and when the protocol generating the event can store the event till it is received, like email servers, JMS, RV etc. 0 specifies no limit and is the default. Activation Limit : Activation limit flag specifies that once a process instance is loaded it must be placed in memmory till it completes execution. By default it is enabled. 24.What are the options for configuring storage for process engine's checkpoint repository ? The options for configuring storage for process engine's checkpoint repository are: Local File Database. Fault tolerant engines can recover from a checkpoint only when database is used. 25.Process engines in a fault tolerant group can be configured as peers or master secondary.How do these differ ? The options for configuring storage for process engine's checkpoint repository are: - Peer means all of them have the same weight. In this case when one engine fails another one takes over and continues processing till it fails. - In master secondary configuration weights are unequal, the secondary starts

processing when master fails. But when master recovers, secondary stops and master continues processing. 26.What are the uses of grouping activities ? Uses of grouping activities are: Create a set of activities having a common error transition. Repeat group of activities based on a condition. 1. - Iterate over a list. 2. - Repeat until condition true. 3. - Repeat on Error until condition true. Group activities into a transaction. To create a critical section area that synchronizes process instances. A 'Pick First Group' allows you to wait for the occurence of multiple events and proceed along a path following the first event to occur. 27.What is the purpose of a Lock shared configuration resource? A Lock is specified for a 'Critical Section' group when the scope is 'Multiple'. It can be used to ensure synchronization across process instances belonging to multiple processs definitions or for process instances across engines(Check multi engine flag for lock in this case and the BW engine needs to be configured with database persistence while deployment). If synchronization is for process instances belonging to the same processs definition inside one engine, just specify the scope as 'Single'. 28.How to control the sequence of execution of process instances created by a process starter ? Use the sequencing key field in the Misc tab of any process starter. Process instances with the same value for this field are executed in the sequence in which they are started. 29.Can there be two error transitions out of an activity ? No. There can be only one Error and one Success if no matching condition transition out of each activity. 30.When is a 'No Action' group used ? 'No Action' group used to have a set of activities having a common error transition 31.What activity can be used to set the value of a 'User defined process variable' ? The 'Assign' activity can be used to set the value of a 'User defined process variable'. 32.Which are the two process variables available to all activities with inputs ? $_globalVariables $_processContext 33.Which mechanism can be used to pass data between a process instance and a called sub process other than mapping from/to the callee's input/output ? This can be accomplished using job shared variables, unless in the call process activity the 'Spawn' flag is enabled in which case the called sub process is a new job and hence gets a fresh copy of the job shared variable initialized as per its configuration. A shared variable can overcome this limitation as it's scope is not limited to one job. 34.What are the three scenarios where BW engine has to be configured with

database persistence instead of Local File ? The three scenarios are: Shared Variables across BW engines. Locking across groups in multiple BW engines. Wait Notify across BW engines. 35.If you want a group to be executed if there is some unhandled error but subject to some max number of iterations which group do you use ? We can use Repeat on Error until true 36.When is a 'Generate Error' activity useful? When you handle an error inside a called subprocess or group and want to rethrow the error to the caller(happens by default if you dont handle the error in the called process) 37.Which activity is used for detecting duplicate message processing? CheckPoint activity - Specify the uniqueID for the duplicate key field and engine maintains list of these key fields. When a process come to checkpoint activity with the same value for duplicate key which already exists, it throws a DuplicateException. An error transition can then handle this case. 38.Give an example where graceful migration of service from one machine to another is not possible. HTTP Receiver. In this case the receiver on new machine starts listening on the same port, but you need to redirect requests from the old machine to the new one. 39.What are the types of adapter services ? Types of adapter services are : Subscriber Service Publisher Service Request-Response Service Request-Response Invocation Service 40.If the business process needs to invoke another web service which resource do you use ? SOAP request reply activity. If the business process needs to be exposed as SOAP service use SOAP Event Source in conjunction with SOAP Send Reply or SOAP Send Fault. 41.What is the functionality of the Retrieve Resources resource? It can be used to serve the wsdl file of a SOAP Event Source to a (http) client.Construct a process like: HTTP Receiver -> Retrieve Resources -> Send HTTP ResponseNow the WSDL file for a SOAP service can be retreived using the http requesthttp://://?wsdlwhere 'path' is the folder path to the SOAP Event Source process and 'resourceName' is the name of the processExample : http://purch:8877/Purchasing/GetPurchaseOrder?wsdl 42.What is the scope of user defined process variables ? The scope of user defined process variables is only the process in which it is defined.(Not even inside a sub process that is invoked from this process) 43.What is difference between shared variable and job shared variable ? Both of them can be manipulated via the palette resources 'Get shared variable'

and 'Set shared variable'. A job shared variable is private to one instance of job or in other words each job has a fresh copy. In the case of shared variable the same copy is shared across all job instances. It can even be persisted and can survive BW engine restarts and even shared across multiple BW engines(when deployed using DB persistence). 44.How do wait-notify resources work ? Basically wait and notify should share a common notification configuration which is just a schema definition for data that will be passed from notifier to waiter. Specific instances of waiter & notifier are corrrelated via a key. For example: when one process is in wait state for key 'Order-1', it waits till another process issues a notification with the same key value. 45.What is the default Axis in XPath ? Child axis- What this means is that when you select "BOOK" from the current context, it selects a child node with that name, not a sibling with that name. Other axes are parent , self , sibling etc. 46.What are the output formats for XSLT? XML HTML Text 47.What does ' Success if no matching condition' transition mean ? Lets say between two nodes N1 and N2, there are 3 success transitions with condition and there is no success transition without condition. If none of the conditions match then a 'Success if no matching condition' transition can be used. Also if there is a success transition and also success transitions with condition and if the condition matches then both the sucess transition (no condition) as well as the transition(s) with matching conditions are followed. So you can use 'Success if no matching condition' to prevent duplicate paths of execution. 48.What is the Purpose of $_error variable ? $_error variable is available in the node following the error transition. It captures the error message, error code etc. 49.What are the cases where business process cant proceed correctly subsequent to restart from a checkpoint ? Sending HTTP response, confirming an email/jms message etc. This is because the confirmation or sending HTTP response has to done in the same session. When engine crashes these sessions are closed at their socket level. In such cases send response/confirm before checkpoint. 50.Which group do you use to wait for multiple events and proceed with the first to occur ? A 'Pick First Group'.

Posted by tibco at 10:32 PM 0 comments

interview ?(2)
1) What is EAI? A: It stands for Enterprise Application Integration. It is used for integrating different types of enterprise application. 2) What is Integration? A: It is used for Exchange of Information. 3) Why EAI or Tibco? Because each application having their own way of representing data or called as data format In order to send the data one system to other we need to convert the data into end application understandable format. 5) What is messaging? In EAI applications communicate or application exchange information by using messaging. The actual data will be part of a message. In the message 60% will be meta data the other is 40% of actual data for easier transport. 6) What is BW? It stands for Business Works and is used for developing integration projects, which provides design time and run time environment for developing integration works. 7) Where you specify the Business Logics? In process definitions we specify the Business Logics 8) What are process definitions? Specifying the business rules to control the data flow. 9) What is Job? The job is nothing but process instance, which represents one message. 10) What is palette? A palette is a container for similar activities that belongs to a same domain. XML Extensible markup language contains data (In Tibco irrespective of type external systems once data comes inside Tibco that will be in a from of XML. In order to validate xml data we need to create xml schema (it is a structure). When xml schema specifies the structure of xml data, xml schema will be have extension of .xsd (stands for schema definition). 11) What is Parse Xml? It takes input as xml based on xml schema it will validate and extract data from xml 12) What is Render Xml? It takes input as data based on xml schema it will convert data into xml file 13) What is Render Data? It takes input as data based on the data format it gives output as a string or binary format. 14) What is Parse Data? It takes input as text or csv (comma separated value) and it will be validating based on the data format and extracts the data from it.

15) What is difference between RV and EMS? RV stands for rendezvous and EMS stands for enterprise message service RV is bus architecture and Ems is client and server (hub and spoke) architecture 16) What is activity? It is like a method which take input parameter s perform logic on input parameter and will return some result 17) How a variable will be identified in X_path or in BW? $ Example: int I $: Posted by tibco at 10:26 PM 0 comments

SOME INTERVIEW ?
1) Middleware why? Answer: 1.for best performance. 2. For synchronizing data flow amongst various applications with in a enterprise across the enterprise 2) Difference between point-to-point, multicast message and broadcast message Point to point is between one publisher and single subscriber. Multicast is between publisher and known subscribers. Broad cast is between a publisher and many unknown subscribers. 3) What is the advantage of Subject based addressing? Answer: 1.Can publish broadcast messages to distribute information quickly and reliably to many consumers. 2. (Location Transparency) Program processes can communicate without knowing the details of network addresses or connections. 3. (Decoupling and data independency) we can dynamically add, remove and modify components of a distributed system without affecting other components. 4) Platforms supported by TIBCO? Answer: Platform independent. ADB 1) Design Time configuration. 2) Run time ODBS configuration. Which driver did you use? 3) What are the various services provided by ADB? Answer: 1.Publication Service. 2. Subscription Service. 3. Request-response service. 4) How do you configure the Request Response Service and use it? Answer: 1. this service is often called as RPC (Remote procedural call).It is demand driven type. 2. In this the adapter receives request from one application, parses the request, calls the appropriate component i.e. query or call procedure to set the input fields. 3. And then calls the other set of component to get output fields. The output

Fields are wrapped into a schema and sent back to the caller as response. 4. We can configure ADBServer with 3 tabs, A. Configuration tab B.Call operation tab C.Advanced tab 5. Configuration tab a. Name Service Name b. Transport Type JMS or TIBCO RV C. If TIBCO RV is Transport type Quality of service -- Certified, Reliable and DQ. D.If JMS is Transport type Connection Factory typeTopic and Queue E.Delivery Mode if JMS is selected Durable (Persistent), Non-Durable (Nonpersistent). F.Mode Request reply is the basic request reply mode. The Server subscribes the request and publishes the reply. RPC allows us to configure adapter to act as RPC i.e. remote procedure call. G.Wire FormatRV Messages (TIBCO RV only) ---XML Message (TIBCO RV or JMS) ---AE Message (TIBCO RV only) 5) In what scenario would you use the Publication and Subscription service? Answer: Subscriber: When running as a subscriber, the adapter listens on a subject, receives messages and updates the relevant tables, in its associated DB.Then the data is available to other applications that have access to DB. Publication: When running as a publisher, the adapter extracts data from the Changed rows from database tables and publishes them on appropriate subject names. 6) How do you create/specify the relationships between the Primary and the child tables? Answer: JoinTo is the tab available in TABLE tab for parent child relation ship. 7) How does ADB maintain/handle the exceptions that occur? Answer: Next Question Answer. 8) What are the various exception tables? Answer: 1.Exception Table 2. Opaque Exception Table Exception Table: If adapter is unable to write data into subscriber table, it writes the data into Exception table with the exception raised. If this table is not configured previously, it is created by subscription service when an exception raised. Opaque Exception Table: A message is logged into this table when subscription service is fails to generate records in the destination table or the adapter fails to insert a message into an Exception Table (above Table). 9) Can ADB be used to invoke call procedures? If so, how? Answer: Subscriber service: In subscriber options tab we have Pre Commit Stored

Procedure. In this field we have to specify the name of stored procedure .The procedure is called after the insert, delete, update and prior to commit. The procedure is executed and returns results to the adapter. Request-Response service: If mode option (in configuration tab) is selected with RPC, Call operation tab is going to appear .It have the fields, A. Name ----unique name of call operation. B. Catalog/Packagepackage /catalog where the procedure resides. C. Schema D. Procedure name. E. Select procedure F. Maximum rows. G. One way. 10) What are all the databases that ADB support? Answer: In adapter Instance configuration tab, we have menu called Vendor. It contains the DBs supported by ADB.Example Oracle, Sql Server, and DB2 etc. 11) If introspecting table and updating table is same then how can you avoid publishing of data after doing some modifications? Answer: We have to check the checkbox Enable loop detection publisher options tab. If loop detection is enabled, the following column is added to the source table ADB_SOURCE, T-indicates the row is not to be published, NULL indicates the row can published. 12) ADB_L_DELIVERY_STATUS (MY QUESTION) Answer: P-indicates pending Acknowledgement. N-indicates that new message has arrived, but has not yet been published in the publication table. C-indicates completed publishing. F-indicates failed publishing. 13) ADB_OPCODE (MY QUESTION) Answer: Operation codes used by ADB, 1-indicates INSERT 2-indicates UPDATE 3-indicates DELETE 4-indicates UPDATE if row exists, otherwise INSERT. BW 1) What is the Difference between 2.x and 5.x for those who worked on both 2) What is a BW process phases?(MY QUESTION) Answer: 1.Analysis (Define and analyze problem).CLEAR UNDERSTANDING OF REQUIREMENTS a. define and delimit the problem. b. identify process. c. identify components.

d. describe business events and objects. e. design business process. f. consider domain setup. 2. Domain Setup (Install software and configure domain).HARDWARE AND SOFTWARE REQUIRMENTS SOTHAT TROUBLE FREE TRANSITION FROM DESIGN, DEPLOYMENT AND ADMINISTRATION 3. Service Configuration (Configure Adapters). ---Web services interacting with internet and adapter services interaction with files, DBS and ERP applications a. Installing the adapters. b. Setting up design time adapters. c. Configuring the run-time adapters. d. Accessing the adapter service from process. 4. Process Design (Implement & test business process).Using TIBCO designer GUI we create our business process using predefined activities and add conditions and mapping as appropriate. 5. Deployement (Deploy to run time engine).After testing it in development environment it is deployed in the test environment. After TIBCO admin GUI is used to deploy the ear files (which are created by TIB Disgner) 6. Production (Manage & Monitor deployment) 3) What are different types of groups?(MY QUESTION) Answer: 1.Transaction groups 2. Variable groups-Use global variable groups to allow multiple developers to work on global variables simultaneously. Each group has its own file in multi-file project. 4) What are the components of process definition?(MY QUESTION) Answer: 1.Activities 2.transactions 3.Groups 4.Shared Configuration Resources 5. Sub process 5) What is a pallet?(MY QUESTION) Answer: Pallet is a resource, which organizes activities of same domain. It allows us to add activities to our project when we select it. 6) What are all the pallets you have used?(MY QUESTION) Answer: 1.Parse Pallet. 2. JMS pallet. 3. RV pallet. 4. General Activity Pallet. 5. XML Activity pallet. 6. File pallet. 7. JDBC pallet. 8. Soap pallet. 9. Http pallet. 7) What are the various messaging options available in TIBCO BW? Answer: 1. RV Messaging. 2. EMS Messaging. 3. Smart Sockets.

8) How is Conditional branching possible in Tibco Business Works what are the various options available? Answer: 1.If...Else otherwise ---transition success with condition and other condition. 2. Surround with values. 3. 9) Linked to Q 3 above how will you accomplish if ...Else otherwise logic using BW. Answer: transition success with condition and other condition. 10) What are Process and Global variables? Answers: process variables are those which are local variables of a process. Out of process these variables disappears. Global variables are can be accessed in any process with in the project, these are just like application properties file in java. URLs, username and password of external servers are saved as global variables. 11) Can Process variables be changed at run time? Answer: yes. 12) How will I change the Global Variables in the Production Env, once it is deployed? Answer: Tibco administrator has the privileges to change the global variables in the production environment but these values are going to effect only when restart the engine. 13) How is Error Handling done in BW, how can the try.catch block be implemented in Tibco? Answer: 1.By taking transition with condition type error 2. Generate error activity from General activity pallet. 3. Use group to create a set of activities that have a common error transition. This behaves as try catch block .This allows us to have a set of activities with only one error handling transition, instead of trying to catch errors on each activity. 14) What is the difference between DTDs and XSDs? Answer : DTD(Data type definition): it is old version of specification of xml.It do not validate the data types of xml content and sequence of elements and do not have specific rules as like XSD (xml specification definition).XSD validates the data types and as well as parent elements, no of child elements ,sequence of elements and repeating elements. 15) Why would you use the checkpoint activity? Answer: When detecting duplicating messages, it is important to place the Check point activity before any activities that we do not want to execute more than once. The state of the variables (input massage) is saved in the check point. 16) How does wait and Notify activity work in Tibco Business works? Answer: TIBCO BW provides Wait and Notify activities and the Receive notification

process starter to handle inter process communication. A process containing wait activity waits for another process to execute a corresponding Notify activity. It is like wait and run methods in multithreading of java. 17) What is the difference between Copy of and For Each in Tibco Business Works? Answer: Copy of: It is an XSLT statement to create a copy of selected node, including child nodes .Both the copied node and destination node must have the same name and structure. For- Each: Performs the specified statements once for each time in the selected node. This is use full if we wish to process each item of a repeating element once. 18) Consider that I have huge file to be read, can I use read file activity? How can I improve the performance, I need to select 10 records at a time, how is it possible. 19) How do you create an EAR file and deploy it. What does an EAR file contain? 20) What is an activity?(MY QUESTION) Answer: 1. Activities are individual units of work in a process definition. 2. Activities are generally operations that interface to external systems. 3. Activities are communicated with in process. 21) What is the difference between AE schema and the properties file? 22) How will you debug the BW processes? Answer: 1.Write to log activity from general activity pallets. 2.using break point after every activity and logging inputs and outputs of an activity ,checking all these are properly mapped or not. MY Questions 23) What are various activities in soap pallet? Answer: 1.Retrieve Resource. This activity is on soap client, when the client needs WSDL file we need to configure this activity. This makes WSDL file available to the client. 2. Soap Event Source. It is process starter on the server side. It receives the request from soap client. It creates the process instance for the incoming soap request. 3. Soap request-reply. This activity performs a request on the specified web service and optionally expects a reply from the web service. 4. Soap Send Fault. This activity sends a soap fault /error to the client if an error occurs during processing of a soap request. 5. Soap Send reply. This is sending reply to client. 24) What are various activities in JMS pallet? Answer: Queue: 1.Queue receiver .receives the request. Process starter on server side. 2. Queue sender. It is also a type requester but it does not expect any reply from the server. It also acts as Queue requester. 3. Queue requester. Sends request to the queue and expects the response .It is used in combination with the reply to JMS message. Topic: 1.Topic subscriber. It is process starter on server side .It creates process instance for the request on receiving a request. 2. Topic publisher. It acts as requester but does not expect any response kind from

server. 3. Topic requester. It sends request to the server and it expects a response form the subscriber. It is used in combination with the Reply to JMS message. 25) What are the various activities in the RV pallet? Answer: 1.Publish RV message. publishes message on subject to the RV subscriber. 2. RV subscriber. It listens the messages on a subject and creates process instance on the 3. RV Transport. 4. Reply to RV request. 5. Send RV request. RV/JMS 1) What is the different types quality of services RV available? Reliable Certified Distributed Queue Difference between reliable and certified. Answer: 1.In case of reliable there is no guarantee of delivery of msg but in case certified, guarantee of msg delivery. 2. The msg is saved for 60 sec only on publishing side but in case of certified the msg is saved until it get acknowledgement from scriber. 3. The msg is saved in daemon (temporarily) but in case of certified there is a concept of ledger files. 4. Reliable is best in case of broadcasting mode and certified is best in case of multicast and point to point. What for Distributed Queues are used? Answer: It is the concept of load balancing on subscriber side. It is implemented when there is a huge rate of data transfer. What is Persistent/Non-Persistent in JMS? Answer: messages are made persistent or non persistent .The messages are saved in persistent store in case persistent, if ems server is down there is no loss of messages in destination. The subscribers or receivers get messages after ems server is up. But in case of non persistent, once the server is down means the messages are lost. What is durable /Non-Durable in JMS? Answer: subscribers are configured as durable or non Durable. The durable messages will get msg when they are up i.e. we are forcibly make topic subscribers as asynchronous by making them durable subscribers. Non durable subscribers should always in active mode in order to get messages. Which one is having more security RV or JMS? Answer: JMS is more secured because it is server based. What is Network, Service and, Demon Parameter? Answer: Daemon: It is not specified if RVD is running on the same system. If RVD is

running on remote system it is specified. It contains hostname followed by socket number. Network: This field contains network (hostname, IP address and network name). It contains 3 parts, separated by semicolons network, multicast groups, and send address. Multicast groups it is an IP ADDRESS separated by commas, these are the listeners in the network group. Service: It is a port number or service name. Is it possible to change the Service parameter? Answer: If we specify the service parameter the data is diverted to that port. Which protocol does RV use for Reliable Messaging Answer: UDP How do you detect if RV or JMS Server is down using administrator? How Point-to-Point is accomplished using the Rendezvous Palette? How are Distributed Queues configured in Tibco BusinessWorks? What are the different kinds of Ledger files? Answer: 1.File based ledger: This ledger file is generated when we are specifying the name. Even the process terminates, transport is destroyed the ledger resides in the disk. 2. Process based ledger: If we are not specifying any name i.e. NULL, it is considered as process base ledger. If process terminates, transport is destroyed the ledger will lost and it can not be used for new transport. What is the difference between a topic and queue? Answer: Topic-synchronous mode of communication. -publisher and subscriber model. -broad cast type messaging. -there is no guarantee of delivery. Queue-asynchronous mode of communication. -point to point model. -unidirectional type of messaging. -there is guarantee of delivery. When will u use a topic and when will u use a queue? Answer: 1.only one producer and only one consumer is there then Queues are used. Simply Queue is of type Point to Point. One or more than one publishers and one or more than one subscriber is there than Topic. Simply Topic is of type Broadcast messaging. Can queues be shared between two consumers? Answer: Yes. If queue is non-exclusive (default) it can be shared by any number of consumers. Non-exclusive queues are useful for balancing the load of incoming messages across multiple receivers. What is an exclusive queue? When would u use it? Answer: If queue is exclusive, then all queue messages can only be retrieved by the first consumer specified for the queue. Exclusive queues are useful when we want only one application to receive messages for a specific queue.

A message in a queue can be consumed by how many consumers? Answer: if all are non-exclusive queue any number of consumers will receive messages. If exclusive queue, the first consumer will get messages. How will you grant privileges to topics and queues? Answer: Only EMS admin have privilege What are the protocols supported by JMS/EMS? Answer: 1.SSL (HTTP) 2. TCP Java 1) What are the various activities available? 2) What is Java method, Java function activity? 3) Java to XML , XML to Java activity 4) For any java methods to be used in BW, what are the conventions to be followed (what should the declaration of the method be) ADMIN 1) What is fault tolerance? 2) How do you configure FT? 3) What is Load Balancing? How do you incorporate this using TIBCO? 4) What are the diff types of Load Balancing? What is the difference? 5) In a Fault Tolerant scenario, how will a secondary know Primary is down, and how many Machines can be configured for Secondary servers. 6) What are the various kinds of relationships that can be configured between Master and Secondary? 7) What are Rule bases? How do you configure rule bases? What are the various actions that can be taken? 8) What is a domain, how will we create it, why do you create it, is it necessary? 9) How do you change the RV parameters for a domain? 10) What are the various tabs that appear on uploading an EAR file? 11) Can you create EAR file using Scripts, and also deploy using Scripts, if so what are all the commands. 12) How would you add a machine in the Domain, using what utility? 13) Can a machine be part of Two Domains, if so how? Adapters/SM 1) How is Dynamic Overriding possible in 5.x is it possible from admin console. 1) U can ask Gen Qs as to how was the adapter configured , the various msg format conversions , error handling of adapters 2) How was the data published? Transformation rules etc etc 3) How do you configure the designtime adapter and the Run-time adapter? 4) How does Publish-subscribe and Request-Reply mechanism work in adapters. 5) How you monitor simple Hawk console in administrator, what do I need to change in the TRA entries so that I see the hawk screen in the administrator. 6) What are the different kinds of Ledger files

7) What is SmartMapper, how will you do Cross-referencing. How will you use Lookup methodwhat are the Parameters that should be specified. XPATH 1) What are the different conditional statements available? 2) What are the different functions/operators available String, Date/Time, number, Logical etc etc.

City Bank Singapore 1) What is Target Name Space while defining XSD? Answer: 1.It follows the URL syntax. 2. It must be unique for every wsdl file. 2) What are BW Templates? Answer: Project Template is a pre-built project. It can contain folders for organization, configured resources and partially configured resources .We can use these templates as foundation for other projects similar in nature. Using a template we can leverage our work when performing similar work. We can customize these templates to use in new project. It make the process fast. 3) What is the Soap version you have used? 4) What is critical situation you have faced while mapping? 5) What is the difference between AE Schema and RV message? 6) How we can change Global variables after deployment and design time? 7) What is namespace in relation with XSD? IBM Rahul 1) What is an event object? 2) What are event-queues? 3) What are inbox-names? Answer: Transport objects can create inbox names, designating a destination that is unique to that transport object and its process. Rendezvous software uses point-topoint techniques to deliver messages with inbox subject names. One common use of inbox names is as reply subject names in request/reply interactions 4) What are the wire formats supported by file adapter? OSI-HYD 1) How we can implement DQ with ADB adapter? 2) How many Child tables can be added to a Parent table? 3) How you deploy application with Administrator? 4) What is TIBCO designer? Answer: TIBCO Designer is a graphical user interface for designing and creating

integration project configurations.TIBCO designer allows us to drag and drop components into a project and build an EAR for the project. 5) What are all the protocols used in RV? 6) What is TRDP? 7) What is the difference between RVD and RVRD? 8) What is mapper activity? Answer: A Mapper activity adds new process variable to the process definition. This variable can be simple data type, a TIBCO AE Schema, an XML-schema or complex structure. It is usually used with data format. 9) What is Direct Communication? Answer: A direct communication is a scenario, communication without RVDS on both sides of applications. 10) What is loop detection in case of ADB? 11) How many ways we can create ear file? Answer: 1.We can create EAR file through the Designer. In general pallet of designer we have Enterprise archive icon before this we have select a folder then only we can get the general pallet of designer. And give the required information in the configuration tab and click the build archive. 2.Through Adapter resource pallet of designer we can create the Adapter Archive (aar)file. 12) How the scheduler is created in RVDQ? Answer: The scheduler is decided basing on different parameters, 1. Scheduler weight. The group members with higher weight become the scheduler when services are started. 2. Heart beat interval. 3. Schedular Activation Interval. 13) What are designer pallets? Answer: 1.General pallet. 2. XML-tools pallet. 3. Adapter resource pallet. 4. Adapter schema pallet. 5. Repository pallet. 14) How do test the performance of the ADB adapter? Answer: Performance of ADB adapter depends on 1. Polling Mechanism. In Adapter services tab we have fields use polling batch size , Poling Interval and Polling batch size. If use polling batch size is not checked i.e. not activated, the adapter is going to pick all the new rows and publishes .This could effect the adapter performance. If this field is checked Polling batch size field is activated, only that number of records is picked up by adapter per polling interval. So performance of adapter is improved. Polling interval is the field specified in milliseconds. The default is 5000.This is the time interval often checked by the adapter publishing service into the table for new records. If the Polling interval is set to 0 (zero), it is assumed that we are using

alerter to manage the polling. 2. Messaging groups. Dubai-raja & Chandra Bose 1) What is spanning while using call process activity? Answer: If this option is checked the parent process cannot access the sub process output. The called process (sub process) executed as separate process instance. 2) What is pick first groups while working with groups? Answer: Pick first groups allow process execution to wait for one or more events. The first event that completes determines which transition to take to continue processing. Only request/reply, wait for activities and the activities that have the pause symbol can have valid transitions from the start of the pick first group. 3) What is dynamically determining the process to call? Answer: Here we can call a sub process basing on a condition like if else. If some condition is true executes one process else other process. The condition is an Xpath expression. Here in this case dynamically determined which sub process to be basing on request condition. 4) What is the critical section of a group activity? Answer: 1.critical section groups are used to synchronize the process instances so that only one process instance executes the grouped activities at any given time. All other process instances will be in waiting until the currently executing process instance completes critical section group. 2. Critical section groups are particularly useful for controlling concurrent access to shared variables. 3. Synchronization can be done for 1.single process definition for single process engine.2.multiple process definition for multiple process engines. 4. We have select single group/multiple groups from SCOPE field. 5) What is TIBCO BW? Answer: Posted by tibco at 10:19 PM 1 comments

BW Palette
1 BW Palette 1) JRE requirement while installing BW BW doesnt require JRE Pre-installed JRE needs to be uninstalled Can use pre-installed JRE or installation uses its own JRE 2) Which mode of BW installation asks for user inputs GUI Console

Silent 3) Different Wire formats available in BW rvae, rv, rvxml, emsxml. 4) Which are the required parameters for configuring the FTP connection to access the FTP server outside the firewall. User Name & Password for FTP server Proxy settings of Local Firewall Proxy settings of Remote Firewall 5) Connections to FTP server are lost frequently while executing FTP GET, How can we handle this situation. Place the FTP GET activity inside a subprocess and make call to the subprocess from a Repeat on Error-Until True Loop. Place FTP GET activity inside a Repeat on Error-Until True Loop. 6) What is the way by which we can modify values of Process variables Assign activity Mapper Process variables are constants. 7) What is the procedure to call a subprocess (order) 8) What is true about call subprocess (spawn) Spawned process will return the output to the calling process Spawned process will use same thread as the main process Caller process cannot access the o/p of Spawned process and spawned process uses separate thread from the main process 9) How many error transitions are possible from any activity None or at the most one for all the exceptions As many as we want One for each type of exception 10) What are the two types of inputs available for all BW process definitions $start $error Global variables Process variables 11) Which activity is used to write the output of any or all activities and process variables to a file and/or stdout. Inspector activity 12) Which activity is used to write description in a BW process definition. 13) Which activity is used to make color background of a BW process definition label 14) What is the XML standard used in XPATH in BW. 15) Which one of these is a starter activity Timer 16) What is the minimum configuration required to configure HTTP connection (any 1) Port Hostname 17) What is the way by which we can ensure that HTTP receiver and Send HTTP

Response will use the same connection Select Name of the HTTP Receiver activity from the Reply for Drop down box. Specify same HTTP Connection shared configuration while configuring Send HTTP Response 18) What is true for HTTPS Secure Connection Slow initialization. 19) What is the XPATH function used for Current Date Current-Date Today TimeStamp 20) If a certain functionality is not available in XPATH how to achieve it using XPATH Write Java Custom Function 21) What is true about java Custom schema(3) It is used in JAVA-XML and XML-JAVA activities Only the public data members of the Java class are mapped to XML elements Access modifiers of Java beans are converted to XML elements 22) What is true about JAVA-XML activity Public variables are converted to XML elements Access modifiers of Java beans are converted to XML elements 22) Match the pairs for shared configuration resources and their uses HTTP Connection FTP connection WSDL JDBC Connection 23) What is true about max connections in JDBC.(any 2) The connections share a Pool Can change multiple connections at runtime in a pool Once the maximum connections are reached the JDBC activity is blocked Max connections cannot be set beyond the BW license. 24) A Mapper activity is placed after JDBC, Mapper has a choice field.value of which is set according to the output of JDBC. (0 records return, more than zero no of records return and exception thrown) what is the sequence in which you can check the conditions. Check for 0 records, check for more than 0 records default is exception Check for exception, check for 0 records and default is more than 0 records 25) Recognize the JMS activity JMS Queue Receiver Reply for JMS 26) Limitation of JMS Queue Only one subscriber can receive the data. 27) What are the security features that BW provides SSL User name/password Kerberos

Identity 28) Corporate campus has multiple producers and multiple subscribers, all the messages will be stored on a RAID system, and the messaging should be highly reliable. What configuration will u suggest. Persistent delivery with durable subscribers using topics Persistent delivery with durable subscribers using queue RV Reliable RV Certified messaging 29) Which is the palette used in Send and Receive mail palette. POP3 and SMTP 30) Which shared configuration activity is used to create the schema for assign work activity Workflow schema 31) What are the configuration required for Data Format shared configuration Line separator. Format type. Offset. Column separator. 32) Which activity is used to convert the data in a CSV file to Data structures. Parse Data 33) What are the shared configurations required for SOAP Event Source (any 2) HTTP Connection(choice with JMS Connection) WSDL(must) JMS Connection(choice with HTTP Connection) Port Operation 34) Which activity is used to retrieve concrete service description in WSDL? Retrieve resources 35) Two groups are having JDBC activities, u want to perform the transaction function on these JDBC activities, how will u achieve it. Set outer group as Transaction group and inner group as repeating loop 36) Which activity can be used after read from file , from XML palette Parse XML 37) In which folder are the user preferences and console logs are stored .TIBCO folder of users home directory 38) What are the different protocols that can be used to communicate with TIBCO administrator JMS RV HTTP HTTPS 39) How can we add a host machine to tibco administrator. Using admin GUI Using Domain utility

40) How can we set the alerts (any 2) Using Administrator Using Hawk agent Using hawk tool 41) What all things can be monitored from admin GUI CPU Usage Active processes subprocesses 42) What is disadvantage of having two domains on a single machine. Single point of failure Complicates domain backup activity Complicates domain management 43) What is the deployment procedure Select services to be used in the ear Create EAR Upload EAR Decide machine on which services to be used Deploy 44) What care should be taken while moving from TEST environment to PROD environment. Test and Prod servers on single machine Test and Prod servers on different machines Subject and messaging conventions should be different. 45) Different privileges available in Administrator (any 4) Read Write Execute Administer delete 46) What is true about having a secondary administrator Cannot perform User management and Deployment from Secondary administrator other activities using write privileges. 47) There is a process shown with nested groups. The inside JDBC activity is used to update line items and all must be updated or none. Outside group should be transaction and inside should be iterate. 48) two domains are set up on one subnet what needs to be different bw domain names bw project names xml namespace rv subject jms destination

49) which are the reusable resources

http configuration timer jdbc connection wsdl 50) One of the two processes needs to be called dynamically at runtime. Which method of the following would give best performance using conditions in transactions using the dynamic calling in call process have the processes in sequence 51) what parameters for monitoring can you set through administrator gui high/low/medium level first occurrence/all occurrences message event type

52) what can you do through administrator gui user management domain management deployment management process management view alerts 53) Which activity is used to write comments in a BW process definition? Answer: on transition Label field is used for comments. 54) What a domain utility can do. Deploy the host admin Add m/cs 55) In project involves multiple secure subnets with insecure interconnections what is the best transport. Only jms with ssl Only rv with ssl Tick ssl wherever in the designer Only rv Encryption for insecure connections 56) To work in a team building environment u should 57) What u can do in admin Active process Manage sub process 58) which is the starter process timer --subscriber receiver read file

59) match http webservers ftp --- upload a file jdbc --- database update identity security 60) external xsd : import the xsld 61) setting admin for test and prod env best practices test and prod on the same m/c test and prod on the different m/c 62) required fields in configuration tab of generic adapter subscriber adapter info reply for sessions transport 62)what is true abt error until true loop do (any 2) index key is stores the no. of repetitions on error, starting from 1 re-excution on error & returns false 63)mapper activity --- creates a process variable for a process 64)breakpts can be set b4 activity inb/w transaction after activity 65)which is jms message type(2) text map 66)what can be done to avoid schema conflict in a project use auto resolver project validator bw conflict manager repository conflict manager Posted by tibco at 10:13 PM 0 comments

FILE ACTIVITY'S

Here r the diffrent palettes in FILE ACTIVITY'S 1)file poller the file poller is one which will start the process when ever there is a change in the file 2)read file the read file is one which is used to read a file example:here is a file name k.txt in C:\ we wan read that one we will use this read file palette 3)write file the write file is to write some thing on a file it will write on new file or else it we re write on a existing file to do that we have to click on the opption append . we can write text and binary 4)create file to creat a new file we didnt have any append optoin here we can creat only once if we wan second time we have to use write file 5)list file this gives the list of the files in the particular folder 6)remove file to remove a file we will use this 7)rename file rename a file we will use this 8) wait for a change in file

this we be used in between the process it will wait until there is any change in the project Posted by tibco at 9:34 PM 0 comments Business Process Modelling The business processes describe the actual flow of data inside the enterprise. In TIBCO BusinessWorks, you use the TIBCO Designer GUI to design and test your processes. Features include: Configuration of adapter services. A complete set of commonly used activities such as File Read, File Write, and File Create, a set of email activities, timers, FTP activities, etc. A transformation tool that lets you map the output of one activity to the input of subsequent activities. Conditional transitions supporting XPath syntax. Grouping of activities. An easy-to-use design-time process debugger.

Posted by tibco at 9:14 PM 0 comments

TIBCO BusinessWorks Adapters


TIBCO BusinessWorks Adapters A fully integrated TIBCO BusinessWorks adapter can be installed into a TIBCO administration domain and later monitored and managed from the TIBCO Administrator GUI. TIBCO BusinessWorks fully integrates with the following adapters: Technology adaptersIncludes adapters that access files or databases. Application adaptersIncludes adapter for PeopleSoft, SAP R/3, Siebel, and others.

Other TIBCO Adapters can be loaded into TIBCO Designer and configured using the Generic Adapter Configuration resources. These adapters can then be used in process design and run as part of the integration project. They cannot, however Posted by tibco at 9:08 PM 0 comments

ADAPTERS FEATURES
Adapter Features Companies in a wide range of industries have successfully used TIBCO adapters to integrate different packages and custom applications. TIBCO BusinessWorks includes second-generation adapters that are based on the same technology but have the following new features: Easy Configuration With Design-Time AdapterAll adapters included with TIBCO BusinessWorks use a unified GUI that simplifies adapter configuration. A DesignTime Adapter allows you to directly access the source application from the TIBCO Designer GUI and specify the data the business process needs. Easy Inclusion in Business ProcessesThe business process can communicate with adapters by using activities found in the adapter palette. These activities interact with each of the standard adapter services. For example, the Publish to Adapter activity sends a message to an adapter subscription service. Easy Deployment and MonitoringWhen you are ready to deploy your project, the TIBCO Designer deployment palette allows you to assign each adapter to its own machine. At run-time, the TIBCO Administrator GUI monitors each adapter in its own panel. You can therefore easily see if one of the adapters is a bottleneck in the business process flow. Posted by tibco at 9:03 PM 0 comments

What are Adapters?


Adapters Business information is distributed among different business applications (such as SAP R/3 or PeopleSoft) or available from databases or files. Adapters help make this information available to the business process by "adapting" the applications to a common messaging system. What are Adapters? Adapters translate information into the appropriate format: Adapters receive information from a source application and publish it to the business process in a shared format. Adapters subscribe to information from a business process and translate it to a format the target application can understand. Adapters can also be set up to work in a client/server mode (using remote operations.)

The illustration below shows how a Siebel customer service system communicates with the business process using an adapter publication service and the business process communicates with the PeopleSoft Order Management system using an adapter subscription service. Posted by tibco at 8:50 PM 0 comments

explain how to create adapters?how to connect adapters and how to build?-the run time connection first u have have to give dsn name at tht project level go to schemas ---->active data base adapter config---> u will get two floders---->adapter services & advancedselect adapter services:- u will get adapter services such as publication service,subscription service,req res service.then drag publication service--->u will get ADB pub in desigened panelconfig:-transport type---->rvqos----->reliablewireformat-------> Ae message Posted by tibco at 8:42 PM 0 comments

Difference between Topic and Queue?


topic is nothing but hub and spoke communication (publish-subscribe type) queue is point to point communication Posted by tibco at 8:35 PM 0 comments

what is tibco and where to we use tibco


TIBCO IS A EAI->ENTERPRISE APPLICATION INTEGRATIONEAI as a solution for unifying applications and systems across the enterprise a complete and unbiased survey of the different technologies, architectures, and approaches available for EAI implementations, including pros and cons, clear TIBCO -> THE INFORMATON BUS tibco is used forto integrate application system this is ->BUSINESS WORK,we will integrate databace useing adapters BUSINESS WORKS 1)JMS 2)XML&PL/SQL 3)RV 4)DATABASE OPERATION TIBCO IS BASED ON LOAD BALANCING CONCEPT EXCEPT TIBCO ALL OUTHER EAI TOOL ARE CLIENT/SERVER SYSTEMS while integration the tibco is used b/w two interfaces succh as sap/r3,and peoplesoft,mainframes ...etc this integration is done useing adapters

1.What are the modes of TIBCO BW Installations ? GUI mode Console mode Silent mode 2.If you have installed a particular version of TIBCO software e.g. TIBCO BW X.Y.Z, What are X, Y and Z number stands for? Integration can be at different application layers: X:Patch Y:Major Z:Minor 3.What is the role of TRA? TRA stands for TIBCO Runtime Agent. The TRA has two main functions: Supplies an agent that is running in the background on each machine. 1. The agent is responsible for starting and stopping processes that run on a machine according to the deployment information. 2. The agent monitors the machine. That information is then visible via TIBCO Administrator. Supplies the run-time environment, that is, all shared libraries including third-party libraries. 4.What are the resources that gets included in the EAR file, created by the TIBCO Designer? An EAR file can contain local project resources, LibraryBuilder resources, and files as specified in AliasLibrary resources. In addition, the TIBCO Designer classpath may include references to other files that are included in the EAR file. refer the digram 5.What are the revision control system options available in TIBCO designer? File sharing VSS Perforce XML Canon ClearCase iPlanet CVS PVCS 6.What are the different modes of service invocation? Services can be invoked in several ways. A one-way operation is executed once and does not wait for a response. A request-response operation is executed once and waits for one response. In a request-response service, communication flows in both directions. The complete interaction consists of two point-to-point messagesa request and a response. The interaction is only considered complete after the response has arrived. Publication (notification) means an operation sends information on an as-needed

basis, potentially multiple times. Subscription means incoming information is processed on an as-needed basis, potentially multiple times. 7.What is vcrepo.dat? TIBCO Designer creates a file named vcrepo.dat in the project root directory when you first save the project. This file is used to store properties such as display name, TIBCO Rendezvous encoding, and description. This file can be used for identification in place of the project root directory and can be used as the repository locator string (repoUrl). 8.What are the TIBCO BW activities that can participate in transactions? Not all TIBCO BusinessWorks activities can participate in a transaction. Only the following types of activities have transactional capabilities: JDBC activities JMS activities ActiveEnterprise Adapter activities that use JMS transports EJB activities TIBCO iProcess BusinessWorks Connector activities 9.What are the different types of Transactions TIBCO provides? TIBCO BusinessWorks offers a variety of types of transactions that can be used in different situations. You can use the type of transaction that suits the needs of your integration project. When you create a transaction group, you must specify the type of transaction. TIBCO BusinessWorks supports the following types of transactions: JDBC Java Transaction API (JTA) UserTransaction XA Transaction 10.What activities are supported in JTA Transaction? The Java Transaction API (JTA) UserTransaction type allows: JDBC JMS ActiveEnterprise Adapter (using JMS transports) EJB activities to participate in transactions. 11.What activities are supported in XA Transaction ? The XA Transaction type allows: JDBC activities ActiveEnterprise Adapter activities that use the JMS transport JMS activities to participate in transactions.Note:For JMS activities and ActiveEnterprise Adapter activities, request/reply operations cannot participate in an XA transaction. Also, EJB activities cannot participate in an XA Transaction group. 12.What are the possible Error output's of Read File activity? Integration can be at different application layers: FileNotFoundException :Thrown when yhe file does not exist.

UnsupportedEncodingException:Thrown when the text files encoding is not valid and the content of the file is read into process data. FileIOException :Thrown when an I/O exception occurred when trying to read the file. 13.What is the purpose of the inspector activity ? The Inspector activity is used to write the output of any or all activities and process variables to a file and/or stdout. This is particularly useful when debugging process definitions and you wish to see the entire schema instead of mapping specific elements to the Write File activity. 14.What are the maximum/minimum of threads available for incoming HTTP ? The maximum/minimum of threads available for incoming HTTP : 75/10 15.How can unauthorized users be prevented from triggering a process ? Unauthorized users be prevented from triggering a process by giving 'write' access for the process engine to only selected users. Only users with 'write' access can do activities like deploying applications, starting/stopping process engines etc. 16.What are the mandatory configuration parameters for FTP Connection & FTP with firewall ? The mandatory configuration parameters for FTP Connection FTP host Port Username & Password> If Firewall is enabled in addition the proxy host and port are required. 17.how to design a process such that depending on number of records updated in a database, 3 different sub-processes may be called ? Define 3 transitions from JDBC update with condition on the no of updates and call appropriate child processes. 18.How to use legacy .dat file format with latest designer ? Convert .dat file to multi file project using Administration tab while starting up Designer(Other one being Project tab) and then open the multifile project in the normal way. 19.What are the encodings supported by designer ? Encodings supported by designer are ISO8859-1(Latin-1) UTF-8 20.What are the 4 main panels of the Designer window ? The 4 main panels of the Designer window are Project panel Palette panel Design panel Configuration panel 21.How do you determine if there are broken references in the project? Project -> Validate for deployment 22.Where are the Designer preferences stored ? Designer preferences stored are stores in a file called 'Designer .prefs' in the user

home directory. 23.Explain the process configuration parameters - Max Jobs, Flow Limit & Activation Limit ? Max Jobs : Max Jobs specifies the number of process instances that are kept in memmory. Once this limit is reached newly created process instances (subject to flow limit) are paged out to disk.0 specifies no limit and is the default. Flow Limit : Flow Limit specifies the maximum number of running process instances that are spawned before the process starter is suspended ie it enters a FLOW_CONTROLLED state and does not accept new events. This can be used to control the number of process instances running simultaneously and when the protocol generating the event can store the event till it is received, like email servers, JMS, RV etc. 0 specifies no limit and is the default. Activation Limit : Activation limit flag specifies that once a process instance is loaded it must be placed in memmory till it completes execution. By default it is enabled. 24.What are the options for configuring storage for process engine's checkpoint repository ? The options for configuring storage for process engine's checkpoint repository are: Local File Database. Fault tolerant engines can recover from a checkpoint only when database is used. 25.Process engines in a fault tolerant group can be configured as peers or master secondary.How do these differ ? The options for configuring storage for process engine's checkpoint repository are: - Peer means all of them have the same weight. In this case when one engine fails another one takes over and continues processing till it fails. - In master secondary configuration weights are unequal, the secondary starts processing when master fails. But when master recovers, secondary stops and master continues processing. 26.What are the uses of grouping activities ? Uses of grouping activities are: Create a set of activities having a common error transition. Repeat group of activities based on a condition. 1. - Iterate over a list. 2. - Repeat until condition true. 3. - Repeat on Error until condition true. Group activities into a transaction. To create a critical section area that synchronizes process instances. A 'Pick First Group' allows you to wait for the occurence of multiple events and proceed along a path following the first event to occur. 27.What is the purpose of a Lock shared configuration resource?

A Lock is specified for a 'Critical Section' group when the scope is 'Multiple'. It can be used to ensure synchronization across process instances belonging to multiple processs definitions or for process instances across engines(Check multi engine flag for lock in this case and the BW engine needs to be configured with database persistence while deployment). If synchronization is for process instances belonging to the same processs definition inside one engine, just specify the scope as 'Single'. 28.How to control the sequence of execution of process instances created by a process starter ? Use the sequencing key field in the Misc tab of any process starter. Process instances with the same value for this field are executed in the sequence in which they are started. 29.Can there be two error transitions out of an activity ? No. There can be only one Error and one Success if no matching condition transition out of each activity. 30.When is a 'No Action' group used ? 'No Action' group used to have a set of activities having a common error transition 31.What activity can be used to set the value of a 'User defined process variable' ? The 'Assign' activity can be used to set the value of a 'User defined process variable'. 32.Which are the two process variables available to all activities with inputs ? $_globalVariables $_processContext 33.Which mechanism can be used to pass data between a process instance and a called sub process other than mapping from/to the callee's input/output ? This can be accomplished using job shared variables, unless in the call process activity the 'Spawn' flag is enabled in which case the called sub process is a new job and hence gets a fresh copy of the job shared variable initialized as per its configuration. A shared variable can overcome this limitation as it's scope is not limited to one job. 34.What are the three scenarios where BW engine has to be configured with database persistence instead of Local File ? The three scenarios are: Shared Variables across BW engines. Locking across groups in multiple BW engines. Wait Notify across BW engines. 35.If you want a group to be executed if there is some unhandled error but subject to some max number of iterations which group do you use ? We can use Repeat on Error until true 36.When is a 'Generate Error' activity useful? When you handle an error inside a called subprocess or group and want to rethrow the error to the caller(happens by default if you dont handle the error in the called process) 37.Which activity is used for detecting duplicate message processing? CheckPoint activity - Specify the uniqueID for the duplicate key field and engine

maintains list of these key fields. When a process come to checkpoint activity with the same value for duplicate key which already exists, it throws a DuplicateException. An error transition can then handle this case. 38.Give an example where graceful migration of service from one machine to another is not possible. HTTP Receiver. In this case the receiver on new machine starts listening on the same port, but you need to redirect requests from the old machine to the new one. 39.What are the types of adapter services ? Types of adapter services are : Subscriber Service Publisher Service Request-Response Service Request-Response Invocation Service 40.If the business process needs to invoke another web service which resource do you use ? SOAP request reply activity. If the business process needs to be exposed as SOAP service use SOAP Event Source in conjunction with SOAP Send Reply or SOAP Send Fault. 41.What is the functionality of the Retrieve Resources resource? It can be used to serve the wsdl file of a SOAP Event Source to a (http) client.Construct a process like: HTTP Receiver -> Retrieve Resources -> Send HTTP ResponseNow the WSDL file for a SOAP service can be retreived using the http requesthttp://://?wsdlwhere 'path' is the folder path to the SOAP Event Source process and 'resourceName' is the name of the processExample : http://purch:8877/Purchasing/GetPurchaseOrder?wsdl 42.What is the scope of user defined process variables ? The scope of user defined process variables is only the process in which it is defined.(Not even inside a sub process that is invoked from this process) 43.What is difference between shared variable and job shared variable ? Both of them can be manipulated via the palette resources 'Get shared variable' and 'Set shared variable'. A job shared variable is private to one instance of job or in other words each job has a fresh copy. In the case of shared variable the same copy is shared across all job instances. It can even be persisted and can survive BW engine restarts and even shared across multiple BW engines(when deployed using DB persistence). 44.How do wait-notify resources work ? Basically wait and notify should share a common notification configuration which is just a schema definition for data that will be passed from notifier to waiter. Specific instances of waiter & notifier are corrrelated via a key. For example: when one process is in wait state for key 'Order-1', it waits till another process issues a notification with the same key value. 45.What is the default Axis in XPath ? Child axis- What this means is that when you select "BOOK" from the current context, it selects a child node with that name, not a sibling with that name. Other

axes are parent , self , sibling etc. 46.What are the output formats for XSLT? XML HTML Text 47.What does ' Success if no matching condition' transition mean ? Lets say between two nodes N1 and N2, there are 3 success transitions with condition and there is no success transition without condition. If none of the conditions match then a 'Success if no matching condition' transition can be used. Also if there is a success transition and also success transitions with condition and if the condition matches then both the sucess transition (no condition) as well as the transition(s) with matching conditions are followed. So you can use 'Success if no matching condition' to prevent duplicate paths of execution. 48.What is the Purpose of $_error variable ? $_error variable is available in the node following the error transition. It captures the error message, error code etc. 49.What are the cases where business process cant proceed correctly subsequent to restart from a checkpoint ? Sending HTTP response, confirming an email/jms message etc. This is because the confirmation or sending HTTP response has to done in the same session. When engine crashes these sessions are closed at their socket level. In such cases send response/confirm before checkpoint. 50.Which group do you use to wait for multiple events and proceed with the first to occur ? A 'Pick First Group'.

Posted by tibco at 10:32 PM 0 comments

interview ?(2)
1) What is EAI? A: It stands for Enterprise Application Integration. It is used for integrating different types of enterprise application. 2) What is Integration? A: It is used for Exchange of Information. 3) Why EAI or Tibco? Because each application having their own way of representing data or called as data format In order to send the data one system to other we need to convert the data into end application understandable format. 5) What is messaging?

In EAI applications communicate or application exchange information by using messaging. The actual data will be part of a message. In the message 60% will be meta data the other is 40% of actual data for easier transport. 6) What is BW? It stands for Business Works and is used for developing integration projects, which provides design time and run time environment for developing integration works. 7) Where you specify the Business Logics? In process definitions we specify the Business Logics 8) What are process definitions? Specifying the business rules to control the data flow. 9) What is Job? The job is nothing but process instance, which represents one message. 10) What is palette? A palette is a container for similar activities that belongs to a same domain. XML Extensible markup language contains data (In Tibco irrespective of type external systems once data comes inside Tibco that will be in a from of XML. In order to validate xml data we need to create xml schema (it is a structure). When xml schema specifies the structure of xml data, xml schema will be have extension of .xsd (stands for schema definition). 11) What is Parse Xml? It takes input as xml based on xml schema it will validate and extract data from xml 12) What is Render Xml? It takes input as data based on xml schema it will convert data into xml file 13) What is Render Data? It takes input as data based on the data format it gives output as a string or binary format. 14) What is Parse Data? It takes input as text or csv (comma separated value) and it will be validating based on the data format and extracts the data from it. 15) What is difference between RV and EMS? RV stands for rendezvous and EMS stands for enterprise message service RV is bus architecture and Ems is client and server (hub and spoke) architecture 16) What is activity? It is like a method which take input parameter s perform logic on input parameter and will return some result 17) How a variable will be identified in X_path or in BW? $ Example: int I $: Posted by tibco at 10:26 PM 0 comments

SOME INTERVIEW ?

1) Middleware why? Answer: 1.for best performance. 2. For synchronizing data flow amongst various applications with in a enterprise across the enterprise 2) Difference between point-to-point, multicast message and broadcast message Point to point is between one publisher and single subscriber. Multicast is between publisher and known subscribers. Broad cast is between a publisher and many unknown subscribers. 3) What is the advantage of Subject based addressing? Answer: 1.Can publish broadcast messages to distribute information quickly and reliably to many consumers. 2. (Location Transparency) Program processes can communicate without knowing the details of network addresses or connections. 3. (Decoupling and data independency) we can dynamically add, remove and modify components of a distributed system without affecting other components. 4) Platforms supported by TIBCO? Answer: Platform independent. ADB 1) Design Time configuration. 2) Run time ODBS configuration. Which driver did you use? 3) What are the various services provided by ADB? Answer: 1.Publication Service. 2. Subscription Service. 3. Request-response service. 4) How do you configure the Request Response Service and use it? Answer: 1. this service is often called as RPC (Remote procedural call).It is demand driven type. 2. In this the adapter receives request from one application, parses the request, calls the appropriate component i.e. query or call procedure to set the input fields. 3. And then calls the other set of component to get output fields. The output Fields are wrapped into a schema and sent back to the caller as response. 4. We can configure ADBServer with 3 tabs, A. Configuration tab B.Call operation tab C.Advanced tab 5. Configuration tab a. Name Service Name b. Transport Type JMS or TIBCO RV C. If TIBCO RV is Transport type Quality of service -- Certified, Reliable and DQ. D.If JMS is Transport type Connection Factory typeTopic and Queue E.Delivery Mode if JMS is selected Durable (Persistent), Non-Durable (Nonpersistent). F.Mode

Request reply is the basic request reply mode. The Server subscribes the request and publishes the reply. RPC allows us to configure adapter to act as RPC i.e. remote procedure call. G.Wire FormatRV Messages (TIBCO RV only) ---XML Message (TIBCO RV or JMS) ---AE Message (TIBCO RV only) 5) In what scenario would you use the Publication and Subscription service? Answer: Subscriber: When running as a subscriber, the adapter listens on a subject, receives messages and updates the relevant tables, in its associated DB.Then the data is available to other applications that have access to DB. Publication: When running as a publisher, the adapter extracts data from the Changed rows from database tables and publishes them on appropriate subject names. 6) How do you create/specify the relationships between the Primary and the child tables? Answer: JoinTo is the tab available in TABLE tab for parent child relation ship. 7) How does ADB maintain/handle the exceptions that occur? Answer: Next Question Answer. 8) What are the various exception tables? Answer: 1.Exception Table 2. Opaque Exception Table Exception Table: If adapter is unable to write data into subscriber table, it writes the data into Exception table with the exception raised. If this table is not configured previously, it is created by subscription service when an exception raised. Opaque Exception Table: A message is logged into this table when subscription service is fails to generate records in the destination table or the adapter fails to insert a message into an Exception Table (above Table). 9) Can ADB be used to invoke call procedures? If so, how? Answer: Subscriber service: In subscriber options tab we have Pre Commit Stored Procedure. In this field we have to specify the name of stored procedure .The procedure is called after the insert, delete, update and prior to commit. The procedure is executed and returns results to the adapter. Request-Response service: If mode option (in configuration tab) is selected with RPC, Call operation tab is going to appear .It have the fields, A. Name ----unique name of call operation. B. Catalog/Packagepackage /catalog where the procedure resides. C. Schema D. Procedure name. E. Select procedure F. Maximum rows. G. One way.

10) What are all the databases that ADB support? Answer: In adapter Instance configuration tab, we have menu called Vendor. It contains the DBs supported by ADB.Example Oracle, Sql Server, and DB2 etc. 11) If introspecting table and updating table is same then how can you avoid publishing of data after doing some modifications? Answer: We have to check the checkbox Enable loop detection publisher options tab. If loop detection is enabled, the following column is added to the source table ADB_SOURCE, T-indicates the row is not to be published, NULL indicates the row can published. 12) ADB_L_DELIVERY_STATUS (MY QUESTION) Answer: P-indicates pending Acknowledgement. N-indicates that new message has arrived, but has not yet been published in the publication table. C-indicates completed publishing. F-indicates failed publishing. 13) ADB_OPCODE (MY QUESTION) Answer: Operation codes used by ADB, 1-indicates INSERT 2-indicates UPDATE 3-indicates DELETE 4-indicates UPDATE if row exists, otherwise INSERT. BW 1) What is the Difference between 2.x and 5.x for those who worked on both 2) What is a BW process phases?(MY QUESTION) Answer: 1.Analysis (Define and analyze problem).CLEAR UNDERSTANDING OF REQUIREMENTS a. define and delimit the problem. b. identify process. c. identify components. d. describe business events and objects. e. design business process. f. consider domain setup. 2. Domain Setup (Install software and configure domain).HARDWARE AND SOFTWARE REQUIRMENTS SOTHAT TROUBLE FREE TRANSITION FROM DESIGN, DEPLOYMENT AND ADMINISTRATION 3. Service Configuration (Configure Adapters). ---Web services interacting with internet and adapter services interaction with files, DBS and ERP applications a. Installing the adapters. b. Setting up design time adapters. c. Configuring the run-time adapters. d. Accessing the adapter service from process. 4. Process Design (Implement & test business process).Using TIBCO designer GUI

we create our business process using predefined activities and add conditions and mapping as appropriate. 5. Deployement (Deploy to run time engine).After testing it in development environment it is deployed in the test environment. After TIBCO admin GUI is used to deploy the ear files (which are created by TIB Disgner) 6. Production (Manage & Monitor deployment) 3) What are different types of groups?(MY QUESTION) Answer: 1.Transaction groups 2. Variable groups-Use global variable groups to allow multiple developers to work on global variables simultaneously. Each group has its own file in multi-file project. 4) What are the components of process definition?(MY QUESTION) Answer: 1.Activities 2.transactions 3.Groups 4.Shared Configuration Resources 5. Sub process 5) What is a pallet?(MY QUESTION) Answer: Pallet is a resource, which organizes activities of same domain. It allows us to add activities to our project when we select it. 6) What are all the pallets you have used?(MY QUESTION) Answer: 1.Parse Pallet. 2. JMS pallet. 3. RV pallet. 4. General Activity Pallet. 5. XML Activity pallet. 6. File pallet. 7. JDBC pallet. 8. Soap pallet. 9. Http pallet. 7) What are the various messaging options available in TIBCO BW? Answer: 1. RV Messaging. 2. EMS Messaging. 3. Smart Sockets. 8) How is Conditional branching possible in Tibco Business Works what are the various options available? Answer: 1.If...Else otherwise ---transition success with condition and other condition. 2. Surround with values. 3. 9) Linked to Q 3 above how will you accomplish if ...Else otherwise logic using BW. Answer: transition success with condition and other condition. 10) What are Process and Global variables? Answers: process variables are those which are local variables of a process. Out of

process these variables disappears. Global variables are can be accessed in any process with in the project, these are just like application properties file in java. URLs, username and password of external servers are saved as global variables. 11) Can Process variables be changed at run time? Answer: yes. 12) How will I change the Global Variables in the Production Env, once it is deployed? Answer: Tibco administrator has the privileges to change the global variables in the production environment but these values are going to effect only when restart the engine. 13) How is Error Handling done in BW, how can the try.catch block be implemented in Tibco? Answer: 1.By taking transition with condition type error 2. Generate error activity from General activity pallet. 3. Use group to create a set of activities that have a common error transition. This behaves as try catch block .This allows us to have a set of activities with only one error handling transition, instead of trying to catch errors on each activity. 14) What is the difference between DTDs and XSDs? Answer : DTD(Data type definition): it is old version of specification of xml.It do not validate the data types of xml content and sequence of elements and do not have specific rules as like XSD (xml specification definition).XSD validates the data types and as well as parent elements, no of child elements ,sequence of elements and repeating elements. 15) Why would you use the checkpoint activity? Answer: When detecting duplicating messages, it is important to place the Check point activity before any activities that we do not want to execute more than once. The state of the variables (input massage) is saved in the check point. 16) How does wait and Notify activity work in Tibco Business works? Answer: TIBCO BW provides Wait and Notify activities and the Receive notification process starter to handle inter process communication. A process containing wait activity waits for another process to execute a corresponding Notify activity. It is like wait and run methods in multithreading of java. 17) What is the difference between Copy of and For Each in Tibco Business Works? Answer: Copy of: It is an XSLT statement to create a copy of selected node, including child nodes .Both the copied node and destination node must have the same name and structure. For- Each: Performs the specified statements once for each time in the selected node. This is use full if we wish to process each item of a repeating element once. 18) Consider that I have huge file to be read, can I use read file activity? How can I improve the performance, I need to select 10 records at a time, how is it possible. 19) How do you create an EAR file and deploy it. What does an EAR file contain?

20) What is an activity?(MY QUESTION) Answer: 1. Activities are individual units of work in a process definition. 2. Activities are generally operations that interface to external systems. 3. Activities are communicated with in process. 21) What is the difference between AE schema and the properties file? 22) How will you debug the BW processes? Answer: 1.Write to log activity from general activity pallets. 2.using break point after every activity and logging inputs and outputs of an activity ,checking all these are properly mapped or not. MY Questions 23) What are various activities in soap pallet? Answer: 1.Retrieve Resource. This activity is on soap client, when the client needs WSDL file we need to configure this activity. This makes WSDL file available to the client. 2. Soap Event Source. It is process starter on the server side. It receives the request from soap client. It creates the process instance for the incoming soap request. 3. Soap request-reply. This activity performs a request on the specified web service and optionally expects a reply from the web service. 4. Soap Send Fault. This activity sends a soap fault /error to the client if an error occurs during processing of a soap request. 5. Soap Send reply. This is sending reply to client. 24) What are various activities in JMS pallet? Answer: Queue: 1.Queue receiver .receives the request. Process starter on server side. 2. Queue sender. It is also a type requester but it does not expect any reply from the server. It also acts as Queue requester. 3. Queue requester. Sends request to the queue and expects the response .It is used in combination with the reply to JMS message. Topic: 1.Topic subscriber. It is process starter on server side .It creates process instance for the request on receiving a request. 2. Topic publisher. It acts as requester but does not expect any response kind from server. 3. Topic requester. It sends request to the server and it expects a response form the subscriber. It is used in combination with the Reply to JMS message. 25) What are the various activities in the RV pallet? Answer: 1.Publish RV message. publishes message on subject to the RV subscriber. 2. RV subscriber. It listens the messages on a subject and creates process instance on the 3. RV Transport. 4. Reply to RV request. 5. Send RV request. RV/JMS

1) What is the different types quality of services RV available? Reliable Certified Distributed Queue Difference between reliable and certified. Answer: 1.In case of reliable there is no guarantee of delivery of msg but in case certified, guarantee of msg delivery. 2. The msg is saved for 60 sec only on publishing side but in case of certified the msg is saved until it get acknowledgement from scriber. 3. The msg is saved in daemon (temporarily) but in case of certified there is a concept of ledger files. 4. Reliable is best in case of broadcasting mode and certified is best in case of multicast and point to point. What for Distributed Queues are used? Answer: It is the concept of load balancing on subscriber side. It is implemented when there is a huge rate of data transfer. What is Persistent/Non-Persistent in JMS? Answer: messages are made persistent or non persistent .The messages are saved in persistent store in case persistent, if ems server is down there is no loss of messages in destination. The subscribers or receivers get messages after ems server is up. But in case of non persistent, once the server is down means the messages are lost. What is durable /Non-Durable in JMS? Answer: subscribers are configured as durable or non Durable. The durable messages will get msg when they are up i.e. we are forcibly make topic subscribers as asynchronous by making them durable subscribers. Non durable subscribers should always in active mode in order to get messages. Which one is having more security RV or JMS? Answer: JMS is more secured because it is server based. What is Network, Service and, Demon Parameter? Answer: Daemon: It is not specified if RVD is running on the same system. If RVD is running on remote system it is specified. It contains hostname followed by socket number. Network: This field contains network (hostname, IP address and network name). It contains 3 parts, separated by semicolons network, multicast groups, and send address. Multicast groups it is an IP ADDRESS separated by commas, these are the listeners in the network group. Service: It is a port number or service name. Is it possible to change the Service parameter? Answer: If we specify the service parameter the data is diverted to that port. Which protocol does RV use for Reliable Messaging Answer: UDP How do you detect if RV or JMS Server is down using administrator?

How Point-to-Point is accomplished using the Rendezvous Palette? How are Distributed Queues configured in Tibco BusinessWorks? What are the different kinds of Ledger files? Answer: 1.File based ledger: This ledger file is generated when we are specifying the name. Even the process terminates, transport is destroyed the ledger resides in the disk. 2. Process based ledger: If we are not specifying any name i.e. NULL, it is considered as process base ledger. If process terminates, transport is destroyed the ledger will lost and it can not be used for new transport. What is the difference between a topic and queue? Answer: Topic-synchronous mode of communication. -publisher and subscriber model. -broad cast type messaging. -there is no guarantee of delivery. Queue-asynchronous mode of communication. -point to point model. -unidirectional type of messaging. -there is guarantee of delivery. When will u use a topic and when will u use a queue? Answer: 1.only one producer and only one consumer is there then Queues are used. Simply Queue is of type Point to Point. One or more than one publishers and one or more than one subscriber is there than Topic. Simply Topic is of type Broadcast messaging. Can queues be shared between two consumers? Answer: Yes. If queue is non-exclusive (default) it can be shared by any number of consumers. Non-exclusive queues are useful for balancing the load of incoming messages across multiple receivers. What is an exclusive queue? When would u use it? Answer: If queue is exclusive, then all queue messages can only be retrieved by the first consumer specified for the queue. Exclusive queues are useful when we want only one application to receive messages for a specific queue. A message in a queue can be consumed by how many consumers? Answer: if all are non-exclusive queue any number of consumers will receive messages. If exclusive queue, the first consumer will get messages. How will you grant privileges to topics and queues? Answer: Only EMS admin have privilege What are the protocols supported by JMS/EMS? Answer: 1.SSL (HTTP) 2. TCP Java 1) What are the various activities available? 2) What is Java method, Java function activity? 3) Java to XML , XML to Java activity 4) For any java methods to be used in BW, what are the conventions to be followed

(what should the declaration of the method be) ADMIN 1) What is fault tolerance? 2) How do you configure FT? 3) What is Load Balancing? How do you incorporate this using TIBCO? 4) What are the diff types of Load Balancing? What is the difference? 5) In a Fault Tolerant scenario, how will a secondary know Primary is down, and how many Machines can be configured for Secondary servers. 6) What are the various kinds of relationships that can be configured between Master and Secondary? 7) What are Rule bases? How do you configure rule bases? What are the various actions that can be taken? 8) What is a domain, how will we create it, why do you create it, is it necessary? 9) How do you change the RV parameters for a domain? 10) What are the various tabs that appear on uploading an EAR file? 11) Can you create EAR file using Scripts, and also deploy using Scripts, if so what are all the commands. 12) How would you add a machine in the Domain, using what utility? 13) Can a machine be part of Two Domains, if so how? Adapters/SM 1) How is Dynamic Overriding possible in 5.x is it possible from admin console. 1) U can ask Gen Qs as to how was the adapter configured , the various msg format conversions , error handling of adapters 2) How was the data published? Transformation rules etc etc 3) How do you configure the designtime adapter and the Run-time adapter? 4) How does Publish-subscribe and Request-Reply mechanism work in adapters. 5) How you monitor simple Hawk console in administrator, what do I need to change in the TRA entries so that I see the hawk screen in the administrator. 6) What are the different kinds of Ledger files 7) What is SmartMapper, how will you do Cross-referencing. How will you use Lookup methodwhat are the Parameters that should be specified. XPATH 1) What are the different conditional statements available? 2) What are the different functions/operators available String, Date/Time, number, Logical etc etc.

City Bank Singapore 1) What is Target Name Space while defining XSD? Answer: 1.It follows the URL syntax.

2. It must be unique for every wsdl file. 2) What are BW Templates? Answer: Project Template is a pre-built project. It can contain folders for organization, configured resources and partially configured resources .We can use these templates as foundation for other projects similar in nature. Using a template we can leverage our work when performing similar work. We can customize these templates to use in new project. It make the process fast. 3) What is the Soap version you have used? 4) What is critical situation you have faced while mapping? 5) What is the difference between AE Schema and RV message? 6) How we can change Global variables after deployment and design time? 7) What is namespace in relation with XSD? IBM Rahul 1) What is an event object? 2) What are event-queues? 3) What are inbox-names? Answer: Transport objects can create inbox names, designating a destination that is unique to that transport object and its process. Rendezvous software uses point-topoint techniques to deliver messages with inbox subject names. One common use of inbox names is as reply subject names in request/reply interactions 4) What are the wire formats supported by file adapter? OSI-HYD 1) How we can implement DQ with ADB adapter? 2) How many Child tables can be added to a Parent table? 3) How you deploy application with Administrator? 4) What is TIBCO designer? Answer: TIBCO Designer is a graphical user interface for designing and creating integration project configurations.TIBCO designer allows us to drag and drop components into a project and build an EAR for the project. 5) What are all the protocols used in RV? 6) What is TRDP? 7) What is the difference between RVD and RVRD? 8) What is mapper activity? Answer: A Mapper activity adds new process variable to the process definition. This variable can be simple data type, a TIBCO AE Schema, an XML-schema or complex structure. It is usually used with data format. 9) What is Direct Communication? Answer: A direct communication is a scenario, communication without RVDS on both sides of applications. 10) What is loop detection in case of ADB?

11) How many ways we can create ear file? Answer: 1.We can create EAR file through the Designer. In general pallet of designer we have Enterprise archive icon before this we have select a folder then only we can get the general pallet of designer. And give the required information in the configuration tab and click the build archive. 2.Through Adapter resource pallet of designer we can create the Adapter Archive (aar)file. 12) How the scheduler is created in RVDQ? Answer: The scheduler is decided basing on different parameters, 1. Scheduler weight. The group members with higher weight become the scheduler when services are started. 2. Heart beat interval. 3. Schedular Activation Interval. 13) What are designer pallets? Answer: 1.General pallet. 2. XML-tools pallet. 3. Adapter resource pallet. 4. Adapter schema pallet. 5. Repository pallet. 14) How do test the performance of the ADB adapter? Answer: Performance of ADB adapter depends on 1. Polling Mechanism. In Adapter services tab we have fields use polling batch size , Poling Interval and Polling batch size. If use polling batch size is not checked i.e. not activated, the adapter is going to pick all the new rows and publishes .This could effect the adapter performance. If this field is checked Polling batch size field is activated, only that number of records is picked up by adapter per polling interval. So performance of adapter is improved. Polling interval is the field specified in milliseconds. The default is 5000.This is the time interval often checked by the adapter publishing service into the table for new records. If the Polling interval is set to 0 (zero), it is assumed that we are using alerter to manage the polling. 2. Messaging groups. Dubai-raja & Chandra Bose 1) What is spanning while using call process activity? Answer: If this option is checked the parent process cannot access the sub process output. The called process (sub process) executed as separate process instance. 2) What is pick first groups while working with groups? Answer: Pick first groups allow process execution to wait for one or more events. The first event that completes determines which transition to take to continue processing. Only request/reply, wait for activities and the activities that have the pause symbol

can have valid transitions from the start of the pick first group. 3) What is dynamically determining the process to call? Answer: Here we can call a sub process basing on a condition like if else. If some condition is true executes one process else other process. The condition is an Xpath expression. Here in this case dynamically determined which sub process to be basing on request condition. 4) What is the critical section of a group activity? Answer: 1.critical section groups are used to synchronize the process instances so that only one process instance executes the grouped activities at any given time. All other process instances will be in waiting until the currently executing process instance completes critical section group. 2. Critical section groups are particularly useful for controlling concurrent access to shared variables. 3. Synchronization can be done for 1.single process definition for single process engine.2.multiple process definition for multiple process engines. 4. We have select single group/multiple groups from SCOPE field. 5) What is TIBCO BW? Answer: Posted by tibco at 10:19 PM 1 comments

BW Palette
1 BW Palette 1) JRE requirement while installing BW BW doesnt require JRE Pre-installed JRE needs to be uninstalled Can use pre-installed JRE or installation uses its own JRE 2) Which mode of BW installation asks for user inputs GUI Console Silent 3) Different Wire formats available in BW rvae, rv, rvxml, emsxml. 4) Which are the required parameters for configuring the FTP connection to access the FTP server outside the firewall. User Name & Password for FTP server Proxy settings of Local Firewall Proxy settings of Remote Firewall 5) Connections to FTP server are lost frequently while executing FTP GET, How can we handle this situation. Place the FTP GET activity inside a subprocess and make call to the subprocess from a Repeat on Error-Until True Loop. Place FTP GET activity inside a Repeat on Error-Until True Loop. 6) What is the way by which we can modify values of Process variables

Assign activity Mapper Process variables are constants. 7) What is the procedure to call a subprocess (order) 8) What is true about call subprocess (spawn) Spawned process will return the output to the calling process Spawned process will use same thread as the main process Caller process cannot access the o/p of Spawned process and spawned process uses separate thread from the main process 9) How many error transitions are possible from any activity None or at the most one for all the exceptions As many as we want One for each type of exception 10) What are the two types of inputs available for all BW process definitions $start $error Global variables Process variables 11) Which activity is used to write the output of any or all activities and process variables to a file and/or stdout. Inspector activity 12) Which activity is used to write description in a BW process definition. 13) Which activity is used to make color background of a BW process definition label 14) What is the XML standard used in XPATH in BW. 15) Which one of these is a starter activity Timer 16) What is the minimum configuration required to configure HTTP connection (any 1) Port Hostname 17) What is the way by which we can ensure that HTTP receiver and Send HTTP Response will use the same connection Select Name of the HTTP Receiver activity from the Reply for Drop down box. Specify same HTTP Connection shared configuration while configuring Send HTTP Response 18) What is true for HTTPS Secure Connection Slow initialization. 19) What is the XPATH function used for Current Date Current-Date Today TimeStamp 20) If a certain functionality is not available in XPATH how to achieve it using XPATH Write Java Custom Function 21) What is true about java Custom schema(3)

It is used in JAVA-XML and XML-JAVA activities Only the public data members of the Java class are mapped to XML elements Access modifiers of Java beans are converted to XML elements 22) What is true about JAVA-XML activity Public variables are converted to XML elements Access modifiers of Java beans are converted to XML elements 22) Match the pairs for shared configuration resources and their uses HTTP Connection FTP connection WSDL JDBC Connection 23) What is true about max connections in JDBC.(any 2) The connections share a Pool Can change multiple connections at runtime in a pool Once the maximum connections are reached the JDBC activity is blocked Max connections cannot be set beyond the BW license. 24) A Mapper activity is placed after JDBC, Mapper has a choice field.value of which is set according to the output of JDBC. (0 records return, more than zero no of records return and exception thrown) what is the sequence in which you can check the conditions. Check for 0 records, check for more than 0 records default is exception Check for exception, check for 0 records and default is more than 0 records 25) Recognize the JMS activity JMS Queue Receiver Reply for JMS 26) Limitation of JMS Queue Only one subscriber can receive the data. 27) What are the security features that BW provides SSL User name/password Kerberos Identity 28) Corporate campus has multiple producers and multiple subscribers, all the messages will be stored on a RAID system, and the messaging should be highly reliable. What configuration will u suggest. Persistent delivery with durable subscribers using topics Persistent delivery with durable subscribers using queue RV Reliable RV Certified messaging 29) Which is the palette used in Send and Receive mail palette. POP3 and SMTP 30) Which shared configuration activity is used to create the schema for assign work activity Workflow schema

31) What are the configuration required for Data Format shared configuration Line separator. Format type. Offset. Column separator. 32) Which activity is used to convert the data in a CSV file to Data structures. Parse Data 33) What are the shared configurations required for SOAP Event Source (any 2) HTTP Connection(choice with JMS Connection) WSDL(must) JMS Connection(choice with HTTP Connection) Port Operation 34) Which activity is used to retrieve concrete service description in WSDL? Retrieve resources 35) Two groups are having JDBC activities, u want to perform the transaction function on these JDBC activities, how will u achieve it. Set outer group as Transaction group and inner group as repeating loop 36) Which activity can be used after read from file , from XML palette Parse XML 37) In which folder are the user preferences and console logs are stored .TIBCO folder of users home directory 38) What are the different protocols that can be used to communicate with TIBCO administrator JMS RV HTTP HTTPS 39) How can we add a host machine to tibco administrator. Using admin GUI Using Domain utility 40) How can we set the alerts (any 2) Using Administrator Using Hawk agent Using hawk tool 41) What all things can be monitored from admin GUI CPU Usage Active processes subprocesses 42) What is disadvantage of having two domains on a single machine. Single point of failure Complicates domain backup activity Complicates domain management 43) What is the deployment procedure

Select services to be used in the ear Create EAR Upload EAR Decide machine on which services to be used Deploy 44) What care should be taken while moving from TEST environment to PROD environment. Test and Prod servers on single machine Test and Prod servers on different machines Subject and messaging conventions should be different. 45) Different privileges available in Administrator (any 4) Read Write Execute Administer delete 46) What is true about having a secondary administrator Cannot perform User management and Deployment from Secondary administrator other activities using write privileges. 47) There is a process shown with nested groups. The inside JDBC activity is used to update line items and all must be updated or none. Outside group should be transaction and inside should be iterate. 48) two domains are set up on one subnet what needs to be different bw domain names bw project names xml namespace rv subject jms destination

49) which are the reusable resources http configuration timer jdbc connection wsdl 50) One of the two processes needs to be called dynamically at runtime. Which method of the following would give best performance using conditions in transactions using the dynamic calling in call process have the processes in sequence 51) what parameters for monitoring can you set through administrator gui high/low/medium level first occurrence/all occurrences

message event type 52) what can you do through administrator gui user management domain management deployment management process management view alerts 53) Which activity is used to write comments in a BW process definition? Answer: on transition Label field is used for comments. 54) What a domain utility can do. Deploy the host admin Add m/cs 55) In project involves multiple secure subnets with insecure interconnections what is the best transport. Only jms with ssl Only rv with ssl Tick ssl wherever in the designer Only rv Encryption for insecure connections 56) To work in a team building environment u should 57) What u can do in admin Active process Manage sub process 58) which is the starter process timer --subscriber receiver read file 59) match http webservers ftp --- upload a file jdbc --- database update identity security 60) external xsd : import the xsld 61) setting admin for test and prod env best practices test and prod on the same m/c test and prod on the different m/c 62) required fields in configuration tab of generic adapter subscriber adapter info reply for sessions

transport 62)what is true abt error until true loop do (any 2) index key is stores the no. of repetitions on error, starting from 1 re-excution on error & returns false 63)mapper activity --- creates a process variable for a process 64)breakpts can be set b4 activity inb/w transaction after activity 65)which is jms message type(2) text map 66)what can be done to avoid schema conflict in a project use auto resolver project validator bw conflict manager repository conflict manager Posted by tibco at 10:13 PM 0 comments

FILE ACTIVITY'S

Here r the diffrent palettes in FILE ACTIVITY'S 1)file poller the file poller is one which will start the process when ever there is a change in the file 2)read file the read file is one which is used to read a file example:here is a file name k.txt in C:\ we wan read that one we will use this read

file palette 3)write file the write file is to write some thing on a file it will write on new file or else it we re write on a existing file to do that we have to click on the opption append . we can write text and binary 4)create file to creat a new file we didnt have any append optoin here we can creat only once if we wan second time we have to use write file 5)list file this gives the list of the files in the particular folder 6)remove file to remove a file we will use this 7)rename file rename a file we will use this 8) wait for a change in file this we be used in between the process it will wait until there is any change in the project Posted by tibco at 9:34 PM 0 comments Business Process Modelling The business processes describe the actual flow of data inside the enterprise. In TIBCO BusinessWorks, you use the TIBCO Designer GUI to design and test your processes. Features include: Configuration of adapter services. A complete set of commonly used activities such as File Read, File Write, and File Create, a set of email activities, timers, FTP activities, etc. A transformation tool that lets you map the output of one activity to the input of subsequent activities. Conditional transitions supporting XPath syntax. Grouping of activities.

An easy-to-use design-time process debugger.

Posted by tibco at 9:14 PM 0 comments

TIBCO BusinessWorks Adapters


TIBCO BusinessWorks Adapters A fully integrated TIBCO BusinessWorks adapter can be installed into a TIBCO administration domain and later monitored and managed from the TIBCO Administrator GUI. TIBCO BusinessWorks fully integrates with the following adapters: Technology adaptersIncludes adapters that access files or databases. Application adaptersIncludes adapter for PeopleSoft, SAP R/3, Siebel, and others. Other TIBCO Adapters can be loaded into TIBCO Designer and configured using the Generic Adapter Configuration resources. These adapters can then be used in process design and run as part of the integration project. They cannot, however Posted by tibco at 9:08 PM 0 comments

ADAPTERS FEATURES
Adapter Features Companies in a wide range of industries have successfully used TIBCO adapters to integrate different packages and custom applications. TIBCO BusinessWorks includes second-generation adapters that are based on the same technology but have the following new features: Easy Configuration With Design-Time AdapterAll adapters included with TIBCO BusinessWorks use a unified GUI that simplifies adapter configuration. A DesignTime Adapter allows you to directly access the source application from the TIBCO

Designer GUI and specify the data the business process needs. Easy Inclusion in Business ProcessesThe business process can communicate with adapters by using activities found in the adapter palette. These activities interact with each of the standard adapter services. For example, the Publish to Adapter activity sends a message to an adapter subscription service. Easy Deployment and MonitoringWhen you are ready to deploy your project, the TIBCO Designer deployment palette allows you to assign each adapter to its own machine. At run-time, the TIBCO Administrator GUI monitors each adapter in its own panel. You can therefore easily see if one of the adapters is a bottleneck in the business process flow. Posted by tibco at 9:03 PM 0 comments

What are Adapters?


Adapters Business information is distributed among different business applications (such as SAP R/3 or PeopleSoft) or available from databases or files. Adapters help make this information available to the business process by "adapting" the applications to a common messaging system. What are Adapters? Adapters translate information into the appropriate format: Adapters receive information from a source application and publish it to the business process in a shared format. Adapters subscribe to information from a business process and translate it to a format the target application can understand. Adapters can also be set up to work in a client/server mode (using remote operations.) The illustration below shows how a Siebel customer service system communicates with the business process using an adapter publication service and the business process communicates with the PeopleSoft Order Management system using an adapter subscription service. Posted by tibco at 8:50 PM 0 comments

explain how to create adapters?how to connect adapters and how to build?-the run time connection first u have have to give dsn name at tht project level go to schemas ---->active data base adapter config---> u will get two floders---->adapter services & advancedselect adapter services:- u will get adapter services such as publication service,subscription service,req res service.then drag publication service--->u will get ADB pub in desigened panelconfig:-transport type---->rvqos----->reliablewireformat-------> Ae message Posted by tibco at 8:42 PM 0 comments

Difference between Topic and Queue?


topic is nothing but hub and spoke communication (publish-subscribe type) queue is point to point communication Posted by tibco at 8:35 PM 0 comments

what is tibco and where to we use tibco


TIBCO IS A EAI->ENTERPRISE APPLICATION INTEGRATIONEAI as a solution for unifying applications and systems across the enterprise a complete and unbiased survey of the different technologies, architectures, and approaches available for EAI implementations, including pros and cons, clear TIBCO -> THE INFORMATON BUS tibco is used forto integrate application system this is ->BUSINESS WORK,we will integrate databace useing adapters BUSINESS WORKS 1)JMS 2)XML&PL/SQL 3)RV 4)DATABASE OPERATION TIBCO IS BASED ON LOAD BALANCING CONCEPT EXCEPT TIBCO ALL OUTHER EAI TOOL ARE CLIENT/SERVER SYSTEMS while integration the tibco is used b/w two interfaces succh as sap/r3,and peoplesoft,mainframes ...etc this integration is done useing adapters Posted by tibco at 8:10 PM 0 comments

Sunday, January 20, 2008


How many types of messaging services in RV
1. reliable 2.certified 3.distributed queue

1.What are the modes of TIBCO BW Installations ? GUI mode Console mode

Silent mode 2.If you have installed a particular version of TIBCO software e.g. TIBCO BW X.Y.Z, What are X, Y and Z number stands for? Integration can be at different application layers: X:Patch Y:Major Z:Minor 3.What is the role of TRA? TRA stands for TIBCO Runtime Agent. The TRA has two main functions: Supplies an agent that is running in the background on each machine. 1. The agent is responsible for starting and stopping processes that run on a machine according to the deployment information. 2. The agent monitors the machine. That information is then visible via TIBCO Administrator. Supplies the run-time environment, that is, all shared libraries including third-party libraries. 4.What are the resources that gets included in the EAR file, created by the TIBCO Designer? An EAR file can contain local project resources, LibraryBuilder resources, and files as specified in AliasLibrary resources. In addition, the TIBCO Designer classpath may include references to other files that are included in the EAR file. refer the digram 5.What are the revision control system options available in TIBCO designer? File sharing VSS Perforce XML Canon ClearCase iPlanet CVS PVCS 6.What are the different modes of service invocation? Services can be invoked in several ways. A one-way operation is executed once and does not wait for a response. A request-response operation is executed once and waits for one response. In a request-response service, communication flows in both directions. The complete interaction consists of two pointto-point messagesa request and a response. The interaction is only considered complete after the response has arrived. Publication (notification) means an operation sends information on an as-needed basis, potentially multiple times. Subscription means incoming information is processed on an as-needed basis, potentially multiple times. 7.What is vcrepo.dat? TIBCO Designer creates a file named vcrepo.dat in the project root directory when you first save the project. This file is used to store properties such as display name, TIBCO Rendezvous encoding, and description. This file can be used for identification in place of the project root directory and can be used as the repository locator string (repoUrl). 8.What are the TIBCO BW activities that can participate in transactions? Not all TIBCO BusinessWorks activities can participate in a transaction. Only the following

types of activities have transactional capabilities: JDBC activities JMS activities ActiveEnterprise Adapter activities that use JMS transports EJB activities TIBCO iProcess BusinessWorks Connector activities 9.What are the different types of Transactions TIBCO provides? TIBCO BusinessWorks offers a variety of types of transactions that can be used in different situations. You can use the type of transaction that suits the needs of your integration project. When you create a transaction group, you must specify the type of transaction. TIBCO BusinessWorks supports the following types of transactions: JDBC Java Transaction API (JTA) UserTransaction XA Transaction 10.What activities are supported in JTA Transaction? The Java Transaction API (JTA) UserTransaction type allows: JDBC JMS ActiveEnterprise Adapter (using JMS transports) EJB activities to participate in transactions. 11.What activities are supported in XA Transaction ? The XA Transaction type allows: JDBC activities ActiveEnterprise Adapter activities that use the JMS transport JMS activities to participate in transactions.Note:For JMS activities and ActiveEnterprise Adapter activities, request/reply operations cannot participate in an XA transaction. Also, EJB activities cannot participate in an XA Transaction group. 12.What are the possible Error output's of Read File activity? Integration can be at different application layers: FileNotFoundException :Thrown when yhe file does not exist. UnsupportedEncodingException:Thrown when the text files encoding is not valid and the content of the file is read into process data. FileIOException :Thrown when an I/O exception occurred when trying to read the file. 13.What is the purpose of the inspector activity ? The Inspector activity is used to write the output of any or all activities and process variables to a file and/or stdout. This is particularly useful when debugging process definitions and you wish to see the entire schema instead of mapping specific elements to the Write File activity. 14.What are the maximum/minimum of threads available for incoming HTTP ? The maximum/minimum of threads available for incoming HTTP : 75/10 15.How can unauthorized users be prevented from triggering a process ? Unauthorized users be prevented from triggering a process by giving 'write' access for the process engine to only selected users. Only users with 'write' access can do activities like deploying applications, starting/stopping process engines etc.

16.What are the mandatory configuration parameters for FTP Connection & FTP with firewall ? The mandatory configuration parameters for FTP Connection FTP host Port Username & Password> If Firewall is enabled in addition the proxy host and port are required. 17.how to design a process such that depending on number of records updated in a database, 3 different sub-processes may be called ? Define 3 transitions from JDBC update with condition on the no of updates and call appropriate child processes. 18.How to use legacy .dat file format with latest designer ? Convert .dat file to multi file project using Administration tab while starting up Designer(Other one being Project tab) and then open the multifile project in the normal way. 19.What are the encodings supported by designer ? Encodings supported by designer are ISO8859-1(Latin-1) UTF-8 20.What are the 4 main panels of the Designer window ? The 4 main panels of the Designer window are Project panel Palette panel Design panel Configuration panel 21.How do you determine if there are broken references in the project? Project -> Validate for deployment 22.Where are the Designer preferences stored ? Designer preferences stored are stores in a file called 'Designer .prefs' in the user home directory. 23.Explain the process configuration parameters - Max Jobs, Flow Limit & Activation Limit ? Max Jobs : Max Jobs specifies the number of process instances that are kept in memmory. Once this limit is reached newly created process instances (subject to flow limit) are paged out to disk.0 specifies no limit and is the default. Flow Limit : Flow Limit specifies the maximum number of running process instances that are spawned before the process starter is suspended ie it enters a FLOW_CONTROLLED state and does not accept new events. This can be used to control the number of process instances running simultaneously and when the protocol generating the event can store the event till it is received, like email servers, JMS, RV etc. 0 specifies no limit and is the default. Activation Limit : Activation limit flag specifies that once a process instance is loaded it must be placed in memmory till it completes execution. By default it is enabled. 24.What are the options for configuring storage for process engine's checkpoint repository ? The options for configuring storage for process engine's checkpoint repository are: Local File Database. Fault tolerant engines can recover from a checkpoint only when database is used.

25.Process engines in a fault tolerant group can be configured as peers or master secondary.How do these differ ? The options for configuring storage for process engine's checkpoint repository are: - Peer means all of them have the same weight. In this case when one engine fails another one takes over and continues processing till it fails. - In master secondary configuration weights are unequal, the secondary starts processing when master fails. But when master recovers, secondary stops and master continues processing. 26.What are the uses of grouping activities ? Uses of grouping activities are: Create a set of activities having a common error transition. Repeat group of activities based on a condition. 1. - Iterate over a list. 2. - Repeat until condition true. 3. - Repeat on Error until condition true. Group activities into a transaction. To create a critical section area that synchronizes process instances. A 'Pick First Group' allows you to wait for the occurence of multiple events and proceed along a path following the first event to occur. 27.What is the purpose of a Lock shared configuration resource? A Lock is specified for a 'Critical Section' group when the scope is 'Multiple'. It can be used to ensure synchronization across process instances belonging to multiple processs definitions or for process instances across engines(Check multi engine flag for lock in this case and the BW engine needs to be configured with database persistence while deployment). If synchronization is for process instances belonging to the same processs definition inside one engine, just specify the scope as 'Single'. 28.How to control the sequence of execution of process instances created by a process starter ? Use the sequencing key field in the Misc tab of any process starter. Process instances with the same value for this field are executed in the sequence in which they are started. 29.Can there be two error transitions out of an activity ? No. There can be only one Error and one Success if no matching condition transition out of each activity. 30.When is a 'No Action' group used ? 'No Action' group used to have a set of activities having a common error transition 31.What activity can be used to set the value of a 'User defined process variable' ? The 'Assign' activity can be used to set the value of a 'User defined process variable'. 32.Which are the two process variables available to all activities with inputs ? $_globalVariables $_processContext 33.Which mechanism can be used to pass data between a process instance and a called sub process other than mapping from/to the callee's input/output ? This can be accomplished using job shared variables, unless in the call process activity the 'Spawn' flag is enabled in which case the called sub process is a new job and hence gets a fresh copy of the job shared variable initialized as per its configuration. A shared variable can overcome this limitation as it's scope is not limited to one job. 34.What are the three scenarios where BW engine has to be configured with database persistence instead of Local File ?

The three scenarios are: Shared Variables across BW engines. Locking across groups in multiple BW engines. Wait Notify across BW engines. 35.If you want a group to be executed if there is some unhandled error but subject to some max number of iterations which group do you use ? We can use Repeat on Error until true 36.When is a 'Generate Error' activity useful? When you handle an error inside a called subprocess or group and want to rethrow the error to the caller(happens by default if you dont handle the error in the called process) 37.Which activity is used for detecting duplicate message processing? CheckPoint activity - Specify the uniqueID for the duplicate key field and engine maintains list of these key fields. When a process come to checkpoint activity with the same value for duplicate key which already exists, it throws a DuplicateException. An error transition can then handle this case. 38.Give an example where graceful migration of service from one machine to another is not possible. HTTP Receiver. In this case the receiver on new machine starts listening on the same port, but you need to redirect requests from the old machine to the new one. 39.What are the types of adapter services ? Types of adapter services are : Subscriber Service Publisher Service Request-Response Service Request-Response Invocation Service 40.If the business process needs to invoke another web service which resource do you use ? SOAP request reply activity. If the business process needs to be exposed as SOAP service use SOAP Event Source in conjunction with SOAP Send Reply or SOAP Send Fault. 41.What is the functionality of the Retrieve Resources resource? It can be used to serve the wsdl file of a SOAP Event Source to a (http) client.Construct a process like: HTTP Receiver -> Retrieve Resources -> Send HTTP ResponseNow the WSDL file for a SOAP service can be retreived using the http requesthttp://://?wsdlwhere 'path' is the folder path to the SOAP Event Source process and 'resourceName' is the name of the processExample : http://purch:8877/Purchasing/GetPurchaseOrder?wsdl 42.What is the scope of user defined process variables ? The scope of user defined process variables is only the process in which it is defined.(Not even inside a sub process that is invoked from this process) 43.What is difference between shared variable and job shared variable ? Both of them can be manipulated via the palette resources 'Get shared variable' and 'Set shared variable'. A job shared variable is private to one instance of job or in other words each job has a fresh copy. In the case of shared variable the same copy is shared across all job instances. It can even be persisted and can survive BW engine restarts and even shared across multiple BW engines(when deployed using DB persistence). 44.How do wait-notify resources work ? Basically wait and notify should share a common notification configuration which is just a

schema definition for data that will be passed from notifier to waiter. Specific instances of waiter & notifier are corrrelated via a key. For example: when one process is in wait state for key 'Order-1', it waits till another process issues a notification with the same key value. 45.What is the default Axis in XPath ? Child axis- What this means is that when you select "BOOK" from the current context, it selects a child node with that name, not a sibling with that name. Other axes are parent , self , sibling etc. 46.What are the output formats for XSLT? XML HTML Text 47.What does ' Success if no matching condition' transition mean ? Lets say between two nodes N1 and N2, there are 3 success transitions with condition and there is no success transition without condition. If none of the conditions match then a 'Success if no matching condition' transition can be used. Also if there is a success transition and also success transitions with condition and if the condition matches then both the sucess transition (no condition) as well as the transition(s) with matching conditions are followed. So you can use 'Success if no matching condition' to prevent duplicate paths of execution. 48.What is the Purpose of $_error variable ? $_error variable is available in the node following the error transition. It captures the error message, error code etc. 49.What are the cases where business process cant proceed correctly subsequent to restart from a checkpoint ? Sending HTTP response, confirming an email/jms message etc. This is because the confirmation or sending HTTP response has to done in the same session. When engine crashes these sessions are closed at their socket level. In such cases send response/confirm before checkpoint. 50.Which group do you use to wait for multiple events and proceed with the first to occur ? A 'Pick First Group'.

anuary 27, 2008


SOME INTERVIEW ?
1) Middleware why? Answer: 1.for best performance. 2. For synchronizing data flow amongst various applications with in a enterprise across the enterprise 2) Difference between point-to-point, multicast message and broadcast message Point to point is between one publisher and single subscriber. Multicast is between publisher and known subscribers. Broad cast is between a publisher and many unknown subscribers. 3) What is the advantage of Subject based addressing? Answer: 1.Can publish broadcast messages to distribute information quickly and reliably to many consumers. 2. (Location Transparency) Program processes can communicate without knowing the details of network addresses or connections. 3. (Decoupling and data independency) we can dynamically add, remove and modify components of a distributed system without affecting other components. 4) Platforms supported by TIBCO? Answer: Platform independent. ADB 1) Design Time configuration. 2) Run time ODBS configuration. Which driver did you use? 3) What are the various services provided by ADB? Answer: 1.Publication Service. 2. Subscription Service. 3. Request-response service. 4) How do you configure the Request Response Service and use it? Answer: 1. this service is often called as RPC (Remote procedural call).It is demand driven type. 2. In this the adapter receives request from one application, parses the request, calls the appropriate component i.e. query or call procedure to set the input fields. 3. And then calls the other set of component to get output fields. The output Fields are wrapped into a schema and sent back to the caller as response. 4. We can configure ADBServer with 3 tabs, A. Configuration tab B.Call operation tab C.Advanced tab 5. Configuration tab a. Name Service Name b. Transport Type JMS or TIBCO RV

C. If TIBCO RV is Transport type Quality of service -- Certified, Reliable and DQ. D.If JMS is Transport type Connection Factory typeTopic and Queue E.Delivery Mode if JMS is selected Durable (Persistent), Non-Durable (Nonpersistent). F.Mode Request reply is the basic request reply mode. The Server subscribes the request and publishes the reply. RPC allows us to configure adapter to act as RPC i.e. remote procedure call. G.Wire FormatRV Messages (TIBCO RV only) ---XML Message (TIBCO RV or JMS) ---AE Message (TIBCO RV only) 5) In what scenario would you use the Publication and Subscription service? Answer: Subscriber: When running as a subscriber, the adapter listens on a subject, receives messages and updates the relevant tables, in its associated DB.Then the data is available to other applications that have access to DB. Publication: When running as a publisher, the adapter extracts data from the Changed rows from database tables and publishes them on appropriate subject names. 6) How do you create/specify the relationships between the Primary and the child tables? Answer: JoinTo is the tab available in TABLE tab for parent child relation ship. 7) How does ADB maintain/handle the exceptions that occur? Answer: Next Question Answer. 8) What are the various exception tables? Answer: 1.Exception Table 2. Opaque Exception Table Exception Table: If adapter is unable to write data into subscriber table, it writes the data into Exception table with the exception raised. If this table is not configured previously, it is created by subscription service when an exception raised. Opaque Exception Table: A message is logged into this table when subscription service is fails to generate records in the destination table or the adapter fails to insert a message into an Exception Table (above Table). 9) Can ADB be used to invoke call procedures? If so, how? Answer: Subscriber service: In subscriber options tab we have Pre Commit Stored Procedure. In this field we have to specify the name of stored procedure .The procedure is called after the insert, delete, update and prior to commit. The procedure is executed and returns results to the adapter. Request-Response service: If mode option (in configuration tab) is selected with RPC, Call operation tab is going to appear .It have the fields, A. Name ----unique name of call operation. B. Catalog/Packagepackage /catalog where the procedure resides.

C. Schema D. Procedure name. E. Select procedure F. Maximum rows. G. One way. 10) What are all the databases that ADB support? Answer: In adapter Instance configuration tab, we have menu called Vendor. It contains the DBs supported by ADB.Example Oracle, Sql Server, and DB2 etc. 11) If introspecting table and updating table is same then how can you avoid publishing of data after doing some modifications? Answer: We have to check the checkbox Enable loop detection publisher options tab. If loop detection is enabled, the following column is added to the source table ADB_SOURCE, T-indicates the row is not to be published, NULL indicates the row can published. 12) ADB_L_DELIVERY_STATUS (MY QUESTION) Answer: P-indicates pending Acknowledgement. N-indicates that new message has arrived, but has not yet been published in the publication table. C-indicates completed publishing. F-indicates failed publishing. 13) ADB_OPCODE (MY QUESTION) Answer: Operation codes used by ADB, 1-indicates INSERT 2-indicates UPDATE 3-indicates DELETE 4-indicates UPDATE if row exists, otherwise INSERT. BW 1) What is the Difference between 2.x and 5.x for those who worked on both 2) What is a BW process phases?(MY QUESTION) Answer: 1.Analysis (Define and analyze problem).CLEAR UNDERSTANDING OF REQUIREMENTS a. define and delimit the problem. b. identify process. c. identify components. d. describe business events and objects. e. design business process. f. consider domain setup. 2. Domain Setup (Install software and configure domain).HARDWARE AND SOFTWARE REQUIRMENTS SOTHAT TROUBLE FREE TRANSITION FROM DESIGN, DEPLOYMENT AND ADMINISTRATION 3. Service Configuration (Configure Adapters). ---Web services interacting with internet and adapter services interaction with files, DBS and ERP applications

a. Installing the adapters. b. Setting up design time adapters. c. Configuring the run-time adapters. d. Accessing the adapter service from process. 4. Process Design (Implement & test business process).Using TIBCO designer GUI we create our business process using predefined activities and add conditions and mapping as appropriate. 5. Deployement (Deploy to run time engine).After testing it in development environment it is deployed in the test environment. After TIBCO admin GUI is used to deploy the ear files (which are created by TIB Disgner) 6. Production (Manage & Monitor deployment) 3) What are different types of groups?(MY QUESTION) Answer: 1.Transaction groups 2. Variable groups-Use global variable groups to allow multiple developers to work on global variables simultaneously. Each group has its own file in multi-file project. 4) What are the components of process definition?(MY QUESTION) Answer: 1.Activities 2.transactions 3.Groups 4.Shared Configuration Resources 5. Sub process 5) What is a pallet?(MY QUESTION) Answer: Pallet is a resource, which organizes activities of same domain. It allows us to add activities to our project when we select it. 6) What are all the pallets you have used?(MY QUESTION) Answer: 1.Parse Pallet. 2. JMS pallet. 3. RV pallet. 4. General Activity Pallet. 5. XML Activity pallet. 6. File pallet. 7. JDBC pallet. 8. Soap pallet. 9. Http pallet. 7) What are the various messaging options available in TIBCO BW? Answer: 1. RV Messaging. 2. EMS Messaging. 3. Smart Sockets. 8) How is Conditional branching possible in Tibco Business Works what are the various options available? Answer: 1.If...Else otherwise ---transition success with condition and other condition. 2. Surround with values. 3. 9) Linked to Q 3 above how will you accomplish if ...Else otherwise logic using

BW. Answer: transition success with condition and other condition. 10) What are Process and Global variables? Answers: process variables are those which are local variables of a process. Out of process these variables disappears. Global variables are can be accessed in any process with in the project, these are just like application properties file in java. URLs, username and password of external servers are saved as global variables. 11) Can Process variables be changed at run time? Answer: yes. 12) How will I change the Global Variables in the Production Env, once it is deployed? Answer: Tibco administrator has the privileges to change the global variables in the production environment but these values are going to effect only when restart the engine. 13) How is Error Handling done in BW, how can the try.catch block be implemented in Tibco? Answer: 1.By taking transition with condition type error 2. Generate error activity from General activity pallet. 3. Use group to create a set of activities that have a common error transition. This behaves as try catch block .This allows us to have a set of activities with only one error handling transition, instead of trying to catch errors on each activity. 14) What is the difference between DTDs and XSDs? Answer : DTD(Data type definition): it is old version of specification of xml.It do not validate the data types of xml content and sequence of elements and do not have specific rules as like XSD (xml specification definition).XSD validates the data types and as well as parent elements, no of child elements ,sequence of elements and repeating elements. 15) Why would you use the checkpoint activity? Answer: When detecting duplicating messages, it is important to place the Check point activity before any activities that we do not want to execute more than once. The state of the variables (input massage) is saved in the check point. 16) How does wait and Notify activity work in Tibco Business works? Answer: TIBCO BW provides Wait and Notify activities and the Receive notification process starter to handle inter process communication. A process containing wait activity waits for another process to execute a corresponding Notify activity. It is like wait and run methods in multithreading of java. 17) What is the difference between Copy of and For Each in Tibco Business Works? Answer: Copy of: It is an XSLT statement to create a copy of selected node, including child nodes .Both the copied node and destination node must have the same name and structure.

For- Each: Performs the specified statements once for each time in the selected node. This is use full if we wish to process each item of a repeating element once. 18) Consider that I have huge file to be read, can I use read file activity? How can I improve the performance, I need to select 10 records at a time, how is it possible. 19) How do you create an EAR file and deploy it. What does an EAR file contain? 20) What is an activity?(MY QUESTION) Answer: 1. Activities are individual units of work in a process definition. 2. Activities are generally operations that interface to external systems. 3. Activities are communicated with in process. 21) What is the difference between AE schema and the properties file? 22) How will you debug the BW processes? Answer: 1.Write to log activity from general activity pallets. 2.using break point after every activity and logging inputs and outputs of an activity ,checking all these are properly mapped or not. MY Questions 23) What are various activities in soap pallet? Answer: 1.Retrieve Resource. This activity is on soap client, when the client needs WSDL file we need to configure this activity. This makes WSDL file available to the client. 2. Soap Event Source. It is process starter on the server side. It receives the request from soap client. It creates the process instance for the incoming soap request. 3. Soap request-reply. This activity performs a request on the specified web service and optionally expects a reply from the web service. 4. Soap Send Fault. This activity sends a soap fault /error to the client if an error occurs during processing of a soap request. 5. Soap Send reply. This is sending reply to client. 24) What are various activities in JMS pallet? Answer: Queue: 1.Queue receiver .receives the request. Process starter on server side. 2. Queue sender. It is also a type requester but it does not expect any reply from the server. It also acts as Queue requester. 3. Queue requester. Sends request to the queue and expects the response .It is used in combination with the reply to JMS message. Topic: 1.Topic subscriber. It is process starter on server side .It creates process instance for the request on receiving a request. 2. Topic publisher. It acts as requester but does not expect any response kind from server. 3. Topic requester. It sends request to the server and it expects a response form the subscriber. It is used in combination with the Reply to JMS message. 25) What are the various activities in the RV pallet? Answer: 1.Publish RV message. publishes message on subject to the RV subscriber. 2. RV subscriber. It listens the messages on a subject and creates process instance on the 3. RV Transport.

4. Reply to RV request. 5. Send RV request. RV/JMS 1) What is the different types quality of services RV available? Reliable Certified Distributed Queue Difference between reliable and certified. Answer: 1.In case of reliable there is no guarantee of delivery of msg but in case certified, guarantee of msg delivery. 2. The msg is saved for 60 sec only on publishing side but in case of certified the msg is saved until it get acknowledgement from scriber. 3. The msg is saved in daemon (temporarily) but in case of certified there is a concept of ledger files. 4. Reliable is best in case of broadcasting mode and certified is best in case of multicast and point to point. What for Distributed Queues are used? Answer: It is the concept of load balancing on subscriber side. It is implemented when there is a huge rate of data transfer. What is Persistent/Non-Persistent in JMS? Answer: messages are made persistent or non persistent .The messages are saved in persistent store in case persistent, if ems server is down there is no loss of messages in destination. The subscribers or receivers get messages after ems server is up. But in case of non persistent, once the server is down means the messages are lost. What is durable /Non-Durable in JMS? Answer: subscribers are configured as durable or non Durable. The durable messages will get msg when they are up i.e. we are forcibly make topic subscribers as asynchronous by making them durable subscribers. Non durable subscribers should always in active mode in order to get messages. Which one is having more security RV or JMS? Answer: JMS is more secured because it is server based. What is Network, Service and, Demon Parameter? Answer: Daemon: It is not specified if RVD is running on the same system. If RVD is running on remote system it is specified. It contains hostname followed by socket number. Network: This field contains network (hostname, IP address and network name). It contains 3 parts, separated by semicolons network, multicast groups, and send address. Multicast groups it is an IP ADDRESS separated by commas, these are the listeners in the network group. Service: It is a port number or service name. Is it possible to change the Service parameter?

Answer: If we specify the service parameter the data is diverted to that port. Which protocol does RV use for Reliable Messaging Answer: UDP How do you detect if RV or JMS Server is down using administrator? How Point-to-Point is accomplished using the Rendezvous Palette? How are Distributed Queues configured in Tibco BusinessWorks? What are the different kinds of Ledger files? Answer: 1.File based ledger: This ledger file is generated when we are specifying the name. Even the process terminates, transport is destroyed the ledger resides in the disk. 2. Process based ledger: If we are not specifying any name i.e. NULL, it is considered as process base ledger. If process terminates, transport is destroyed the ledger will lost and it can not be used for new transport. What is the difference between a topic and queue? Answer: Topic-synchronous mode of communication. -publisher and subscriber model. -broad cast type messaging. -there is no guarantee of delivery. Queue-asynchronous mode of communication. -point to point model. -unidirectional type of messaging. -there is guarantee of delivery. When will u use a topic and when will u use a queue? Answer: 1.only one producer and only one consumer is there then Queues are used. Simply Queue is of type Point to Point. One or more than one publishers and one or more than one subscriber is there than Topic. Simply Topic is of type Broadcast messaging. Can queues be shared between two consumers? Answer: Yes. If queue is non-exclusive (default) it can be shared by any number of consumers. Non-exclusive queues are useful for balancing the load of incoming messages across multiple receivers. What is an exclusive queue? When would u use it? Answer: If queue is exclusive, then all queue messages can only be retrieved by the first consumer specified for the queue. Exclusive queues are useful when we want only one application to receive messages for a specific queue. A message in a queue can be consumed by how many consumers? Answer: if all are non-exclusive queue any number of consumers will receive messages. If exclusive queue, the first consumer will get messages. How will you grant privileges to topics and queues? Answer: Only EMS admin have privilege What are the protocols supported by JMS/EMS? Answer: 1.SSL (HTTP) 2. TCP

Java 1) What are the various activities available? 2) What is Java method, Java function activity? 3) Java to XML , XML to Java activity 4) For any java methods to be used in BW, what are the conventions to be followed (what should the declaration of the method be) ADMIN 1) What is fault tolerance? 2) How do you configure FT? 3) What is Load Balancing? How do you incorporate this using TIBCO? 4) What are the diff types of Load Balancing? What is the difference? 5) In a Fault Tolerant scenario, how will a secondary know Primary is down, and how many Machines can be configured for Secondary servers. 6) What are the various kinds of relationships that can be configured between Master and Secondary? 7) What are Rule bases? How do you configure rule bases? What are the various actions that can be taken? 8) What is a domain, how will we create it, why do you create it, is it necessary? 9) How do you change the RV parameters for a domain? 10) What are the various tabs that appear on uploading an EAR file? 11) Can you create EAR file using Scripts, and also deploy using Scripts, if so what are all the commands. 12) How would you add a machine in the Domain, using what utility? 13) Can a machine be part of Two Domains, if so how? Adapters/SM 1) How is Dynamic Overriding possible in 5.x is it possible from admin console. 1) U can ask Gen Qs as to how was the adapter configured , the various msg format conversions , error handling of adapters 2) How was the data published? Transformation rules etc etc 3) How do you configure the designtime adapter and the Run-time adapter? 4) How does Publish-subscribe and Request-Reply mechanism work in adapters. 5) How you monitor simple Hawk console in administrator, what do I need to change in the TRA entries so that I see the hawk screen in the administrator. 6) What are the different kinds of Ledger files 7) What is SmartMapper, how will you do Cross-referencing. How will you use Lookup methodwhat are the Parameters that should be specified. XPATH 1) What are the different conditional statements available? 2) What are the different functions/operators available String, Date/Time, number, Logical etc etc.

City Bank Singapore 1) What is Target Name Space while defining XSD? Answer: 1.It follows the URL syntax. 2. It must be unique for every wsdl file. 2) What are BW Templates? Answer: Project Template is a pre-built project. It can contain folders for organization, configured resources and partially configured resources .We can use these templates as foundation for other projects similar in nature. Using a template we can leverage our work when performing similar work. We can customize these templates to use in new project. It make the process fast. 3) What is the Soap version you have used? 4) What is critical situation you have faced while mapping? 5) What is the difference between AE Schema and RV message? 6) How we can change Global variables after deployment and design time? 7) What is namespace in relation with XSD? IBM Rahul 1) What is an event object? 2) What are event-queues? 3) What are inbox-names? Answer: Transport objects can create inbox names, designating a destination that is unique to that transport object and its process. Rendezvous software uses point-topoint techniques to deliver messages with inbox subject names. One common use of inbox names is as reply subject names in request/reply interactions 4) What are the wire formats supported by file adapter? OSI-HYD 1) How we can implement DQ with ADB adapter? 2) How many Child tables can be added to a Parent table? 3) How you deploy application with Administrator? 4) What is TIBCO designer? Answer: TIBCO Designer is a graphical user interface for designing and creating integration project configurations.TIBCO designer allows us to drag and drop components into a project and build an EAR for the project. 5) What are all the protocols used in RV? 6) What is TRDP? 7) What is the difference between RVD and RVRD? 8) What is mapper activity? Answer: A Mapper activity adds new process variable to the process definition. This variable can be simple data type, a TIBCO AE Schema, an XML-schema or complex

structure. It is usually used with data format. 9) What is Direct Communication? Answer: A direct communication is a scenario, communication without RVDS on both sides of applications. 10) What is loop detection in case of ADB? 11) How many ways we can create ear file? Answer: 1.We can create EAR file through the Designer. In general pallet of designer we have Enterprise archive icon before this we have select a folder then only we can get the general pallet of designer. And give the required information in the configuration tab and click the build archive. 2.Through Adapter resource pallet of designer we can create the Adapter Archive (aar)file. 12) How the scheduler is created in RVDQ? Answer: The scheduler is decided basing on different parameters, 1. Scheduler weight. The group members with higher weight become the scheduler when services are started. 2. Heart beat interval. 3. Schedular Activation Interval. 13) What are designer pallets? Answer: 1.General pallet. 2. XML-tools pallet. 3. Adapter resource pallet. 4. Adapter schema pallet. 5. Repository pallet. 14) How do test the performance of the ADB adapter? Answer: Performance of ADB adapter depends on 1. Polling Mechanism. In Adapter services tab we have fields use polling batch size , Poling Interval and Polling batch size. If use polling batch size is not checked i.e. not activated, the adapter is going to pick all the new rows and publishes .This could effect the adapter performance. If this field is checked Polling batch size field is activated, only that number of records is picked up by adapter per polling interval. So performance of adapter is improved. Polling interval is the field specified in milliseconds. The default is 5000.This is the time interval often checked by the adapter publishing service into the table for new records. If the Polling interval is set to 0 (zero), it is assumed that we are using alerter to manage the polling. 2. Messaging groups. Dubai-raja & Chandra Bose 1) What is spanning while using call process activity? Answer: If this option is checked the parent process cannot access the sub process output. The called process (sub process) executed as separate process instance.

2) What is pick first groups while working with groups? Answer: Pick first groups allow process execution to wait for one or more events. The first event that completes determines which transition to take to continue processing. Only request/reply, wait for activities and the activities that have the pause symbol can have valid transitions from the start of the pick first group. 3) What is dynamically determining the process to call? Answer: Here we can call a sub process basing on a condition like if else. If some condition is true executes one process else other process. The condition is an Xpath expression. Here in this case dynamically determined which sub process to be basing on request condition. 4) What is the critical section of a group activity? Answer: 1.critical section groups are used to synchronize the process instances so that only one process instance executes the grouped activities at any given time. All other process instances will be in waiting until the currently executing process instance completes critical section group. 2. Critical section groups are particularly useful for controlling concurrent access to shared variables. 3. Synchronization can be done for 1.single process definition for single process engine.2.multiple process definition for multiple process engines. 4. We have select single group/multiple groups from SCOPE field.

nday, January 27, 2008


BW Palette
1 BW Palette 1) JRE requirement while installing BW BW doesnt require JRE Pre-installed JRE needs to be uninstalled Can use pre-installed JRE or installation uses its own JRE 2) Which mode of BW installation asks for user inputs GUI Console Silent 3) Different Wire formats available in BW rvae, rv, rvxml, emsxml. 4) Which are the required parameters for configuring the FTP connection to access the FTP server outside the firewall. User Name & Password for FTP server Proxy settings of Local Firewall Proxy settings of Remote Firewall 5) Connections to FTP server are lost frequently while executing FTP GET, How can we handle this situation.

Place the FTP GET activity inside a subprocess and make call to the subprocess from a Repeat on Error-Until True Loop. Place FTP GET activity inside a Repeat on Error-Until True Loop. 6) What is the way by which we can modify values of Process variables Assign activity Mapper Process variables are constants. 7) What is the procedure to call a subprocess (order) 8) What is true about call subprocess (spawn) Spawned process will return the output to the calling process Spawned process will use same thread as the main process Caller process cannot access the o/p of Spawned process and spawned process uses separate thread from the main process 9) How many error transitions are possible from any activity None or at the most one for all the exceptions As many as we want One for each type of exception 10) What are the two types of inputs available for all BW process definitions $start $error Global variables Process variables 11) Which activity is used to write the output of any or all activities and process variables to a file and/or stdout. Inspector activity 12) Which activity is used to write description in a BW process definition. 13) Which activity is used to make color background of a BW process definition label 14) What is the XML standard used in XPATH in BW. 15) Which one of these is a starter activity Timer 16) What is the minimum configuration required to configure HTTP connection (any 1) Port Hostname 17) What is the way by which we can ensure that HTTP receiver and Send HTTP Response will use the same connection Select Name of the HTTP Receiver activity from the Reply for Drop down box. Specify same HTTP Connection shared configuration while configuring Send HTTP Response 18) What is true for HTTPS Secure Connection Slow initialization. 19) What is the XPATH function used for Current Date Current-Date Today

TimeStamp 20) If a certain functionality is not available in XPATH how to achieve it using XPATH Write Java Custom Function 21) What is true about java Custom schema(3) It is used in JAVA-XML and XML-JAVA activities Only the public data members of the Java class are mapped to XML elements Access modifiers of Java beans are converted to XML elements 22) What is true about JAVA-XML activity Public variables are converted to XML elements Access modifiers of Java beans are converted to XML elements 22) Match the pairs for shared configuration resources and their uses HTTP Connection FTP connection WSDL JDBC Connection 23) What is true about max connections in JDBC.(any 2) The connections share a Pool Can change multiple connections at runtime in a pool Once the maximum connections are reached the JDBC activity is blocked Max connections cannot be set beyond the BW license. 24) A Mapper activity is placed after JDBC, Mapper has a choice field.value of which is set according to the output of JDBC. (0 records return, more than zero no of records return and exception thrown) what is the sequence in which you can check the conditions. Check for 0 records, check for more than 0 records default is exception Check for exception, check for 0 records and default is more than 0 records 25) Recognize the JMS activity JMS Queue Receiver Reply for JMS 26) Limitation of JMS Queue Only one subscriber can receive the data. 27) What are the security features that BW provides SSL User name/password Kerberos Identity 28) Corporate campus has multiple producers and multiple subscribers, all the messages will be stored on a RAID system, and the messaging should be highly reliable. What configuration will u suggest. Persistent delivery with durable subscribers using topics Persistent delivery with durable subscribers using queue RV Reliable RV Certified messaging 29) Which is the palette used in Send and Receive mail palette.

POP3 and SMTP 30) Which shared configuration activity is used to create the schema for assign work activity Workflow schema 31) What are the configuration required for Data Format shared configuration Line separator. Format type. Offset. Column separator. 32) Which activity is used to convert the data in a CSV file to Data structures. Parse Data 33) What are the shared configurations required for SOAP Event Source (any 2) HTTP Connection(choice with JMS Connection) WSDL(must) JMS Connection(choice with HTTP Connection) Port Operation 34) Which activity is used to retrieve concrete service description in WSDL? Retrieve resources 35) Two groups are having JDBC activities, u want to perform the transaction function on these JDBC activities, how will u achieve it. Set outer group as Transaction group and inner group as repeating loop 36) Which activity can be used after read from file , from XML palette Parse XML 37) In which folder are the user preferences and console logs are stored .TIBCO folder of users home directory 38) What are the different protocols that can be used to communicate with TIBCO administrator JMS RV HTTP HTTPS 39) How can we add a host machine to tibco administrator. Using admin GUI Using Domain utility 40) How can we set the alerts (any 2) Using Administrator Using Hawk agent Using hawk tool 41) What all things can be monitored from admin GUI CPU Usage Active processes subprocesses 42) What is disadvantage of having two domains on a single machine.

Single point of failure Complicates domain backup activity Complicates domain management 43) What is the deployment procedure Select services to be used in the ear Create EAR Upload EAR Decide machine on which services to be used Deploy 44) What care should be taken while moving from TEST environment to PROD environment. Test and Prod servers on single machine Test and Prod servers on different machines Subject and messaging conventions should be different. 45) Different privileges available in Administrator (any 4) Read Write Execute Administer delete 46) What is true about having a secondary administrator Cannot perform User management and Deployment from Secondary administrator other activities using write privileges. 47) There is a process shown with nested groups. The inside JDBC activity is used to update line items and all must be updated or none. Outside group should be transaction and inside should be iterate. 48) two domains are set up on one subnet what needs to be different bw domain names bw project names xml namespace rv subject jms destination

49) which are the reusable resources http configuration timer jdbc connection wsdl 50) One of the two processes needs to be called dynamically at runtime. Which method of the following would give best performance using conditions in transactions using the dynamic calling in call process have the processes in sequence

51) what parameters for monitoring can you set through administrator gui high/low/medium level first occurrence/all occurrences message event type

52) what can you do through administrator gui user management domain management deployment management process management view alerts 53) Which activity is used to write comments in a BW process definition? Answer: on transition Label field is used for comments. 54) What a domain utility can do. Deploy the host admin Add m/cs 55) In project involves multiple secure subnets with insecure interconnections what is the best transport. Only jms with ssl Only rv with ssl Tick ssl wherever in the designer Only rv Encryption for insecure connections 56) To work in a team building environment u should 57) What u can do in admin Active process Manage sub process 58) which is the starter process timer --subscriber receiver read file 59) match http webservers ftp --- upload a file jdbc --- database update identity security 60) external xsd : import the xsld 61) setting admin for test and prod env best practices test and prod on the same m/c test and prod on the different m/c

62) required fields in configuration tab of generic adapter subscriber adapter info reply for sessions transport 62)what is true abt error until true loop do (any 2) index key is stores the no. of repetitions on error, starting from 1 re-excution on error & returns false 63)mapper activity --- creates a process variable for a process 64)breakpts can be set b4 activity inb/w transaction after activity 65)which is jms message type(2) text map 66)what can be done to avoid schema conflict in a project use auto resolver project validator bw conflict manager repository conflict manager

FILE ACTIVITY'S

Here r the diffrent palettes in FILE ACTIVITY'S 1)file poller

the file poller is one which will start the process when ever there is a change in the file 2)read file the read file is one which is used to read a file example:here is a file name k.txt in C:\ we wan read that one we will use this read file palette 3)write file the write file is to write some thing on a file it will write on new file or else it we re write on a existing file to do that we have to click on the opption append . we can write text and binary 4)create file to creat a new file we didnt have any append optoin here we can creat only once if we wan second time we have to use write file 5)list file this gives the list of the files in the particular folder 6)remove file to remove a file we will use this 7)rename file rename a file we will use this 8) wait for a change in file this we be used in between the process it will wait until there is any change in the project

ADAPTERS FEATURES
Adapter Features Companies in a wide range of industries have successfully used TIBCO adapters to integrate different packages and custom applications. TIBCO BusinessWorks includes second-generation adapters that are based on the same technology but have the following new features: Easy Configuration With Design-Time AdapterAll adapters included with TIBCO BusinessWorks use a unified GUI that simplifies adapter configuration. A Design-Time Adapter allows you to directly access the source application from the TIBCO Designer GUI and specify the data the business process needs. Easy Inclusion in Business ProcessesThe business process can communicate with adapters by using activities found in the adapter palette. These activities interact with each of the standard adapter services. For example, the Publish to Adapter activity sends a message to an adapter

subscription service. Easy Deployment and MonitoringWhen you are ready to deploy your project, the TIBCO Designer deployment palette allows you to assign each adapter to its own machine. At run-time, the TIBCO Administrator GUI monitors each adapter in its own panel. You can therefore easily see if one of the adapters is a bottleneck in the business process flow.

What are Adapters?


Adapters Business information is distributed among different business applications (such as SAP R/3 or PeopleSoft) or available from databases or files. Adapters help make this information available to the business process by "adapting" the applications to a common messaging system. What are Adapters? Adapters translate information into the appropriate format: Adapters receive information from a source application and publish it to the business process in a shared format. Adapters subscribe to information from a business process and translate it to a format the target application can understand. Adapters can also be set up to work in a client/server mode (using remote operations.) The illustration below shows how a Siebel customer service system communicates with the business process using an adapter publication service and the business process communicates with the PeopleSoft Order Management system using an adapter subscription service.

explain how to create adapters?how to connect adapters and how to build?-the run time connection first u have have to give dsn name at tht project level go to schemas ---->active data base adapter config---> u will get two floders---->adapter services & advancedselect adapter services:- u will get adapter services such as publication service,subscription service,req res service.then drag publication service--->u will get ADB pub in desigened panelconfig:-transport type----->rvqos----->reliablewireformat-------> Ae message

Difference between Topic and Queue?


topic is nothing but hub and spoke communication (publish-subscribe type) queue is point to point communication

what is tibco and where to we use tibco


TIBCO IS A EAI->ENTERPRISE APPLICATION INTEGRATIONEAI as a solution for unifying applications and systems across the enterprise a complete and unbiased survey of the different technologies, architectures, and approaches available for EAI implementations, including pros and cons, clear TIBCO -> THE INFORMATON BUS tibco is used forto integrate application system this is ->BUSINESS WORK,we will integrate databace useing adapters BUSINESS WORKS 1)JMS 2)XML&PL/SQL 3)RV 4)DATABASE OPERATION TIBCO IS BASED ON LOAD BALANCING CONCEPT EXCEPT TIBCO ALL OUTHER EAI TOOL ARE CLIENT/SERVER SYSTEMS while integration the tibco is used b/w two interfaces succh as sap/r3,and peoplesoft,mainframes ...etc this integration is done useing adapters

For storing persistent messages how many files TIBCO EMS


For Storing Persistant message, u have to select sending type is "Persistant".Even though u are sending a persistant msg, there is no guarrante to deliver until unless u have to select one permission check box in the configuration.

what is difference between the SOAP over JMS and SOAP over HTTP?
Consider using SOAP over HTTP for: Externally facing web services (e.g. customers or suppliers) For simple point-to-point and stateless services Where you need a thin client with no MOM installations Consider using SOAP over JMS for: High-volume distributed messaging Asynchronous messaging Where a transaction boundary is needed in the middleware Where the message consumers are slower than the producers Guaranteed deliver and/or only once delivery of messages Publish/subscribe Distributed peer systems that might at times be disconnected

Posted by Thirumal at 2:52 AM

what are different variables available in TIBCO Business Works?

There are three different types of variables available in BusinessWorks. they are 1. Global Variable: which are used all over the project 2. Process Variable: which are used in a particular process definition. 3. Shared Variable: which are used to share the value across multiple process or multiple process instances.

what is Service?
Service is a collection of commonly used functionality!! Its a package for consistent re-use. Other way eliminating duplicate components/functions/systems from enterprise. Building one common service, which can be re-used many applications with in enterprise and also out side enterprise. A service is a reusable unit of functionality which standardized the interfaces Example: place Order, Update Order, Order Status, Address validation... There are 3 types of services: 1. On-demand: Service waits for the requester to invoke an interface and then initiates the requested action. Ex: Place an order. 2. Event-Driven: Upon receipt on event, service wills performs required function. 3. Continues: Service runs on its own without formal invocation either periodically or continuously. Ex: Process monitoring Service. Posted by Thirumal at 12:16 AM

TIBCO Enterprise Message Service Interview Questions


1. What are the messaging models does EMS support? a. Point-to-Point (Queue) b. Publish and Subscribe (Topic) c. Multicast (Topic) 2. What are the limitations of the Durable Subscriber? As long as the durable subscriber exists Expiration time of the message Storage limit of that Topic 3. What is the difference between "Multicasting" and "publish and subscribe" messaging model? 4. What are the EMS Destination features? Secure Property Trace Property Store Property Redelivery policy Flow control Exclusive property for queues 5. What are the extra features are available in EMS apart from JMS? The JMS standard specifies two delivery modes for messages, PERSISTENT and NON_PERSISTENT. EMS also includes a RELIABLE_DELIVERY mode that eliminates some of the overhead associated with the other delivery modes. For consumer sessions, you can specify a NO_ACKNOWLEDGE mode so that consumers do not need to acknowledge receipt of messages, if desired. EMS also provides an EXPLICIT_CLIENT_ACKNOWLEDGE and EXPLICIT_CLIENT_DUPS_OK_ACKNOWLEDGE mode that restricts the acknowledgement

to single messages EMS extends the MapMessage and StreamMessage body types. These extensions allow EMS to exchange messages with TIBCO Rendezvous and ActiveEnterprise formats that have certain features not available within the JMS MapMessage and StreamMessage 6. What is structure of JMS Message? Header(Required) Properties(optional) Body(optional) 7. Where does the undelivered messages will be stored? If a message expires or has exceeded the value specified by the maxRedelivery property on a queue, the server checks the messages JMS_TIBCO_PRESERVE_UNDELIVERED property. If JMS_TIBCO_PRESERVE_UNDELIVERED is set to true, the server moves the message to the undelivered message queue, $sys.undelivered. This undelivered message queue is a system queue that is always present and cannot be deleted. If JMS_TIBCO_PRESERVE_UNDELIVERED is set to false, the message will be deleted by the server You can only set the undelivered property on individual messages, there is no way to set the undelivered message queue as an option at the per-topic or per-queue level 8. What are the messages bodies are supported by the EMS? Map Message Text Message Stream Message Bytes Message Object Message 9. What is the Maximum message size is supported by EMS? EMS supports messages up to a maximum size of 512MB. However, we recommend that application programs use smaller messages, since messages approaching this maximum size will strain the performance limits of most current hardware and operating system platforms 10. What are the different delivery modes available in EMS? Persistent When a producer sends a PERSISTENT message, the producer must wait for the server to reply with a confirmation. The message is persisted on disk by the server. This delivery mode ensures delivery of messages to the destination on the server in almost all circumstances. However, the cost is that this delivery mode incurs two-way network traffic for each message or committed transaction of a group of messages Non-Persistent Sending a NON_PERSISTENT message omits the overhead of persisting the message on disk to improve performance. If authorization is disabled on the server, the server does not send a confirmation to the message producer. If authorization is enabled on the server, the default condition is for the producer to wait for the server to reply with a confirmation in the same manner as when using PERSISTENT mode. Regardless of whether authorization is enabled or disabled, you can use the npsend_check_mode parameter in the tibemsd.conf file to specify the conditions under which the server is to send confirmation of NON_PERSISTENT messages to the producer

Reliable EMS extends the JMS delivery modes to include reliable delivery. Sending a RELIABLE_DELIVERY message omits the server confirmation to improve performance regardless of the authorization setting. When using RELIABLE_DELIVERY mode, the server never sends the producer a receipt confirmation or access denial and the producer does not wait for it. Reliable mode decreases the volume of message traffic, allowing higher message rates, which is useful for messages containing time-dependent data, such as stock price quotations. 11. If a persistent message is published on to a TOPIC, Does these messages will store on disk if topic doesnt have durable subscriber or subscriber with a fault-tolerant connection? No. Persistent messages published to a topic are written to disk only if that topic has at least one durable subscriber or one subscriber with a fault-tolerant connection to the EMS server. In the absence of a durable subscriber or subscriber with a fault-tolerant connection, there are no subscribers that need messages resent in the event of a server failure. In this case, the server does not needlessly save persistent messages. This improves performance by eliminating the unnecessary disk I/O to persist the messages 12. What are the different types of acknowledgement modes in EMS message delivery? Auto Client Dups_ok No_ack Explciit Explicit_client_dups_ok Transitional Local transitional. 13. What are the different types of messages that can be used in EMS Text Simple Bytes Map XML test Object Object ref Stream 14. 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 in that scenario. create bridge source=type:dest_name target=type:dest_name [selector=selector] 15. What is the purpose for stores.conf This file defines the locations either store files or a database, where the EMS server will store messages or metadata. Each store configured is either a file-based or a database store. 16. How many modes are the messages written to store file. Two Modes: Synchronous and Asynchronous

Default is asynchronous 17. What is tibemsd.conf It is the main configuration file that controls the characteristics of the EMS server 18. Name destination properties and explain them. Global, secure, maxmsgs, maxbytes, flowcontrol, sender_name, sender_name_enforced, trace,maxRedelivery 19. What are the different modes of installation in Ems? GUI mode Console mode Silent mode 20. What are the messaging models supported by JMS Point-to-point Publish-subscribe Multicast 21. What is the use of routes? What kind of destinations can be used in routes? Topics and queues m-hops 22. What happens if the message expires/exceeded the value specified by maxredelivery property on queue? If the jms_preserve_undelivered property is set to true, then it moves he message to undelivered message queue, if set to false, the message is deleted by the server. 23. In how many ways can a destination be created? Static-created by server Dynamic-created by client Temporary destinations. 24. What are the wild cards that we use in ems? how do they work for queues and topics *,> you can subscribe to wildcard topics but cant publish to them. Where as in case of queues we cant either send /receive. 25. Is bridges are transitive? NO 26. Tell me about flow control on destinations Some times the producer may send messages faster than the consumers can receive them. So, the message capacity on the server will be exhausted. So we use flow control. Flow control can be specified on destinations. 27. Tell me about flow control on bridges and routes Flow control has to be specified on both sides of bridges where as on routes it operates differently on sender side and receiver side. 28. Name 3 configuration files and tell me what it consists of Queues.conf Topics.conf Routes.conf Factories.conf Stores.conf Groups.conf,users.conf,transports.conf 29. Name some administrative level destination properties

View Create Delete Modify Purge 30. How can you change the configuration properties of EMS server? You can change in the tibemsd.conf file or you can change using the ems admin console. 31. What are the permissions that you can grant to users to access queues Receive Send Browse 32. What are the permissions that you can grant to users to access topics Subscribe Publish Durable Use_durable 33. Tell me about multicasting in EMS Multicast is a messaging model that broadcasts messages to many consumers at once rather than sending messages individually to each consumer. EMS uses Pragmatic general multicast to broadcast messages published to multicast enabled topics. Each multicast enabled topic is associated with a channel. 34. What are the advantages and disadvantages of multicasting? Advantages: as the message broadcasts only once thereby reducing the amount of bandwidth used in publish and subscribe model. Reduces the network traffic. Disadvantages: Offers only last-hop delivery. So cant be used to send messages between servers. 35. On what destinations can you use multicast? Topics 36. Suppose, you got an error while accessing a queue, that you dont have necessary permissions to access the queue. What might be the solution/reason? The user that is assigned to the queue and the user used while creating 37. How does the secondary server know that the primary server is failed? Based on heartbeat intervals 38. 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 39. What is JMS topic requestor? The JMS Topic Requestor activity is used to communicate with a JMS applications requestresponse 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. 40. How do you add ems server to administrator? Using domain utility 41. How do you remove individual messages from destinations? Use Puge Command. 42. What are the messaging models does EMS support? Point-to-Point (Queue)

Publish and Subscribe (Topic) Multicast (Topic) 43. What are the limitations of the Durable Subscriber? As long as the durable subscriber exists Expiration time of the message Storage limit of that Topic 44. What is the difference between "Multicasting" and "publish and subscribe" messaging model? 45. What are the EMS Destination features? Secure Property Trace Property Store Property Redelivery policy Flow control Exclusive property for queues 46. What are the extra features are available in EMS apart from JMS? The JMS standard specifies two delivery modes for messages, PERSISTENT and NON_PERSISTENT. EMS also includes a RELIABLE_DELIVERY mode that eliminates some of the overhead associated with the other delivery modes. For consumer sessions, you can specify a NO_ACKNOWLEDGE mode so that consumers do not need to acknowledge receipt of messages, if desired. EMS also provides an EXPLICIT_CLIENT_ACKNOWLEDGE and EXPLICIT_CLIENT_DUPS_OK_ACKNOWLEDGE mode that restricts the acknowledgement to single messages EMS extends the MapMessage and StreamMessage body types. These extensions allow EMS to exchange messages with TIBCO Rendezvous and ActiveEnterprise formats that have certain features not available within the JMS MapMessage and StreamMessage 47. What is structure of JMS Message? Header(Required) Properties(optional) Body(optional) 48. Where does the undelivered messages will be stored? If a message expires or has exceeded the value specified by the maxRedelivery property on a queue, the server checks the messages JMS_TIBCO_PRESERVE_UNDELIVERED property. If JMS_TIBCO_PRESERVE_UNDELIVERED is set to true, the server moves the message to the undelivered message queue, $sys.undelivered. This undelivered message queue is a system queue that is always present and cannot be deleted. If JMS_TIBCO_PRESERVE_UNDELIVERED is set to false, the message will be deleted by the server You can only set the undelivered property on individual messages, there is no way to set the undelivered message queue as an option at the per-topic or per-queue level 49. What is the Maximum message size is supported by EMS? EMS supports messages up to a maximum size of 512MB. However, we recommend that application programs use smaller messages, since messages approaching this maximum size will strain the performance limits of most current hardware and operating system platforms 50. What are the different delivery modes available in EMS?

Persistent when a producer sends a PERSISTENT message, the producer must wait for the server to reply with a confirmation. The message is persisted on disk by the server. This delivery mode ensures delivery of messages to the destination on the server in almost all circumstances. However, the cost is that this delivery mode incurs two-way network traffic for each message or committed transaction of a group of messages Non-Persistent Sending a NON_PERSISTENT message omits the overhead of persisting the message on disk to improve performance. If authorization is disabled on the server, the server does not send a confirmation to the message producer. If authorization is enabled on the server, the default condition is for the producer to wait for the server to reply with a confirmation in the same manner as when using PERSISTENT mode. Regardless of whether authorization is enabled or disabled, you can use the npsend_check_mode parameter in the tibemsd.conf file to specify the conditions under which the server is to send confirmation of NON_PERSISTENT messages to the producer Reliable EMS extends the JMS delivery modes to include reliable delivery. Sending a RELIABLE_DELIVERY message omits the server confirmation to improve performance regardless of the authorization setting. When using RELIABLE_DELIVERY mode, the server never sends the producer a receipt confirmation or access denial and the producer does not wait for it. Reliable mode decreases the volume of message traffic, allowing higher message rates, which is useful for messages containing time-dependent data, such as stock price quotations. 51. If a persistent message is published on to a TOPIC, Does these messages will store on disk if topic doesnt have durable subscriber or subscriber with a fault-tolerant connection? No. Persistent messages published to a topic are written to disk only if that topic has at least one durable subscriber or one subscriber with a fault-tolerant connection to the EMS server. In the absence of a durable subscriber or subscriber with a fault-tolerant connection, there are no subscribers that need messages resent in the event of a server failure. In this case, the server does not needlessly save persistent messages. This improves performance by eliminating the unnecessary disk I/O to persist the messages Posted by Thirumal at 8:35 PM

what is the Difference between Businessworks and BusinessEvent


BusinessEvents BusinessEvents is Stateful, its an eventbased rule engine. BusinessWorks BusinessWorks is a procedural and it is stateless Posted by Thirumal at 10:07 AM

How to find the DateTime Difference from two different Time Zone?
How to find the DateTime Difference from two different Time Zone? You can use this simple below function. tib:compare-dateTime((tib:translate-timezone(current-dateTime(), '+05:30')), tib:translatetimezone($Start/root/InputDateTime, '+05:30'))

Business Events Introduction: TIBCO BusinessEvents allows you to abstract meaningful information from the large amount of data that moves through your distributed enterprise systems and take appropriate action. Users can define business rules on events, systems, services, or a combination of all of these and execute tasks. By detecting complex patterns within the real-time flow of simple events, BusinessEvents can help you to detect and understand unusual activity, recognize trends and advantageous situations, and monitor for specific forms of problematic activity. BusinessEvents delivers this business critical information in real time directly to TIBCO BusinessFactor, TIBCO PortalBuilder, or custom dashboards. BusinessEvents also graphically models your business concepts, scenarios, and rules, allowing you to see both the big picture and the detailed view, predict the needs of your customers, make faster decisions, and take faster action. Major Components in Business Events: The above diagram presents the major components of TIBCO BusinessEvents and how they are inter-related.

TIBCO DesignerDesigntime Activities Many TIBCO products use TIBCO Designer as their design-time interface. TIBCO Designer hosts palettes for many different purposes. It also organizes project resources and makes the organization visible in graphical and folder-based ways. At design time, BusinessEvents makes use of some resources available in TIBCO BusinessWorks, such as the XML mapper. (BusinessWorks, licensed for use during BusinessEvents development only, is bundled with BusinessEvents software.) BusinessEvents Workbench Palette The BusinessEvents Workbench palette integrates with TIBCO Designer and is used at design time. Design time activities performed using the resources in this palette include building an ontologya set of concepts, scorecards and events that represent the objects and activities in your businessand building rules that are triggered when instances of ontology objects that fulfill certain criteria arrive in events. The output of the design-time activities is an enterprise archive (EAR) file, ready to deploy (or configure for deployment as needed). State Modeler The Enterprise Suite of TIBCO BusinessEvents includes a state machine component. It allows you to model states of ontology concept instances and use those states in rules. TIBCO AdministratorDeploy and Runtime Activities TIBCO Administrator provides administrative access to BusinessEvents servers. You can use it to perform deploytime configuration, deploy EAR files, and manage the deployed servers. You can also perform many of these tasks at the command line. BusinessEvents Server (Engine)Runtime Activities At runtime, the BusinessEvents engine processes the incoming events using a Rete network as the inferencing engine, and a set of rules that are triggered by conditions in incoming events. A BusinessEvents server (more commonly referred to as an engine, because it normally does the work of an engine) can be deployed in different modes, to achieve fault tolerance and object management objectives. For example, a server can be used for cache storage only. The major Design Concepts of Business Events are Channels and Destinations Events Concepts and Concept Instance Concept view Scorecard Rules and Rule set

Object management State modeler Query language for querying cached objects 1. Channels and Destinations: Channels (except local channel) represent a physical connection to a resource, such as Rendezvous daemon. Destinations in a channel represent listeners to message from that resource, and they can also send messages to the resource. All destinations in a particular channel must use same server. Channels are three types: TIBCO Rendezvous channels: Connects TIBCO BusinessEvent to TIBCO Rendezvous sources and sinks. JMs Channels: connect TIBCO BusinessEvents to TIBCO Enterprise message service provider sources and sinks Local Channels: Connects multiple rule sessions at runtime. BusinessEvents uses serializers to convert events to messages and a deserializer to convert from message to event. Serializers and deserializers are provided to RV and JMS (Local channels do require serializers). Selecting a JMS Serializer: Message Type BytesMessageSerializer TextMessageSerializer Message Yes Yes ByteMessage Yes No MapMessage Yes Yes TextMessage No Yes StringMessage Not supported Not supported OjectMessage Not supported Not supported

Selecting a RV Serializer:

Basic Serializer: The basic serializer, TibRvMsgSerializer serializer, is for efficient handling of events and messages that do not have payloads. Serializer for event with payload: The TibRvMsgSerializerWithXMLPayload serializer allows you to move XML documents between Rendezvous message _payload_ fields and event payloads.

2. Events: There are three different types of events are present. They are Simple event Time Event Advisory Event 2.1 Simple Events: An event type includes three sets of information: Configuration, which includes a default destination, time to live(expiration period), and an expiry action. A set of Properties A Payload(optional) Inheritance: You can use inheritance to simplify configuration of events. A child event inherits All the parent events properties are inherited to child events. The parent events expiry action (if set). However, an expiry action set in the child event overrides the parent event expiry action. A parent event cant have payload. If two events are related by inheritance, you cant create a new property in one with a name that is already used in the other. If two unrelated events have properties that share a name, you cannot create an inheritance relationship between the two concepts Time To Live (TTL): Time To Live options are as follows: Zero (0): the event expires after the completion of the first RTC cycle. Do not set to 0 if you want to correlate the event with a future event or other future occurrences of this event, as explained below. One or higher (>0): the event expires after the specified time period has elapsed A negative integer (<0): name="3360976">For each simple event definition, BusinessEvents allows you to specify the action(s) to take when that simple event expires, using the BusinessEvents rule language. For example, you can write an action that routes the simple event to a different destination, sends a message, or creates a new simple event. This action can be anything that is possible with the rule language. An expiry action can be inherited from the event's parent. If an event is explicitly consumed in a rule, BusinessEvents does not execute the expiry action.

2.2 Time Event: There are two types of time events. They are 1. Repeating Time Event: You can configure a time event to repeat at a configurable time interval. 2. Rule Based Time Event: A rule based TimeEvent resource has only a name and description. You finish configuring the event in a rule, using its ontology function. You can configure the event to be asserted after a period of time, and you can pass information to the event and specify its time to live. 2.3 Advisory Event: The BusinessEvents engine automatically asserts an advisory event when it catches an exception that originates in user code but that is not caught with the catch command of the BusinessEvents Exception type (available in the rule language). You never have to create or configure an event of type AdvisoryEvent. Only one event type is needed. It is called AdvisoryEvent, and it is available for selection from the resource list you see when you add a resource to the declaration of a rule in the rule editor.

3 Concepts: Concept types are descriptive entities similar to the object-oriented concept of a class. They describe a set of properties. For example, one concept might be Department. The Department concept would include department name, manager, and employee properties. Concept types are descriptive entities similar to the object-oriented concept of a class. They describe a set of properties. For example, one concept might be Department. The Department concept would include department name, manager, and employee properties. When BusinessEvents creates a concept instance, it automatically asserts it. (This is not true of events, which BusinessEvents only asserts if instructed to do so.) After BusinessEvents retracts an instance, it cannot re-assert it.

Concept property History: Each concept property includes a history, the size of which is configurable. The history size determines how many previous values BusinessEvents stores for that property. If you set the history size to 0, BusinessEvents does not store historical values for the concept. It stores the value without a time and date stamp. History Policy BusinessEvents can record values using either of these policies: Changes Only BusinessEvents records the value of the property every time it changes to a new value

All Values BusinessEvents records the value of the property every time an action sets the value even if the new value is the same as the old value. Concept relationships: Concepts can have inheritance, containment and reference relationships with other concepts. Inheritance Relationships Definition: One concept inherits all the properties of another concept. Concepts that are related to each other directly or indirectly by inheritance cannot have distinct properties that share a common name. Therefore, the following restrictions apply: If two concepts are related by inheritance, you cannot create a new property in one with a name that is already used in the other. If two unrelated concepts have properties that share a name, you cannot create an inheritance relationship between the two concepts. Containment Relationships Definition: One concept is contained inside another concept. Note the following containment rules: A contained concept can have only one container concept. (Correspondingly, at runtime a contained instance can have only one container instance.) One container concept, however, can contain multiple different contained concepts. A contained concept can also act as a container concept.

For example, the concept Car contains the concept Wheels. The concept Car also contains other concepts, such as Door and Engine. The concept Car can contain multiple instances of a contained concept (such as Wheel) if the property is defined as an array. But the contained conceptsWheels, Doors, and Windowscannot be contained by any other concept type. They can only be contained by the Car concept. Runtime Behavior The following statements apply to container and contained concepts at runtime: When BusinessEvents retracts a contained instance, under most circumstances, the value of the containers property becomes null. The exception is when the property is configured as follows: The property allows multiple values. (It is a property array.) History is set to 1 or 0. Under these conditions, BusinessEvents deletes the entry in the array that corresponds to the retracted concept, reducing the array size by one. Under these conditions, BusinessEvents deletes the entry in the array that

corresponds to the retracted concept, reducing the array size by one. When BusinessEvents replaces one contained instance with another, it retracts the instance that it replaced. When BusinessEvents asserts or retracts a container instance, it automatically asserts or retracts the contained instance along with any other contained instances at lower levels of the hierarchy. When BusinessEvents modifies a contained instance, it automatically modifies the container instance.

Reference Relationships A concept reference includes a property that references the ID of another concept. When BusinessEvents retracts a concept that is the target of a concept reference, under most circumstances, the value of the concept reference property becomes null. The exception is when the property is configured as follows: The property allows multiple values. (It is a property array.) History is set to 1 or 0. Under these conditions, BusinessEvents deletes the entry in the array that corresponds to the retracted concept, reducing the array size by one. At design time, in the rule editor, you can access referenced properties in the rules action area, but not in the condition area.

4 Concept view: You can optionally work with concepts and their relationships using a graphical user interface called a concept view. You create new concepts and create new relationships between the concepts.

5. Scorecard: Scorecard is special type of concept. A scorecard serves as a static variable that is available throughout the project. You can use a scorecard resource to track key

performance indicators or any other information. Unlike concepts and events, each scorecard resource is itself a single instance it is not a description for creation of instances. You create the scorecard at design time. Its values can be viewed and updated using rules. It is more accurate to say there is one instance of a scorecard per rule session. When a BusinessEvents engine runs with multiple rule sessions, each rule session has its own instance of the score card. It is not necessary to add scorecards to the declaration of a rule, because there is only one instance of each scorecard in a deployed BusinessEvents application. Any change causes all rules that use the scorecard in their conditions to be evaluated. Rule: A rule includes a declaration of entity types, and (optionally) one or more conditions, which evaluate to true or false, and one or more actions, which fire when all conditions evaluate to true. Within the Actions panel, semicolons separate statements; one statement can span multiple lines; one line can include multiple statements. However (unlike conditions) there is only one action. The action might be to execute tasks, create an instance, modify property values in an instance, create and send a simple event, or something else. Rule Sets A rule set is a container for rules. All rules exist within a rule set. The main reason to group rules in rule sets is so that you can deploy different rule sets to different BusinessEvents Archives, resulting in different rule sessions at runtime. Your project design determines which rules to put in each rule set.

Rule Priority BusinessEvents rules are declarative rather than procedural: there is no inherent order for processing. The priority property allows you to specify which rules should fire first. When a simple event enters BusinessEvents, it triggers BusinessEvents to create an agenda for fireable rules, where the highest priority rule fires first. After firing the highest priority rule, BusinessEvents reevaluates all dependent rules and modifies the rule agenda as needed. Understanding Rule Functions A rule function is a function you write in the BusinessEvents rule language for use in a project. To create a rule function, you use a RuleFunction resource. Rule functions may take arguments and may return a value. The return type can be set to void, indicating that the rule function does not return anything. You can use rule function in the same way as the standard (provided) functions, custom functions, and ontology functions (which are created automatically from the

entity types). You can use rule functions in rule conditions and rule actions. You can assign rule functions to be used as event preprocessors, and as startup and shutdown actions. All rule functions created for a project are available project-wide, in any rule session. Virtual Rule Functions Virtual rule functions have arguments but no body or return type. The implementation of virtual rule functions is provided by decision tables in Decision Manager. You can use virtual rule functions in rules in BusinessEvents in the usual way. However, the implementation of the virtual rule function must be provided in an external class that is exported from the Decision Manager Rule management server and placed in a known location. The classes are loaded at system startup, or using JMX while the system is running.

Functions BusinessEvents offers four types of functions for use in rules. They are Standard: These functions are provided with businessEvents. Ontology: BusinessEvents generates these functions based on the resources available in the project. Custom: we can write our own functions using java and integrate them into businessEvents for use in Rules. Rule function: with the help of rule function resources, you can write functions using businessEvents rule language. State Modeler The State Modeler feature is available only in TIBCO BusinessEvents Enterprise Suite. State Modeler is a UML-compliant application that allows you to model the life cycle of a concept instance that is, for each instance of a given concept, you can define which states the instance will pass through and how it will transition from state to state. States have entry actions, exit actions, and conditions, providing precise control over the behavior of BusinessEvents. Transitions between states also may have rules. Multiple types of states and transitions maximize the versatility and power of State Modeler. Object Management An important aspect of most BusinessEvents applications is management of the objects created and modified at runtime. Different projects have different object management requirements. For some, it is acceptable to destroy the objects once the rule engine cycle that needs them has completed. They require only memory-based object management. For others, the

instances have value beyond the rule engine cycle and need to be persisted. Part of object management is configuring for fault tolerance so that objects in memory are not lost in the event of a system failure. BusinessEvents supports a variety of object management and fault tolerance options. Query Language for Querying Cached Objects Available in TIBCO BusinessEvents Enterprise Suite only, the query features enable you to perform snapshot queries and continuous queries using an SQL-like query language. You can then send query results to outbound destinations or use them in rules as desired. Posted by Thirumal at 5:25 PM 0 comments

Tuesday, December 30, 2008


Introduction To Tibco EMS
JMS supports these messaging models: Point-to-point(Queues) Publish and Subscribe(Topics) Multicast(Topics) Point-to-Point Point-to-point messaging has one producer and one consumer per message. This style of messaging uses a queue to store messages until they are received. The message producer sends the message to the queue; the message consumer retrieves messages from the queue and sends acknowledgement that the message was received. More than one producer can send messages to the same queue, and more than one consumer can retrieve messages from the same queue. The queue can be configured to be exclusive, if desired. If the queue is exclusive, then all queue messages can only be retrieved by the first consumer specified for the queue. Exclusive queues are useful when you want only one application to receive messages for a specific queue. If the queue is not exclusive, any number of receivers can retrieve messages from the queue. Non-exclusive queues are useful for balancing the load of incoming messages across multiple receivers. Regardless of whether the queue is exclusive or not, only one consumer can ever consume each message that is placed on the queue. Publish and Subscribe In a publish and subscribe message system, producers address messages to a topic. In this model, the producer is known as a publisher and the consumer is known as a subscriber. Many publishers can publish to the same topic, and a message from a single publisher can be received by many subscribers. Subscribers subscribe to topics, and

all messages published to the topic are received by all subscribers to the topic. This type of message protocol is also known as broadcast messaging because messages are sent over the network and received by all interested subscribers, similar to how radio or television signals are broadcast and received. Multicast Multicast messaging allows one message producer to send a message to multiple subscribed consumers simultaneously. As in the publish and subscribe messaging models, the message producer addresses the message to a topic. Instead of delivering a copy of the message to each individual subscriber over TCP, however, the EMS server broadcasts the message over Pragmatic General Multicast (PGM). A daemon running on the machine with the subscribed EMS client receives the multicast message and delivers it to the message consumer. Multicast is highly scalable because of the reduction in bandwidth used to broadcast messages, and because of reduced EMS server resources used. However, multicast does not guarantee message delivery to all subscribers.

Destinations overview: 1. Static: created by EMS administrator. 2. Dynamic: created by Client programs as needed for short-term use. 3. Tempprary: Temporary destinations are ideal for limited-scope uses, such as reply subjects. EMS supports messages up to a maximum size of 512MB JMS messages have a standard structure. This structure includes the following sections: Header(required) Properties(optional) Body(optional) JMS message types: Message: This message type has no body. This is useful for simple event notification. Text Message: A Java.Lang.String MapMessages: A set of name/value pairs. Bytes Messages: A stream of uninterrupted bytes. The bytes are not typed; that is, they are not assigned to a primitive data type. StreamMessages: A stream of primitive values in the Java programming language. Each set of values belongs to a primitive data type, and must be read sequentially. ObjectMessage: A serializable object constructed in the Java programming

language. Message Delivery Modes The JMSDeliveryMode message header field defines the delivery mode for the message. JMS supports PERSISTENT and NON_PERSISTENT delivery modes for both topic and queue. EMS extends these delivery modes to include a RELIABLE_DELIVERY mode. PERSISTENT when a producer sends a PERSISTENT message, the producer must wait for the server to reply with a confirmation. The message is persisted on disk by the server. This delivery mode ensures delivery of messages to the destination on the server in almost all circumstances. However, the cost is that this delivery mode incurs twoway network traffic for each message or committed transaction of a group of messages NON_PERSISTENT Sending a NON_PERSISTENT message omits the overhead of persisting the message on disk to improve performance. If authorization is disabled on the server, the server does not send a confirmation to the message producer. If authorization is enabled on the server, the default condition is for the producer to wait for the server to reply with a confirmation in the same manner as when using PERSISTENT mode. Regardless of whether authorization is enabled or disabled, you can use the npsend_check_mode parameter in the tibemsd.conf file to specify the conditions under which the server is to send confirmation of NON_PERSISTENT messages to the producer. Figure 6 Non-Persistent Message Delivery RELIABLE_DELIVERY When using RELIABLE_DELIVERY mode, the server never sends the producer a receipt confirmation or access denial and the producer does not wait for it. Reliable mode decreases the volume of message traffic, allowing higher message rates, which is useful for messages containing time-dependent data, such as stock price quotations. Message Selectors A message selector is a string that lets a client program specify a set of messages, based on the values of message headers and properties. A selector matches a message if, after substituting header and property values from the message into the selector string, the string evaluates to true. Consumers can request that the server deliver only those messages that match a selector. The syntax of selectors is based on a subset of the SQL92 conditional expression

syntax. Identifiers Identifiers can refer to the values of message headers and properties, but not to the message body. Identifiers are case-sensitive. Basic Syntax An identifier is a sequence of letters and digits, of any length, that begins with a letter. As in Java, the set of letters includes _ (underscore) and $ (dollar). flowControl The flowControl property specifies the target maximum size the server can use to store pending messages for the destination. Should the number of messages exceed the maximum, the server will slow down the producers to the rate required by the message consumers. This is useful when message producers send messages much more quickly than message consumers can consume them. Unlike the behavior established by the overflowPolicy property, flowControl never discards messages or generates errors back to producer. You can set flowControl using the form: flowControl=size[KBMBGB] where size is the maximum number of bytes of storage for pending messages of the destination. If you specify the flowControl property without a value, the target maximum is set to 256KB. You can optionally include a KB, MB or GB after the number to specify kilobytes, megabytes, or gigabytes, respectively. For example: flowControl=1000KB Means 1000 kilobytes. The flow_control parameter in tibemsd.conf file must be set to enabled before the value in this property is enforced by the server. See Flow Control for more information about flow control. Connection Factory: A connection factory is either dynamically created by the application or obtained from a data store by means of a naming service, such as a Java Naming and Directory Interface (JNDI) server or a Lightweight Directory Access Protocol (LDAP) server.

Fault Tolerance: You can arrange TIBCO enterprise message service server fault tolerant operation by configuring pair of servers - one primary and backup. The primary server accepts client connection, and interacts with clients to deliver messages. If primary fails, backup server resumes operation on its place.

Shared State A pair of fault tolerant servers must have access to shared state, which consists of client connections and persistent messages. This information is useful for backup server to resume its operation of current connections and messages.

Locking: To prevent the backup server from assuming the role primary server, the shared state is locked by primary server during normal operation. If primary server fails, then lock is released and the backup server can obtain lock.

Configuration Files: When a primary server fails, its backup server assumes as primary server and resume operations. Before becoming new primary server, the backup server rereads all it configuration files. If configuration files are shared by two servers then administrative changes carry from old primary server to new primary server.

Detection: The backup server detects the failure of primary server in either two ways: 1. Heartbeat failure: the primary server sends heartbeat messages to backup server to indicate that it is still operating. When a network failure stops the servers from communicating each other, the backup server detects the interruption in the steady stream of heartbeat. 2. Connection failure: The backup server detects its failure of TCP connection with primary server. When the primary process terminates unexpectedly, the backup server detects the broken connection. Heartbeat Parameters When the primary server heartbeat stops, the backup server waits for its activation interval (elapsed time since it detected the most recent heartbeat); then the backup server retrieves information from shared storage and assumes the role of primary server. The default heartbeat interval is 3 seconds, and the default activation interval is 10 seconds. The activation interval must be at least twice the heartbeat interval. Both intervals are specified in seconds. You can set these intervals in the server configuration files.

Shared State: The primary server and backup server must share same state. The server state includes three categories of information. 1. Persistent message data 2. Client connection of the primary server 3. Meta data about message delivery Configuring Fault-Tolerant Servers To configure an EMS server as a fault-tolerant backup, set these parameters in its main configuration file (or on the server command line): Server Set this parameter to the same server name in the configuration files of both the primary server and the backup server. ft_active In the configuration file of the primary server, set this parameter to the URL of the backup server. In the configuration file of the backup server, set this parameter to the URL of the primary server

Authorization and Fault-Tolerant Servers EMS authorization interacts with fault tolerance. If authorization is enabled and the two EMS Servers are configured for fault tolerance, then both servers in a faulttolerant pair must be configured as follows: The tibemsd.conf file for each server must have the same server name and password (the server and password parameters must be the same on each server). The user name and password in the users.conf file for each server must match the values of the server and password parameters in the tibemsd.conf file. If the two EMS servers are not sharing a users.config file, make sure that you create a user with the same name as the EMS server, and set the users password with the value of the Server password.

Configuring Clients for Fault-Tolerant Connections When a backup server assumes the role of the primary server during failover, clients attempt to reconnect to the backup server (that is, the new primary). To enable a client to reconnect, you must specify the URLs of both servers when creating a connection. Specify multiple servers as a comma-separated list of URLs. Both URLs must use the same protocol (either tcp or ssl). The client attempts to connect to each URL in the order listed. If a connection to one URL fails, the client tries the next URL in the list. The client tries the URLs in

sequence until all URLs have been tried. If the first failed connection was not the first URL in the list, the attempts wrap to the start of the list (so each URL is tried). If none of the attempts succeed, the connection fails. For example, to identify the first server as tcp: //server0:7222, and the second server as tcp://server1:7344 (if first server is not available), you can specify: serverUrl = tcp://server0:7222, tcp://server1:7344 Routes

Tibco Enterprise message service servers can route messages to other servers 1. Topic message can travel from one hop to multiple hops 2. Queue messages travel from one hop to home queue and to one hop from home queue. Posted by Thirumal at 8:06 PM 4 comments

IBCO Tutorial : TIBCO Rendezvous or TIBCO RV messaging


1digg
TIBCO Tutorial: TIBCO RV messaging When I started working with a big investment bank I come across a new messaging technology called TIBCO Rendezvous or commonly called as TIBCO RV, I have heard Java Messaging Service (JMS) before but never heard about this TIBCO Rendezvous and it was so extensively used in my application that most of support issue was caused by this mysterious TIBCO RV. We had several TIBCO Topics also called TIBCO Subject separate for both Production and Non PRODUCTION environment but still since I dont had basic knowledge of this technology I was afraid to do some experiment because there was always a risk to affect production environment. At that time I have searched for TIBCO tutorial and I didn't find anything which can help an application developer who wants to use TIBCO as middleware solution, so I decided to write my own experience in a form of short , concise and clear TIBCO tutorial Every post of this series will have something to offer in a short and clear format which I like and I hope you too for details you can always refer to TIBCO Rendezvous or TIBCO EMS specification or documentation . Today I am going to share some of my experience while working with TIBCO RV , this is standard product used in most of the global banks for messaging, its great product which offers following benefits:

location transparency platform independence reliable and fast comprehensive API Point to point delivery and publish/subscribe delivery.

Location transparency Location transparency means for sending and receiving message on a multicast network you need not to aware of physical location of sender or receiver as long as you know the topic (also called subject in TIBCO world), so its pretty simple Sender publish message on multicast topic in a network and all subscriber which have subscribed on that topic receives message without being knowing physical location of publisher. Sender could be anywhere in the world e.g. New York, Tokyo, London, receiver can be anywhere e.g. London, Hong Kong or Tokyo.

Platform independence TIBCO Rendezvous or TIBCO RV doesn't depend on platform, Sender can be running on UNIX box while receiver could be running on windows machine. Most of the time GUI runs on windows and server runs on Linux and they exchange messages via TIBCO.

Reliable and Fast TIBCO Rendezvous or TIBCO RV makes best effort but not guaranteed to deliver message to receiver and its very fast since its operate on User Datagram Protocol (UDP) also. TIBCO RV is best suited for transmitting data which is going to be stale in few minutes and has very high volume e.g. Market data etc but not used for sending Order or execution message because there is always chance of loosing those messages which could create financial impact. TIBCO Rendezvous provides another solution for guaranteed message delivery known as TIBCO Certified messaging so normally application uses certified messaging to make guaranteed delivery sensitive data e.g. Order, Trade or Booking messages.

Comprehensive API TIBCO Rendezvous or TIBCO RV comes along with rich API in both C++ and Java languages and can be plugged into application easily, TIBCO RV API provides interfaces and classes for different modes of communication e.g. Point to Point, publish/subscribe, certified messaging etc. Point to Point Delivery TIBCO Rendezvous or TIBCO RV can be used for point-2-point delivery (some times also called Request/Reply mode), it used "INBOX" topic for doing so , when rvd (rendezvous daemon) sees INBOX topic instead of publishing that message into multicast network it makes direct connection to destination host and send that message over TCP/IP. Publish/Subscribe TIBCO Rendezvous or TIBCO RV provides essential messaging functionality e.g. both Point to Point also called P2P and publish/subscribe. In PUBLISH/SUBSCRIBE mode there could be one sender and multiple receiver which subscribe on a TIBCO Topic also called as Subject. TIBCO RV receiver subscribes on multicast network on a particular topic and Sender sends message on that Topic, after that its TIBCO RVD responsibility to deliver those message. Communication between application process and TIBCO RVD is happens on TCP while communication between TIBCO RVD and multicast network happens on UDP protocol and thats why TIBCO Rendezvous messaging or TIBCO RV is very fast. Hope this would be useful, I will write some more post to explain things little more till then happy learning :) As promised here are links for my other "TIBCO tutorial" articles TIBCO TIBCO TIBCO TIBCO tutorial tutorial tutorial tutorial part part part part 1 2 3 4

Please let me know if you have any doubt or question related to TIBCO or do you want me to cover any specific topic on TIBCO.

Tibco Tutorial: Fundamentals of Tibco RV messagging.


6digg This is in continuation of my tibco tutorial series where I will discuss tibco rv on application developer point of view as middle ware or messaging solution. As discussed in earlier tibco tutorials, tibco is used for communicating between two systems e.g. client and server or server to server , here we will see some of the basic terms used in tibco rv world.b Main purpose of these tibco tutorials is to give overview of fundamentals of tibco rv with day to day examples and discuss its usage. I have been using tibco for more than 3 years and have used in my various project where I use tibco reliable messagging , tibco certified messagging for both client to server and server to server communication. "tibrvsend" and "tibrvlisten" these are two utility comes with every tibco installation. One can used to send message on any multicast network while other can be used to receive message on

any multicast network. Here is an example of sending and receiving message in tibco multicast network.
tibrvsend -network "190.231.54.20" -service "5420" -daemon "tcp:7500" "TESTING tibrvlisten -network "190.231.54.20" -service "5420" -daemon "tcp:7500"

So here we see three new things network, service and daemon Network -----------This is the multicast network on which message will travel here it is "190.231.54.20" It could be any IP address which is setup on your network router. If your computer has multiple NIC (network interface card) then eth0 or eth1 could be prefixed in network e.g.' "eth0; 190.231.54.20" normally different NIC card is used for different network speed e.g. eth0 could be a Gigabyte network or eth1 could be for Megabyte network. Service ---------This is the UDP port on which tibco rv sends message, its advised to keep last two digit of network as service e.g. here 54.20 is used as service "5420". important point to note is "one service can be bound to only one network in one machine" e.g. here service "5420" is bound to network "190.231.54.20" if you try to bound it to another network "192.231.54.20" , tibco will throw error "Transport initialization failed". This problem generally occurs when you are subscribing many networks in one machine. Daemon -----------This is the tcp port on which application communicates to rvd (rendezvous daemon), by convention its tcp:7500 but it could be anything as long as its not conflicting with others. there is one more concept called "remote daemon" where tibco used daemon of different machine to communicate with multicast network it looks like "host:7500" where host is remote host , its not advised to used remote daemon , I will discuss this on a separate post. rvd -----I have referred it many times but not yet explained, its a program we called rendezvous daemon which is required for tibco messaging, if its not running on your machine you can not send/receive message in a multicast network. if its not running then application generally starts it but its a good practice to start rvd in permanent account. It is this process will handle everything

from sending message to receiving message in tibco multicast network. remote daemon -----------------Some time instead of using local daemon ( rvd installed on local computer) we use RVD (Randezeous daemon) installed on some other remote host . this is called using remote daemon. so that remote daemon connects to our process via TCP and connect to tibco multicast network via UDP. see here how to use remote daemon. C:\>tibrvlisten -service "5420" -network ";190.231.54.20" -daemon "tcp:remotehost:7500" TEST.REPLY here we are connecting RVD (Randezeous daemon) running on host "remotehost" this technique is useful if you don't have RVD (Randezeous daemon) installed in your host or your process is running on some virtual host which is not ideal for tibco installation. reliable communication ---------------------------reliable communication is what Tibco RV by defaults provide where RVD makes every effort to deliver the message to Receiver but delivery is not guaranteed, this is useful in case of high speed messaging where data becomes stale after few seconds and missing data can be tolerable . for guaranteed deliver Tibco provides Certified Messagging.

Saturday, October 2, 2010


Tibco tutorial : Tibco RV tips and commands
0digg This is third post on series of "tibco tutorial" , In this article I am posting some of the most useful command which I used while working in tibco rv in many application , they are extremely useful and must be in developers top of head who is working in tibco rv. Before writing these "tibco tutorial" series I looked for some introductory simple tibco tutorial which explaines concept of tibco rv in simple word and give us working knowledge of tibco but I did not found any. tibco is most heavily used middleware solution on enterprise world and form backbone of many large enterprise including global banks.

these are few tips/commands/concept which essential while working with tibco rv for resolving day to day problems or issues. How to send message from command prompt using tibrvsend ? tibrvsend -network "190.231.54.20" -service "5420" -daemon "tcp:7500"
"TESTING

How to receive message in command prompt using tibrvlisten ?

tibrvlisten -network "190.231.54.20" -service "5420" -daemon "tcp:7500"

How do you identify whether tibco rv is running in your host or not ? ps ef | grep rvd (in linux) , for windows check rvd in task manager. ,if tibco rv is running then rvd must be a live process.

How do you identify which services are subscribed from localhost ? netstat g How do you identify which services and clients are connected to your host via tibco rv ? We can use tibco rv admin webpage , which listens on some predefined port e.g. 7542 http://host:7540 and then we can get all the details

Can we specify which NIC card to use while specifying network parameter Yes , we can specify e.g. eth1;190.230.54.80 , if dont give any NIC card name then it will bind to default eth0 card.

What will happen if same service e.g. 5480 tries to register with two network e.g. 190.230 and 192.230 ? Tibco RV will not allow that , it will throw exception while creating transport you can see that exception in tibco rv log via webpage.

What is the standard location for applications using TIBCO RV (Rendezvous)? The latest TIBCO RV libraries will always be available through the following location: /opt/tibops/rv/lib Previous versions of the libraries can be access through:

/opt/tibops/RV//lib

How to change reliablity parameter ? This is a startup parameter , you can see it by greping in ps ef | grep rvd, for chaning it you need to disconnect all the application connected to that RVD and restart that

if you have not read my previous "tibco tutorial" series , here are links

Tibco tutorial : Certified Messagging


0digg This is in continuation of my previous tibco tutorial. tibco rv is most widely used middleware in enterprise world heavily used in banking and many global investment bank rely on tibco rv for there high speed messaging requirement. its used by many trading application to receive high speed data e.g. Market data. in reliable mode tibco provide reliable delivery of data but not guaranteed means if sender sends data to receiver via tibco multicast network , tibco tries best to deliver that data to receiver but there is no guarantee, data could be lost if receiver is too busy to receive it , if receiver is not running or receiver is hang. In some cases its possible to recover lost data by sending "Resend Request". Resend Request is request which Receiver sends to Sender to resend lost data. if Sender has that data into memory it will resend but if it has already discarded then no way to recover that data and tibco will issue DATALOSS Advisory. Sender will only keep data defined in "reliability" parameter while starting tibco daemon and it normally ranges from 10-12 seconds.

Since reliable is good for high speed messaging where data becomes stale after few seconds and loss of some data didn't matter much e.g. in case of Market data where prices , quantity keeps changing. But if you require guaranteed delivery where you don't want to lose any message you should consider option other that reliable messaging. tibco provides a solution for this called "Certified messaging". In Certified messaging , delivery of data or message is guaranteed at tibco level and this is very useful for sending orders, executions , booking message etc where you can not afford to lose any message. How does Certified messaging works ? Certified messaging works on registration and acknowledgment principle. In this case we have Certified Sender and Certified Receiver , whenever Receiver comes up it registers with Sender by subscribe on a topic and providing its "name" , this name must be different in a single network for every certified sender or receiver. For every message Sender waits for acknowledgment from receiver and it will only remove message once it gets acks from all Sender , if any of receiver doesn't sends ack it keep message in a ledger. ledger could be memory based (default) or file based. choosing ledger is critical because if you are keeping too many message you can easily ran out of memory in case of memory based ledger, you can use file based ledger in those cases. Sender does have option to remove receiver from its list of certified listener , if receiver is not responding message for specified duration of time. Preregistration can also be possible where Sender has list of certified listener , preconfigured in its config file , so it will store message until those listener comes up and start consuming messages, this is useful if sender and receiver are in two different timezone e.g. US and Asia and comes up at different time. in case of file based ledgers , there are chances of ledger corruption but tibco provides certain tools to check file ledgers , also if you have failover capability in your application you may want to keep this ledger in a shared location preferably in SAN disk , so in case of primary goes down Secondary can still access ledger file. this is all about tibco certified messaging you can read more on documentation comes along with tibco installation. let me know if you like these kind of "tibco tutorial" or any topic which you want me to cover , any feedback to improve tibco tutorial series also any questions, queries , doubt is welcome I would be happy to answer them.

if you haven't read my previous tibco tutorials here is link

Tibco Blog
About SRIK Solutions
About SRIK Solutions SRIK Solutions is an Indian based fast growing Online IT Training company which offers World class training in EAI Tool TIBCO & Other Technologies for every one in the world (US, UK, AUS, UAE, Singapore) every week for your convenience time by a Real Time Professionals. About TIBCO

Training from Real time experienced Instructors Having 8 Yrs Experience Tibco makes integration server software for enterprises. An integration server allows a company to mix packaged applications, custom software, and legacy software for use across internal and external networks. Tibcos patented approach is called Information Bus (TIB)and Tibco says that it has been used in financial services, telecommunications, electronic commerce, transportation, manufacturing, and energy. Tibco competes with SeeBeyond, Vitria, and webMethods among others. If you are interested for the Tibco Training please reach us @ sriksolutions@gmail.com Course Contents INTEGRATION AND EAI TIBCO RENDEZVOUS TIBCO BUSINESS WORKS TIBCO EMS TIBCO WEB SERVICES TIBCO ADAPTERS TIBCO ADMINISTRATOR TIBCO HAWK TIBCO AMX BPM & Administrator TIBCO BusinessEvents 4.0 TIBCO iProcess Suite TIBCO BUSINESS CONNECT Enrollment : Drop us a mail to sriksolutions@gmail.com & sriksolutions@hotmail.com & eai_training@sify.com Pre Required Educational Qualification for Trainees Any graduate having some Knowledge on core Java and Basic SQL commands Training Methodology @ SRIK Solutions Pvt Ltd Instructor led web class, Voice through Conference Calls, Presentation through Web Access (Desktop sharing), Training Coordinated by our Online Training Coordinator, A Batch size ranging between 1 to 4 numbers with personal care on each consultant. Advantages with @ SRIK Solutions Pvt Ltd: Real Time Instructor Led Live Online Training

Convenience of learning Anytime/Anyplace Arrange Free Demo @your convenience time with Real time instructors Regular and Crash Courses Training with Real time Examples Practical after every major topic Training Material Support Presentations & Pdf Docs Software provides for practice Tests and FAQs from interviews point of view Resume Preparation & Mock Interviews after the completion of the Course All at reasonable Price and payment through a secured payment gateway Student can attend the classes multiple times. Pay only one time Personalized Training One to 1 session Courses Offered @ SRIK Solutions Pvt Ltd Tibco all Suites Contact Details Email : sriksolutions@gmail.com & sriksolutions@hotmail.com

October 26, 2010


Adapter and Adapter types
Filed under: Tibco Adapter SRIK @ 11:21 pm

There are three main kinds of adapters supported by TIBCO: 1) Technical Adapters:- These adapters target a specific technology that represents all similar types. For Example: a) File Adapter:- represents many the file types including Text, XML, CSV, etc. b) Databade Adapter:- represents many database types including DB2, Sybase, Microsoft MySQL, etc.

2) Functional Adapters:- These adapters target a specific individual Application. For Example: a) People Soft Adapter. b) Adapter for Oracle Financials. c) Seibel Adapter. d) SAP R3 Adapter, etc. 3)Custom Adapters:- These are the adapters that we explicitly write code for.

Why Tibco Administrator Server fails to start ?


Filed under: Tibco Admin SRIK @ 3:22 pm

I tried to run in command line, also fails: C:\tibco\administrator\5.1\bin>tibcoadmin_tibc o.exe Failed to find the start class, com/tibco/administrator/startup/AdminWrapper bad classpath? Exception in thread main java.lang.NoClassDefFoundError: com/tibco/tibrv/TibrvException Unable to find the start class Solution: It looks like the tibrvj.jar file in your classpath, put the tibrvj.jar file into your classpath.

Same time check the .tra of admin which is availble in c:\tibco\administrator\domain\domain_name\ edit .tra file check the path (i.e. C\:/TIBCO/TIBRV/8.1/bin & C\:/TIBCO/TIBRV/8.1/lib/tibrvj.jar)

Leave a Comment

February 21, 2011


Removing EMS Instance in Tibco Admin
Filed under: Tibco Admin SRIK @ 3:10 pm

Steps as follows :

Leave a Comment

Adding EMS Instance in Tibco Admin


Filed under: Tibco Admin SRIK @ 3:01 pm

Steps as follows : Step 1)

Leave a Comment

February 4, 2011
Monitor Service instances in TIBCO Administrator without Hawk ?
Filed under: Tibco Admin SRIK @ 12:10 pm

Steps as follows : 1) Login to Tibco Administrator. 2) Application Management->Application Name->Configuration->Process archive.par>Monitoring tab->Add Event. 3) Application Management->Application Name->Configuration->Adapter Configuraion.aar>Monitoring tab->Add Event. 4) Resource Management->Machines->Configure Monitoring->Edit->Add Event. Note : There is option in the add event, if you want to get the alerts multiple occurences, you can choose the radio button as multiple.

Leave a Comment

October 31, 2010


Types of Domain
Filed under: Tibco Admin SRIK @ 6:23 am

Introduction
This article describes the differences between the two types of domain data storage that can be used:

File Database

Note that there are two types of transports available to a domain:


RV EMS. If this option is chosen for domain transport then a database must be used for domain storage.

Setting the Domain Storage Type


The decision to set the storage type is made when the domain is created.

Using the Domain Utility GUI

The checkbox highlighted below determines whether database or file storage is used.

After this checkbox is selected, a later screen will gather the database connection details and provide the opportunity to test the database connection.

Using the Domain Utility command line executable (domainutilitycmd)

To create a database based domain, the following section of the CreateDomain.xml file should be uncommented (the < and > markers removed) and filled in as appropriate. If a file based domain is to be used, then this section should be left commented.
<! uncomment the following for DB configuration ><!

<DatabaseConfiguration> <DatabaseUrl>jdbc:tibcosoftwareinc:sqlserver://localhost:1433;databaseName=eaidb </DatabaseUrl> <DatabaseUsername>sa</DatabaseUsername> <DatabasePassword>sa</DatabasePassword> <JdbcDriver>tibcosoftwareinc.jdbc.sqlserver.SQLServerDriver</JdbcDriver>

<DatabaseMinConnections>0</DatabaseMinConnections> <DatabaseMaxConnections>5</DatabaseMaxConnections> </DatabaseConfiguration> >

File Based Domain


As the name implies, the domain data is stored in the files on a system drive. Warning: Although these files are written in XML, they should not be manually edited as that can cause corruption of the domain rendering it inoperable.

Location of Files
By default these files are stored in the directory: <TIBCO HOME>/administrator/domain/<domainName>/data However this can be altered when the domain is created.

Using the Domain Utility GUI

On the Create New Domain task, check the Show Advanced box

Then scroll down and set the Domain Home values as required.

Using the Domain Utility command line executable (domainutilitycmd)

The CreateDomain.xml file can be altered to set the domain home files as needed by setting the following XML parameters.
<TRADomainHome/>

<AdminDomainHome/> The following table provides some details regarding the different files that may be found in this directory:
File Name SYS_<domain name>.dat Description This file contains details of the applications deployed,deployment history and plugins used. This file contains the domain access control data: users, roles, and the permissions associated with them. This directory contains binary data for the domain.

AUTH_<domain name>.dat

SYS_PJBtemp.dat.files

Note that this directory contains subdirectories with names like:plicationConfiguration

ationConfiguration This is by design. There is an FAQ regarding this FAQ1-9DCF6M


Other files may also be found in this directory some example are below APP_<domain name>_HawkConfig.dat APP_<domain name>_MonitoringManageme Data linked to domain plugins. nt.dat APP_<domain name>_Uddi_App_Domain.dat <domain name>-<Application Data associated with a application deployed on name>.dat the server (where the application transport is <domain name>-<Application either HTTP or RV) name>.dat.files

Benefits

It is not database dependent

Limitations

When Administrator starts up, the entire SYS and AUTH dat files are read into memory. If there are a large number of deployments or a large deployment history then this can slow down the Administrator upon start-up. This can be worked around by ensuring the application deployment histories are kept to a minimum. However it does limit the number of applications that can effectively be deployed. During deployment, the entire SYS dat file is rewritten a few times which could potentially slow down deployment. A domain update (including deployments) means that the whole dat file (SYS, AUTH or both) has to be rewritten to disk. This means there is the possibility of corruption if there is a write or disk failure.

Database Based Domain


The domain data is stored in a database. The exact database schema depends upon factors such as the plugins that have been installed and the type of password policy used. Hence the schema is not publicly available and the database user must have permission to create new database objects.
Leave a Comment

October 16, 2010


Deploy issue when running master and secondary TIB/Admin
Filed under: Tibco Admin SRIK @ 2:21 pm

TIBCO domain needs a repository where all service data are stored. This repository can be in xml files near TIBCO Administrator or it can be in a database. When you run both master and secondary servers of TIBCO Administrator, it is better to store repository in a database, because if it stored in files, both Administrator instances have to maintain its own copy of the repository. So, it could be a problem with syncing in some cases. When the copy of repository on the secondary server is out of sync, we can experience a problem with deploying and starting applications. The errors seen in the admin log file:
2010 Feb 15 13:24:21:267 GMT +4 Error [ApplicationConfiguration] AESDKJ-0000 [http-8090-Processor11] COM.TIBCO.hawk.talon.MicroAgentException: Request timed out 2010 Feb 15 13:24:23:720 GMT +4 Error [Administrator] AESDKJ-0000 [http-8090Processor11] ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error

And in the tsm log files errors are similar to:


2010 Feb 15 13:23:10:335 GMT 4 tsm Debug [] [TRA-000000] tsm.syncBindings: probably admin server is not available. exception message: com.tibco.pof.entity.EntityStoreException: error creating client Server not responding Caused by: com.tibco.infra.repository.OperationFailedException: error creating client Server not responding at com.tibco.infra.repository.RepoFactory.newClient(RepoFactory.java:3046)

Workaround is to stop secondary Administrator and deploy then. Solution is to stop secondary Administrator, remove all repository files on the secondary server, then copy repository files from the master. Usually all repository files in the <tibco_home>\administrator\domain\<domain_name>\data folder. Strategic decision migration to a database storage.

By the way, when you plan a backup/restore solution, it makes sense to backup repository only on the master TIBCO Administrator, but in the case of recovery, restore it on both at the same time.
Leave a Comment

October 9, 2010
Filed under: Tibco Admin SRIK @ 6:19 am

To Delete a Domain Using the GUI: 1. If more than one machine belongs to the domain, you must first remove each machine from the domain or your environment will be inconsistent. 2. Shut down the TIBCO Administration server and the TIBCO Hawk Agent for the domain. On Microsoft Windows, navigate to the Services panel and stop the two services for the domain to delete. 3. Start Domain Utility and click the Next button on the main screen. 4. Under Category, click Domain Configuration, then click Delete an Administration Domain. 5. Click Next and in the screen that appears, select the administration domain to delete. 6. Provide the administration domain user name and password. 7. Click Show Advanced and clear the check box next to Delete Application Domains, if you want to keep them. 8. Click Next and read the warning that appears. 9. Click Next to remove the domain. 10. Click Finish to end the session. To Delete a Domain Using the Command Line Utility : 1. Create a working directory that will hold the XML file that defines configuration options. 2. Copy the following file to your working directory: TIBCO_TRA_HOME\template\domainutility\cmdline\DeleteDomain.xml 3. Open DeleteDomain.xml in a text editor. After changing the parameters, save the file and exit the text editor. 4. Execute the following command on the machine on which the secondary server has been installed: domainutilitycmd -cmdFile working-dir-path\DeleteDomain.xml
Leave a Comment

How to change admin password in TIBCO Administrator


Filed under: Tibco Admin SRIK @ 2:33 am

If you need to change password for admin user in TIBCO Administrator please keep in mind that it is not enough just to change the admin password from Administrator GUI. But whole

procedure is not so complex.


1. Always have full backup of Administrator configuration files and repository files or database! 2. Change admin password in the Administrator GUI. 3. Start DomainUtility on each machine in the TIBCO Domain, select Server Settings => Update Domain Credentials and change password there or use domainutilitycmd and ChangeDomainCredentials.xml as a template. 4. Make sure that password has been changed in tibcoadmin_<domain>.tra file. Or you can put new password manually there like this repo.securePassword=#!tibco and use obfuscate utility to encrypt it. 5. Restart Administrator daemon and Hawk Agents everywhere in TIBCO domain.

Thats all. But, if you change password in the Administrator GUI only, and Administrator service (on the Windows) or daemon (on the Unix) has been restarted as nothing is working as

before, then you can find picture like this on your screen when you try to login into Administrator. If your daemon has been started using nohup utility as mine, then you have a chance to find little more in the nohup.out file:
com.tibco.infra.repository.RepoSecurityException: Can not read policy domain for repository server HM : Failed in authentication.

If you start DomainUtility at this time and try to change password there, following error will

appear. To solve this problem you need to disable security option in the tibcoadmin_<domain>.tra file
#repo.isSecurityEnabled=true repo.isSecurityEnabled=false

then restart Administrator.

Now it is possible to continue the procedure from step 3: DomainUtility will work. When password will be changed, you can enable security back in tra file. Do not forget to restart Administrator daemon and Hawk Agents everywhere in the domain! After all, redeployment of all applications may be necessary.
Leave a Comment

Removing the machine from the admin domain


Filed under: Tibco Admin SRIK @ 2:17 am

You can stop Hawk agent/ uninstall all tra components in that machine, login into tibco Administrator and select the machine and click on the option remove. It removes it from the domain. Hope this info helps.
Leave a Comment

September 20, 2010


Tibco Administrator
Filed under: Tibco Admin SRIK @ 1:16 am

Bouncing the Administrator Steps to be followed on Unix Machine: 1). Check whether the hawk agent is running in the all the machines or not. Command for checking in each different machines ps -ef|grep hawk 2.Check the log cd /opt/tibco/tra/domain/<Domain_Name>/logs 3.Check the log using vi hawk.log 4.Check the admin machine and verify the log of the admin machine 5.Copy the log to the ps pad as a back up in case some one asks for the reason why you bounced the administrator. 6.Kill the hawk agent of the adminstrator machine kill -9 pid (hawkagent) 7.Kill the adminstrator of the admin machine go to cd /opt/tibco/administrator/domain/<Domain_Name> kill -9 ./tibcoadmin_<Domain_Name>

8.Restart the admin of the administrator nohup ./tibcoadmin_<Domain_Name> & 9.check whether the administrator is running or not by verifying in GUI of the admin or by using the ps -ef|grep admin command. 10.Restart the hawk nohup ./hawkagent_<Domain_Name> & 11.Verify whether the hawk is running or not ps -ef|grep hawk Please send us your comments.

March 1, 2011
Node upgrades in Policy manager
Filed under: Tibco AMX Administrator SRIK @ 3:51 am

If you have installed Policy Manager in server, make sure to install policy agent plugin in each node (choose custom option in policy manager). 1. Disassociate PM3.0 from AMX environment 2. Undeploy SA and stop nodes 3. Install policy agent plugin in each node (choose custom option in policy manager). 4. Upgrade nodes. Follow the below documentation for upgrading nodes by using the following synatx, here environment is my environment and nodes are my system nodes ( use your system nodes) C:\tibco\tools\bin>tibcommander.exe -f c:/tibco/amx/2.1/server/bin/NodeUpgrader.xml Dnodes=EnvStage/Grid2A,EnvStage/Grid2B5. Associate PM3.0 from AMX environment 6. Start all nodes.
Leave a Comment

February 18, 2011


How to do Load balancing in Tibco AMX ?
Filed under: Tibco AMX Administrator SRIK @ 2:16 pm

When uploading service assembly, we can add the service units to two more nodes, that makes you load balanced. But dont think so you can deploy in FT mode as service units are distributed one. LB is better than FT in this case.

Leave a Comment

AMX implementation overview

Filed under: Tibco AMX Administrator SRIK @ 2:14 pm

Servervice Bus does : 1. Location Transparency 2. Transport Bridging 3. Routing 4.Data transformation Scenario : Transformation matrix (for example, Country 01 in application 1 means India ). We read this transformation matrix from database on engine startup and cache this information in Shared Variable in BW. Every time we need to do this tranformation, we get the corresponding value from shared variable (without querying from database everytime as it is mostly a static data). Solution : Create ear which will contain two processes OnStartup where you store the values to sharedVar, GetConversion which will provide the interface for external callers to get your values from sharedVariable and will be visible in bs in your mediation process.
Leave a Comment

February 15, 2011


What is ActiveMatrix Service Bus ?
Filed under: Tibco AMX Administrator SRIK @ 1:28 pm

TIBCO ActiveMatrix Service Bus is a lightweight enterprise service bus that helps organizations bridge the mediation gap in their SOA infrastructure. It reduces complexity and increases flexibility and reuse by replacing hard-coded service dependencies with configuration, and can be used to quickly on board services from a third-party environment or a TIBCO-based infrastructure.

- Reduces complexity by enabling quick and easy onboarding of a large number of services with TIBCOs unique AutoMediate feature.

- Lowers cost by providing an SOA infrastructure that fits into any heterogeneous environment. - Saves time and reduces complexity with role-based, easy-to-use, lifecycle management. - Simplifies management and prevents security breaches with built-in governance. - Increases flexibility and service reuse by replacing hard-coded service dependencies and protocols with dynamic configuration and deployment.

An underlying grid-based architecture makes it possible to scale up (by adding multiple instances of ActiveMatrix Service Bus to the same JVM) and out (by adding multiple instances of ActiveMatrix Service Bus across JVMs, or on different machines) dynamically at runtime and on commodity hardware. The mediation layer can scale to meet high availability and fault tolerance requirements. With ActiveMatrix Service Bus, policy enforcement is built in. Rather than having a separate component (proxy agent) bolted on top of the mediation layer, baked-in policy enforcement ensures fewer moving parts to manage, resulting in fewer security loopholes.

Leave a Comment

What is ActiveMatrix Service Grid?


Filed under: Tibco AMX Administrator SRIK @ 1:23 pm

TIBCO ActiveMatrix Service Grid simplifies heterogeneous SOA by enabling IT organizations to turn their business logic into services and graphically assemble, deploy, host, manage, and monitor these services together as composite applications on a single runtime foundation. Built entirely on open standards, ActiveMatrix Service Grid enables companies to expose their existing systems as services and to build new services.

1. Allows developers to focus on the business logic by replacing 20 to 40 percent of the technical code in a service with centralized configuration. 2. Reduces architectural complexity by providing a grid- and standards-based, technology-neutral platform with service containers for .NET, Java, and other service technologies. 3. Leverages open standards with an Eclipse-based environment for service development, composition and assembly, and OSGi-based runtime. 4. Provides built-in governance support, allowing you to add governance without impacting existing work.

ActiveMatrix Service Grid empowers organizations to service-enable existing systems and to create new applications. It simplifies management of composite applications by making heterogeneous services location-, technology-, and protocol-independent through service virtualization. And it simplifies development and operations by providing a common Eclipsebased environment for service development, assembly, composition, and testing, and a common web-based console for monitoring and management. It reduces operational cost with built-in governance.
Leave a Comment

What is ActiveMatrix Policy Manager?


Filed under: Tibco AMX Administrator SRIK @ 12:44 pm

TIBCO ActiveMatrix Policy Manager enables organizations to centrally define policies across services hosted on heterogeneous SOA environments, for authentication and authorization, encryption, logging, auditing, and service versioning.

ActiveMatrix Policy Manager separates a services business logic from these policies and replaces policy hard-coding with more flexible rules. This separation allows organizations to apply policies uniformly across all services regardless of location or underlying technology such as Java or .NET.

It also means companies can implement security, regulatory requirements, and service level agreements much faster than before because changes are no longer required to the existing applications. This results in much greater flexibility, lower costs, and the ability to deliver applications that are driven by the rules of the busines
Leave a Comment

December 29, 2010


Using Custom JDBC Shared Resource in Design Time
Filed under: Tibco AMX Administrator SRIK @ 10:35 am

TIBCO ActiveMatrix Service Grid Using Custom JDBC Shared Resource in Design Time
Design Time / Eclipse Enviornment:
Create a new Fragment Project in Business Studio.

Name the project and unselect the check box Create a Java Project. Click Next.

Host plugin ID is mandatory as this is the only plugin from which drivers are loaded in BusinessStudio.

Click Browse to select Host plugin. Filter the list with com.tibco.tpcl.jdbc.drivers.

Enter the minimum and maximum versions of the Host plugin. Click Finish

Empty plugin fragment is now created.

Import the JDBC driver jar files in the plugin project.

Open the project manifest file and select Runtime tab. Add the imported jar files in the classpath.

Select MANIFEST.MF tab. Enter all the packages in the imported jar files. This has to be done manually as BusinessStudio does not allow the packages to be selected in the Exported Packages picker under Runtime tab. Ignore the validation errors.

Export the project as Deployable Plugins and fragments. Select \components\eclipse as the output directory. Click Finish and verify that the plugin is created in the directory specified

Restart BusinessStudio. Create a new JDBC Shared Resource in a TIBCO ActiveMatrix SOA project. The custom driver will not appear as a drop down. You can provide susbstition variables for DB URL and DB Driver. Or you can override the defaults. Make sure that you provide the Database URL first before typing in the JDBC driver.

Test Connection.

Comments (1)

December 23, 2010


Steps to enable the ProxyAgent for accepting HTTPS request
Filed under: Tibco AMX Administrator SRIK @ 9:48 am

1) Create a JKS file using Java Keytool. 2) When configuring the proxy agent using utility proxyAgentConfig. Enable the SSLcheck-box. 3) Give the details of your JKS file Name and its Password.

4) The above steps will automatically will modifies your Server.xml and proxyagent.tra file of the proxy agents tomcat server java.property.javax.net.ssl.keyStore=XXXX.jks java.property.javax.net.ssl.keyStorePassword=XXXX java.property.javax.net.ssl.keyStoreType-JKS 5) Add the following line in proxyagent.tra below the above properties. java.property.javax.net.ssl.trustStore=C:/XXX/XXX.jks java.property.javax.net.ssl.trustStorePassword=XXX java.property.javax.net.ssl.trustStoreType=JKS 6) Modify the file startPolicyMgr.tra file by adding the below lines of code java.property.javax.net.ssl.keyStore=C:\XXX\XXX.jks java.property.javax.net.ssl.keyStorePassword=xxx java.property.javax.net.ssl.keyStoreType=JKS 7) Restart both the Proxy agent as well as PolicyManager.
Leave a Comment

Installing a custom feature in Tibco AMX Business Studio/AMX Administrator


Filed under: Tibco AMX Administrator SRIK @ 6:23 am

If you want to install a re-usable jar as a custom feature to your AMX runtime, here is how you can do it: Step to be followed : 1. From your jar, create a plugin project using(Tibco Business Studio) the Plug-in project from existing JAR archives wizard. In the manifest of this plugin project, ensure that all the packages you require are exported. 2. Once this plug-in project is created, you need to create a feature project using the Feature Project wizard. In this wizard, you need to pick up plugin you created in step 1. Node the feature ID.

3. Right click on this feature project and choose Export. 4. In the ensuing wizard, Deployable features. 5. Select the required feature in the next screen of the wizard. 6. Give a location for the archive file in the Destination tab. 7. Hit finish. 8. Locate the zip file that is created on your disk and extract the contents of the zip file into <AMX-HOME>/components/eclipse. 9. Now your jar is available to use for the design time. 10. Next, you need to provision this feature into your runtime. To do that, start the command prompt. 11. From (AMX-HOME)/tools/bin, execute the following command: tibcommander -Dfeature.name=(feature ID that you noted in step 2) -f (AMXHOME)/tools/scripts/addfeature.xml
Leave a Comment

December 22, 2010


How to update a service archive in Tibco AMX Administrator.
Filed under: Tibco AMX Administrator SRIK @ 1:31 pm

To update a previously deployed archive please using the following sequence: 1. Select the service assembly in the deploy to an environment perspective in ActiveMatrix administrator 2. Stop it 3. Undeploy it 4. Click Edit in the General Information section 5. Click Update and upload the new version of zip file 6. Click Save in the General Information section

7. Select the assembly in the list of service assemblies again by clicking on it 8. Deploy it (click on Deploy) 9. Start it (click on Star

October 16, 2010


BPM Pattern
Filed under: Tibco BPM SRIK @ 10:49 am

n this article, I will introduce BPM Patterns that wildly used in customers scenarios. All these procedures had been developed using TIBCO BusinessStudio and validated on TIBCO iProcess engine.

1. Sequence

Sequence is the most basic workflow pattern. There is a dependency between the steps in the workflow. The step cannot be started until the step before it is finished.

In this BPM procedure, the User Task 2 only can be started after User Task had been released. User Task 3 only can be started after User Task 2 had been released.

2. Parallel Split

Parallel Split is required when two or more steps need to be executed in parallel. Single path process had been split into multiple paths, these paths to be executed in parallel and released simultaneously or in any order.

In this BPM procedure, the path had been split into two paths, User Task 2 and User Task 3 can be executed in parallel, and they can be released in any order. The whole procedure will be finished until User Task 2 and 3 all had been released.

3. Synchronization

Synchronization is required when a step can be started only when two or more paths complete. Multiple paths converge into single path, when all the steps on the multiple paths had been finished, the step on the single path can be started.

In this BPM procedure, two parallel paths converge into single path on a Synchronize point. The User Task 4 can be started only when User Task 2 and User Task 3 all complete. Consider this scenario, a customer submit a Personal Loan Application. This application can be approved only when two bank managers examine and approve it. And the two managers can examine the application in any order. In this scenario, the Synchronization pattern can be used.

4. Exclusive Choice

Exclusive Choice is required when choose one of the multiple paths to execute based on some business rule or data in the workflow.

In this BPM procedure, the Choice point chooses to execute User Task 2 or User Task 3 based on the data in the workflow. For example, in a Load Application procedure, if the money is more than $10,000, the application must be examined by manager A; if the money is less than $10,000, the application must be examined by manager B.

5. Simple Merge

Simple Merge is required when want to merge alternative paths into one path. A point in the workflow process where two or more alternative branches come together without synchronization. In other words the merge will be triggered once any of the incoming transitions are triggered. The path after the merge point execute only one time.

In this BPM procedure, User Task 2 and User Task 3 had been split into two paths, if one of the paths had been completed, the User Task 4 will be started and other paths will be cancelled. For example, in a Loan Application procedure, the application will be approved when one of the two managers examine it. In this scenario, the Simple Merge pattern can be used.

6. Multi-Choice

Exclusive Choice assumes that only one of the alternative paths can be selected and executed; Multi-Choice can select and execute more than one alternative path.

In this procedure, according the filter that set in the two choice tasks, more than one path may be selected and executed.

7. Synchronizing Merge

Synchronizing Merge is the combination of the Synchronization and Exclusive Choice. According the condition filter that set in the procedure, more than one path can be executed parallel and synchronized at a merge point or only one path can be selected and executed.

In this procedure, according the condition, if two paths had been selected and executed, they will be synchronized at merge point, this is Synchronization pattern. If only one path had been selected and executed, it becomes Exclusive choice.

8. Multi-Merge

The path after the merge point only can be executed once in Simple Merge. In Multi-Merge, the path after the merge point can be executed more than one time, it depends on the branch count before the merge point.

In this procedure, when every path after the split point completed, the User Task 4 will be executed. In this way, we can put some tasks after the merge point for reuse.

9. Discriminator

Discriminator pattern is different with the Multi-merge, it converse the multi-merge. It depends on some semantic to decide if the task after the merge point should be executed.

In this procedure, the Discriminator point after the merge point will check the data in the procedure, when the data match the condition the User Task 4 can be executed.

9.1. N-out-of-M Join

N-out-of-M Join is an extension of the Discriminator. Only N of the M parallel paths had been completed, the path after merge point can be executed. For example, an order only must be examined by any 3 of 5 managers, it can be approved. So this pattern can be used.

In this procedure, Counter act as a counter to record how many paths had been completed. If two of three paths had been completed, a label will be set to YES. When Discriminator check the label and find its value is YES, User Task 5 will be executed. The other task which hadnt completed will be withdrawn. Following is the semantic of the Counter: COUNT = COUNT + 1; if(COUNT == 2) { SYNC = YES;

} else { SYNC = NO; }

10. Arbitrary Cycle

One or more tasks in procedure can be executed repeatedly in Arbitrary Cycle pattern.

In this procedure, Discriminator will check the data in the procedure to decide if the procedure is completed, when it doesnt match the condition the User Task 2 will be executed repeatedly until the condition is satisfied.

Tibco Blog April 20, 2011


If SOAP Protocol is installed, even though if it is not reflecting in Tibco Administrator
Filed under: Tibco Business Connect SRIK @ 4:38 pm

If SOAP Protocol is installed, even though if it is not reflecting in Tibco Administrator as show below.

Solution :

Step 1)

Go to Tibco BusinessConnect and Right hand side click on Manage Installation as shown below

Step 2)

Do the Manage Installation as show below. Click the check box for SOAP and click on Activate Button.

Step 3)

Once clicked on Activate Button, it will log off administrator as show below.

Step 4) Now SOAP Protocol is activated on Tibco Administrator as show below.

Leave a Comment

March 15, 2011


Install SSL certificate to BusinessConnect DMZ server ?
Filed under: Tibco Business Connect SRIK @ 5:27 am

Solution :

Step 1) Install new host certificate in Business Connect>System Settings >Server Identities onTIBCO Admin Consol.

Now select this certificate in Business Connect Application>Public Process Configuration >HTTPS>Host Identity for HTTPS server.

There will be a drop down to select the certificate. Select the latest cert which you installed in step 1.

Step 2) This is the private key which you have uploaded in Business Connect.Now for a web-url, you need to upload the Public Key.

For your web-url, you must have enabledfirewall configuraion.In firewall configuration, you need to upload this public key.
Leave a Comment

Importance of DMZ Deployment Mode in Tibco Business Connect ?


Filed under: Tibco Business Connect SRIK @ 5:23 am

DMZ is situated in between two firewall (outside and inside) . Also any http or https request which is coming from outer world, DMZ forwarded that request to interior server through rv( rvrd).
Leave a Comment

Tibco Business Connect Deployment Mode of DMZ Communications with Protocol Break
Filed under: Tibco Business Connect SRIK @ 5:22 am

Integration Framework implementation need to use BusinessConnect (BC) for communications with anexternal ftp. It is good practice we intend to implement this using the BC Dual Firewall DMZ Modedeployment type. This involves an Interior Server component on a machine within the network and aDMZ Server component operating between two firewalls (the external firewall and the firewallbetween the DMZ and rest of the network).

Our domain uses EMS as its primary communications transport method (the Interior Server is already amember of the domain as it can communicate using EMS), but for the DMZ Server required to useRendezvous in order to employ the protocol break concept for security.

So far we have been able to configure the Rendezvous Routing Daemon (rvrd) to run as a service onthe Interior and DMZ Server. By using the web gui for rvrd to add each machine (Interior and DMZServers) as a neighbor and thus enabled the machines to see each other through the firewall
Leave a Comment

March 1, 2011
Importing bc-bc.csx ?
Filed under: Tibco Business Connect SRIK @ 4:16 am

Follow these steps: 1. Open the BusinessConnect administration panel by selecting BusinessConnect and click on Manage Installation. 2. Select the Import/Export tab. The Manage Installation, Import/Export dialog appears. 3. If the configuration was saved with a password, enter that password. 4. Click on Import Configuration Data. 5. In the Upload dialog, click change to specify the file where the old configuration was saved. The Change File dialog appears. 6. Browse to the location where the file DomainName.csx was saved. 7. Click Open and then OK. WARNING: Do not exit the screen while the data import is in progress. It is important to allow this process to be completed properly.If the data import is interrupted for any reason, the system may be left in an unpredictable state. In such case, you need to recreate the installation and to perform a new import. The Upload dialog appears with the .csx file listed next to Upload Configuration Data File.

8. Click OK . A warning will appear explaining how the import will proceed. 9. Click OK. The data import log will show up. 10. Click Done to finish import
Leave a Comment

Simple steps to configure public and private processes ?


Filed under: Tibco Business Connect SRIK @ 4:14 am

1. First install Business Connect 2. Login to admin domain, click on business connect, configure to a database (make sure it should be above 9i, otherwise you will get DB issues) 3. Open Admindomain.tra under administrator/domain/<domainname>/bin/adminspecifictra file, change the encoding values to UTF-8 4. Restart admin domain 5. Login to administrator 6. Click on to System settings, deployment configurations and choose single sever, and build 7. Go to application management, click on configuration , business connect and advanced tab, check the public processes configuration, click the transport( for ex:http) and change the port number if needed, and enable http (based on your transport type) and deploy. 8. Check thru browser ( http://hostname:port number, if nothing displays (empty page) then it is working, if not check your service instance) 9. Configuration operation 10. Configure host and participants 11. Configure Business Agreements 12. Define your private processes by opening your designer 13. Define a Process Starter to subscribe to those messages. First install Business Connect

Leave a Comment

How to configure a trading partner in BusinessConnect ?


Filed under: Tibco Business Connect SRIK @ 4:11 am

Configuring the Partner Participant 1.In the Participants window, click New 2.Participant Name: Company 2Participant Type: Partner 3.Click OK 4.Check the Active checkbox 5.Click the Protocols tab 6.Click Enable 7.Select EDI-X12 and click OK 8.Click on EDI-X12 link 9.Click Add New link next to the Default Interchange Qualifier ID field 10.Click Add New button 11.Interchange Qualifier: ZZID: 987654321 12.Click Save and OK 13.In the Default Interchange Qualifier ID drop-down list, select ZZ-987654321 14.Click Save 15.In the General tab, check Enable EDI Validation 16.Setting the Transport: a.Click the Transports tab b.Click Add

c.Transport Name: FileTransportTransport Type: FILE d.Click OK e.Click Save->


Leave a Comment

EDI-X12 Inbound using HTTP/HTTPS


Filed under: Tibco Business Connect SRIK @ 4:06 am

Following steps to configure http/https : 1)Select the transport for the trading partner on the business agreement level:a.In TIBCO Administrator, select BusinessConnect>Business Agreement>Business Agreement>Protocol>Transports Tab. 2).Select BusinessConnect>Participants and then click on the partners name. b.In the window Edit Participant, select the Protocols tab. c.Click the protocol link. The Edit Enabled Protocol dialog appears. 3).In the General tab add AS2 Identifier this participant. In the Transports tab, you can add the transport for

a.Click Add.The New Transport dialog appears. b.Name the transport. c.Select the transport type from the dropdown list: HTTP or HTTPS. d.Click OK. for Https protocol you need to add certificates to cert store, we can only use verisign certificates
Leave a Comment

Private Process Smart Routing in Business Connect 5.2 with EMS transport
Filed under: Tibco Business Connect SRIK @ 4:02 am

The following procedure was tested with TIBCO BusinessConnect 5.2.1 & EDI-X12, but should work with any protocol in BC 5.x. If you have created multiple EDI X12 transactions in BusinessConnect and need to deploy each

transaction into a seperate deployment, normal JMS behavior will not allow you to have multiple consumers on the Queue. In this case Smart Routing will be useful to resolve this issue. Here is what you need to do 1. Follow the BC documentation and create smart routing IDs in BusinessConnect System Settings -> Private Process Smart Routing 2. Create your Private Process in Business Works with BC Palette Receive Request Notification. 3. In this configuration tab of this activity make sure that, you uncheck the parse XML payload check box and select * from the Operation Name drop down. 4. All your private processes with BC listeners should have the operation name as * 5. Now you can create a deployment for each of your transactions and it should work. One drawback of this is that you will not be able to parse the payload in the starter activity.
Leave a Comment

How to make Business Connect to ignore few files in a FTP folder


Filed under: Tibco Business Connect SRIK @ 3:58 am

You can use the file mask (like *.dat or <Identifier>*.edi) . so that BC picks up only files matching that format.

April 27, 2011


BE 4.0 is unable to do JMS Conection
Filed under: Tibco Business Events SRIK @ 4:33 pm

In BE 4.0 when we are trying to do JMS Connection and JNDI Configuration, below error will occur.

Solution :

GO to below location. C:\tibco\be\4.0\studio\eclipse\configuration\studio.tra check the line : studio.extended.classpath=C:/tibco/be/4.0/studio/eclipse/thirdparty Note : We need to create thirdparty folder and place the jms.jar and tibjms.jar in this folder. These jars are availble in C:\tibco\ems\6.0\lib

Comments Off

March 22, 2011


How many types of Advisory Events are present in Business Events ?
Filed under: Tibco Business Events SRIK @ 5:19 am

This query was raised one of the visitor of my site :

Solution :

Leave a Comment

March 1, 2011
Channels in Tibco Business Events ?
Filed under: Tibco Business Events SRIK @ 3:16 pm

Channels are physical connections to a resource. Destinations in a channel represent listeners to message from that resource and also can send messages to the resource. There are 3 types of channels: 1. RV channels

2. JMS channels

3. Local channels

JMS and RV channels pass information into and out of Business Events applicaiton. Local Channels are referenced in functions and are used to send events between rule sessions. Local channels are used in applications that have multiple rule session in one node and that use In Memory object management.

Leave a Comment

Different kinds of events in Tibco Business Events ?


Filed under: Tibco Business Events SRIK @ 3:09 pm

Business Events processes three kinds of events:

1. Simple Event : This is a record of a single activity that occured at a single point in time. 2.Time Event : This is an event definition that triggers the creation of event instances based on time.

Time event can be configured in 2 ways:

Rule based: A rule schedules the creation of a time event instance at a give time

Time-interval based: Business events creates a time-event instance at regular intervals. 3.Advisory Events : A notice generated by Business Events to report an activity in the engine, for example, an exception. As Shown below :

Leave a Comment

RuleServiceProvider Configuration in Tibco Business Events ?


Filed under: Tibco Business Events SRIK @ 3:00 pm

1. First install the business events 3.0 2. Open designer and BE pallet. 3. Drag RuleServiceProvider Configuration. As Shown below.

4. In the configuration panel, you can find name, description and Repo/URL path. 5. The Repo path is the Path to and name of the BusinessEvents EAR file, or server-based repository URL for BusinessEvents projects deployed to a TIBCO Administrator domain. 6. One way to determine the repo URL is to temporarily deploy the BusinessEvents EAR. The repo URL is in the deployed BusinessEvents instance TRA file. However, you must remove the escape characters. You must then undeploy the BusinessEvents instance after obtaining the tibco.repourl value. 7. Apply and save it.

Leave a Comment

What is Business Events ?


Filed under: Tibco Business Events SRIK @ 4:20 am

BusinessEvents installation will bring you two palettes available for TIBCO Designer and TIBCO BusinessWorks: BusinessEvents Activities palette will be used for BW projects. BusinessEvents Workbench palette provides the resources you need to build a BusinessEvents project. Few key and basic concepts to tune your self. - Channels : This is just a messaging channel, it can be either RV or JMSDestinations : Destinations are Subject (RV), Topic or Queue (EMS)Events : A activity that happens, event instances will be created based on data incoming messages, which has a payload will defined at design time. Concept : A concept type is a definition of a set of properties that represent the data fields of an entity.Score Card : A scorecard is a special type of concept, but it is only one instance, scorecard serves as a static variable that is available throughout the project.Rule Function: A rule function is a function you write in the BusinessEvents rule language for use in a project, which is similar to java.Rule Set: A rule set is a collection of rules. Introduction on Business Events ? Tibco BusinessEvents (BE) is a Complex Event Processing (CEP) application, its core component is a business rules engine. Rules are triggered by event or pattern of events which flow into BE through channels. BE provides support for RV channel and JMS channel and other customized channels, apart from that businessEvents provides several options for the management and monitoring of the deployed applications. Those options are as follows:

Administrator BusinessEvents built-in Hawk microagents BusinessEvents rules that monitor the engine. JConsoles view of the distributed cache.
Leave a Comment

February 4, 2011
Subversion in TIBCO BusinessEvents Studio
Filed under: Tibco Business Events SRIK @ 4:33 pm

These are step-by-step instructions to install Subclipse in BE Studio. 1. Open menu Help/Software Updates 2. Select the Available Software tab 3. Click on Add Site 4. Enter Location http://subclipse.tigris.org/update_1.6.x 5. In the newly added site, check the following plugins : - Subclipse/Subclipse - Subclipse/Subversion Client Adapter - Subclipse/Subversion JavaHL Native Library Adapter

6. Click Install 7. Click Next 8. Select I accept the terms of the license agreements 9. Click Finish 10. When installation is done, click Yes to restart 11. When Studio has restarted, open the SVN Repository Exploring

12. Add a location by clicking on the Add SVN Repository button in the SVN Repositories view

Tibco Blog April 27, 2011


BE 4.0 is unable to do JMS Conection
Filed under: Tibco Business Events SRIK @ 4:33 pm

In BE 4.0 when we are trying to do JMS Connection and JNDI Configuration, below error will occur.

Solution : GO to below location. C:\tibco\be\4.0\studio\eclipse\configuration\studio.tra check the line : studio.extended.classpath=C:/tibco/be/4.0/studio/eclipse/thirdparty Note : We need to create thirdparty folder and place the jms.jar and tibjms.jar in this folder. These jars are availble in C:\tibco\ems\6.0\lib

Comments Off

March 22, 2011


How many types of Advisory Events are present in Business Events ?
Filed under: Tibco Business Events SRIK @ 5:19 am

This query was raised one of the visitor of my site :

Solution :

Leave a Comment

March 1, 2011
Channels in Tibco Business Events ?
Filed under: Tibco Business Events SRIK @ 3:16 pm

Channels are physical connections to a resource. Destinations in a channel represent listeners to message from that resource and also can send messages to the resource. There are 3 types of channels: 1. RV channels

2. JMS channels

3. Local channels

JMS and RV channels pass information into and out of Business Events applicaiton. Local Channels are referenced in functions and are used to send events between rule sessions. Local channels are used in applications that have multiple rule session in one node and that use In Memory object management.

Leave a Comment

Different kinds of events in Tibco Business Events ?


Filed under: Tibco Business Events SRIK @ 3:09 pm

Business Events processes three kinds of events:

1. Simple Event : This is a record of a single activity that occured at a single point in time. 2.Time Event : This is an event definition that triggers the creation of event instances based on time.

Time event can be configured in 2 ways:

Rule based: A rule schedules the creation of a time event instance at a give time

Time-interval based: Business events creates a time-event instance at regular intervals. 3.Advisory Events : A notice generated by Business Events to report an activity in the engine, for example, an exception. As Shown below :

Leave a Comment

RuleServiceProvider Configuration in Tibco Business Events ?


Filed under: Tibco Business Events SRIK @ 3:00 pm

1. First install the business events 3.0 2. Open designer and BE pallet. 3. Drag RuleServiceProvider Configuration. As Shown below.

4. In the configuration panel, you can find name, description and Repo/URL path. 5. The Repo path is the Path to and name of the BusinessEvents EAR file, or server-based repository URL for BusinessEvents projects deployed to a TIBCO Administrator domain. 6. One way to determine the repo URL is to temporarily deploy the BusinessEvents EAR. The repo URL is in the deployed BusinessEvents instance TRA file. However, you must remove the escape characters. You must then undeploy the BusinessEvents instance after obtaining the tibco.repourl value. 7. Apply and save it.

Leave a Comment

What is Business Events ?


Filed under: Tibco Business Events SRIK @ 4:20 am

BusinessEvents installation will bring you two palettes available for TIBCO Designer and TIBCO BusinessWorks: BusinessEvents Activities palette will be used for BW projects. BusinessEvents Workbench palette provides the resources you need to build a BusinessEvents project. Few key and basic concepts to tune your self. - Channels : This is just a messaging channel, it can be either RV or JMSDestinations : Destinations are Subject (RV), Topic or Queue (EMS)Events : A activity that happens, event instances will be created based on data incoming messages, which has a payload will defined at design time. Concept : A concept type is a definition of a set of properties that represent the data fields of an entity.Score Card : A scorecard is a special type of concept, but it is only one instance, scorecard serves as a static variable that is available throughout the project.Rule Function: A rule function is a function you write in the BusinessEvents rule language for use in a project, which is similar to java.Rule Set: A rule set is a collection of rules. Introduction on Business Events ? Tibco BusinessEvents (BE) is a Complex Event Processing (CEP) application, its core component is a business rules engine. Rules are triggered by event or pattern of events which flow into BE through channels. BE provides support for RV channel and JMS channel and other customized channels, apart from that businessEvents provides several options for the management and monitoring of the deployed applications. Those options are as follows:

Administrator BusinessEvents built-in Hawk microagents BusinessEvents rules that monitor the engine. JConsoles view of the distributed cache.
Leave a Comment

February 4, 2011
Subversion in TIBCO BusinessEvents Studio
Filed under: Tibco Business Events SRIK @ 4:33 pm

These are step-by-step instructions to install Subclipse in BE Studio. 1. Open menu Help/Software Updates 2. Select the Available Software tab 3. Click on Add Site 4. Enter Location http://subclipse.tigris.org/update_1.6.x 5. In the newly added site, check the following plugins : - Subclipse/Subclipse - Subclipse/Subversion Client Adapter - Subclipse/Subversion JavaHL Native Library Adapter

6. Click Install 7. Click Next 8. Select I accept the terms of the license agreements 9. Click Finish 10. When installation is done, click Yes to restart 11. When Studio has restarted, open the SVN Repository Exploring

12. Add a location by clicking on the Add SVN Repository button in the SVN Repositories view

Leave a Comment

Pages: o About SRIK Solutions Blogroll o Documentation o Plugins o Suggest Ideas o Support Forum o Themes o WordPress Blog o WordPress Planet Categories: o Tibco Adapter o Tibco Admin o Tibco AMX Administrator o Tibco BPM o Tibco Business Connect o Tibco Business Events o Tibco Business Works o Tibco BW Interview Faq's o Tibco CIM o Tibco EMS o Tibco EMS Interview Questions o Tibco Hawk o Tibco iProcess Suite o TIBCO Rendezvous o Tibco Training o Tibco-AMX-BPM o Uncategorized Search:

Archives: o April 2011 o March 2011 o February 2011 o January 2011 o December 2010 o November 2010 o October 2010 o September 2010 Meta: o Register o Log in o RSS o Comments RSS o Valid XHTML o XFN

Blog at WordPress.com.

Theme: Shocking Blue Green. Blog at WordPress.com.

December 20, 2010


Difference between shared and jobshared variable?
Filed under: Tibco BW Interview Faq's SRIK @ 5:01 am

Shared Varialble : A Shared Variable resource allows you to share data across process instances. All process instances can read and update the data stored in a shared variable. This type of shared variable is useful if you wish to pass data across process instances or if you wish to make a common set of information available to all process instances. For example, you may have a set of approval codes for incoming orders that change daily for security purposes. You can create a shared variable to hold the approval codes and create one process definition for setting the codes. You can then retrieve the shared variable in all processes that require the current approval codes. Job Shared Varialble : A Job Shared Variable resource is similar to a Shared Variable, but its scope is limited to the current job. A copy of the variable is created for each new process instance. This type of shared variable is useful for passing data to and from sub-processes without creating an input or output schema for the called process. You can use the Get Shared Variable and Set Shared Variable activities to access the data instead of mapping data to a called processes input or output schemas. New process instances receive a copy of the Job Shared Variable, so data cannot be shared across process instances. Therefore, if a called process has the Spawn configuration field checked, a new process instance is created and the process instance receives a new copy of the Job Shared Variable.

February 9, 2011
Software Requirements for CIM 8.0
Filed under: Tibco CIM SRIK @ 10:20 am

Software Requirements Message Server:- TIBCO Enterprise Messaging Service 5.0, 5.1- IBM WebsphereMQ 7.0 Database:- Oracle 11g, 11g RAC- DB2 9.5 Application Server:- Websphere 7.0- WebLogic Application Server 10.3- JBoss 5.0.1, 5.1 Web Server:- IBM HTTP Server 6.0- Apache Server 2.0 AS2 Server:- TIBCO BusinessConnect 5.3 with TIBCO BusinessWorks 5.7.2 JDK:- JDK 6 (update 14) Libraries:xmlc 2.2.16 (This is an LGPL library.) Browsers:Internet Explorer 6.0, 7.0 (recommended), 8.0 Since the documentation requires JDK 6, the oracle client in ojdbc6.jar is is the correct one.

Tibco Blog February 9, 2011


Software Requirements for CIM 8.0
Filed under: Tibco CIM SRIK @ 10:20 am

Software Requirements Message Server:- TIBCO Enterprise Messaging Service 5.0, 5.1- IBM WebsphereMQ 7.0 Database:- Oracle 11g, 11g RAC- DB2 9.5 Application Server:- Websphere 7.0- WebLogic Application Server 10.3- JBoss 5.0.1, 5.1 Web Server:- IBM HTTP Server 6.0- Apache Server 2.0 AS2 Server:- TIBCO BusinessConnect 5.3 with TIBCO BusinessWorks 5.7.2 JDK:- JDK 6 (update 14) Libraries:xmlc 2.2.16 (This is an LGPL library.) Browsers:Internet Explorer 6.0, 7.0 (recommended), 8.0 Since the documentation requires JDK 6, the oracle client in ojdbc6.jar is is the correct one

February 25, 2011


SSL Configuration in Tibco EMS SERVER
Filed under: Tibco EMS SRIK @ 2:10 pm

There is a sample SSL configuration you should start with in <tibco_home>/ems/<version>/samples/config called tibemsdssl.conf. Start it with tibemsd -config tibemsdssl.conf. Take a look at the properties. The EMS Server is using the certificate server.cert.pem as its identity, adn it will trust certificates that were signed by client_root.cert.pem. ssl_server_identity = ../certs/server.cert.pem ssl_server_key = ../certs/server.key.pem ssl_password = $man$WjtSRCpaXu7hoTkDlcEPr6KNKRr # Server Issuer certificate(s).# Supports PEM, DER and PKCS#12.# This may be a part of PKCS12 specified by ssl_server_identity ssl_server_issuer = # Trusted issuers of client certificates. Supports PEM, DER and PKCS7. ssl_server_trusted = ../certs/client_root.cert.pem Soyou can use client_identity.p12 in your BW project as an Identity (there is a README in the certs directory explaining the relationships), and use server_root.cert.pem so you can trust the server.cert.pem by importing it into a Trusted Certificates folder in your BW project. There are also SSL properties for FT heartbeats: ft_ssl_identity = ft_ssl_issuer = ft_ssl_private_key = ft_ssl_password = ft_ssl_trusted =

ft_ssl_verify_host = ft_ssl_verify_hostname = ft_ssl_expected_hostname= ft_ssl_ciphers =


Leave a Comment

February 18, 2011


Gems (Graphical Administration Tool for EMS)
Filed under: Tibco EMS SRIK @ 2:08 pm

Gems v3.2 Gems is a graphical user interface utility for TIBCO Enterprise Message Service (EMS). It can be used by JMS developers as a general purpose test debugging tool and by administrative support staff as a management and monitorig tool. Gems provides the following main features: Server Monitoring. Server state and main statistics are automtically updated, warning and error limits may be configured. Server generated events are also captured. Server Management. Including, general server configuration, JMS destinations, JNDI factories, users/groups, permissions, bridges, routes etc. JMS support. Messages may be sent/received, queues may be browsed and message contents inspected. Selectors and filters may be specified. JMS Message Monitoring. Messages may be monitored (snooped) as they pass trough the server. Request and reply messages can be correlated to provide service response times. JMS Message Management. Eg; purging messages, copy messages from a queue to another queue on a different server. Charting. Server statistics may be charted in real time, data may be saved to CSV files for export to other tools such as Excel. Logging. Server statistics may be logged automatically when warning or error limits are breached. Security. SSL connectivity, view only mode. Customisable display and look and feel. Support for Managing and Monitoring TIBCO SubStation

Requires: Tibco EMS 4.x, EMS 5., EMS 6.x JRE 1.5 or higher

Leave a Comment

November 7, 2010
Tibco EMS Monitoring
Filed under: Tibco EMS SRIK @ 7:13 am

If you are using Tibco EMS, you should be aware that there is a decent tool that comes with the Tibco SDK that allows you to monitor all activity that goes on in your broker. In the directory c:\tibco\ems\bin, you will find a command-line application called tibemsmonitor.exe. If you run this utility, you can see every connect/disconnect, every creation and destruction of a MessageProducer and MessageConsumer, every creation of a topic or queue. tibemsmonitor -monitor <topic> [-server <server-url>] [-user <name>] [-password <password>] [-selector <text>] [-short] [-help] [-helpssl] tibemsmonitor -server tcp://emshost:7222 -monitor > tibemsadmin [-server] [-user] [-password] tibemsadmin.exe -server tcp://emshost:7222 -user admin -password admin123 tibemsd [-config <filename>] [-ft_active <active_url>] [-ft_heartbeat <seconds>] [-ft_activation <seconds>] [-ssl_password <string>] [-trace <items>] [-ssl_trace] [-ssl_debug_trace] [-help] tibemsd -config c:\tibco\cfgmgmt\ems\data\tibemsd.conf

Leave a Comment

October 31, 2010


How to handle corrupted message in EMS datastore?
Filed under: Tibco EMS SRIK @ 7:30 am

Problem Description When a message is corrupted in the EMS database, you may notice the following errors in the EMS log file: SEVERE ERROR: Exception trying to read message from store. ERROR: Exception trying to create message from store: IO failed. SEVERE ERROR: Exception trying to create valid messages record, Invalid message. SEVERE ERROR: Persisted message possibly corrupt. SEVERE ERROR: Exception trying to create valid messages record, Invalid message. When your client tries to consume the message, you may get a javax.jms.JMSException: Corrupted incoming data message exception. When a corrupted message is sent to a client and the client application cannot process the corrupted message properly, the client will block successive messages sent to it. These messages will remain queued on the server and will not be consumed by the client. Possible Reasons for Generating Corrupted Messages in the EMS Datastore 1. A hardware problem with the physical disk: Media error 2. Forced unmount of a physical disk when the disk is in use, or a hard disk in operation having been unplugged. 3. Locking problem, the record in the db file has been modified by different applications/threads of the application at the same time. 4. The EMS server receives a corrupt message. 5. The machine was terminated abruptly. For example: a running system in operation has been unplugged, etc. Solution When one or more messages are corrupted and a client cannot receive the corrupted messages, you can do the following to delete the corrupted messages: 1. If you have already enabled the track_message_ids then you should try to remove the corrupt message as follows. To enable track_message_ids, in EMS main configuration file, set: in tibemsd.conf

track_message_ids=enabled. a) Use the tibemsadmin command (available in EMS_Home\bin directory) to set server console_trace = +MSG (or set log_trace if that is more appropriate). b) Use the tibemsadmin command to set addprop queue trace. c) When the server delivers the corrupted message to the consumer, the server should print the message ID. d) Use the tibemsadmin command delete message with that message ID to remove the corrupted message. e) Undo steps a) and b), if needed.
Leave a Comment

How to Configure EMS 5.x Server with Database Datastore?


Filed under: Tibco EMS SRIK @ 6:59 am

EMS 5.x can be configured to use a database to store messages. The following steps have been tested on a Windows host to configure EMS 5.x with a database. For other platforms, the steps will be similar. Setup Steps: 1. Install EMS 5.x 2. Download and install JDK 1.5 or later 3. Download and install Hibernate from the link provided at the EMS 5.x download on http: download.tibco.com. 4. Download the corresponding database JDBC drivers. They can be found on the Internet. The corresponding jar files for the JDBC need to be added to dbstore_classpath in EMS main configuration file. For example: 1). MySQL InnoDB MySQL Connector: mysql-connector-java-5.0.6-bin.jar

2). Microsoft SQL Server Microsoft JDBC Driver for SQL Server: sqljdbc.jar 3). Oracle 9i and 10g Oracle JDBC Thin Driver: ojdbc14.jar or ojdbc5.jar 4). IBM DB2 Server 8.1 and 9.1 DB2 Universal JDBC Driver: db2jcc.jar and db2jcc_license_cu.jar 5. Modify the sample EMS main configuration file used for database: c:\tibco\ems\5.0\samples\config\tibemsd-db.conf: Modify the variables: dbstore_classpath, dbstore_driver_name, dbstore_driver_dialect, jar_library to reflect your own settings and database. Here is an example which uses the Oracle 10g database: ============================================== dbstore_classpath = c:\tibco\components\eclipse\plugins\com.tibco.tpcl.org.hibernate_3.2.5.001\hibe rnate3.jar;c:\tibco\components\eclipse\plugins\com.tibco.tpcl.org.com.mchange.c3 p0_0.9.1.001\c3p0-0.9.1.jar;c:\tibco\EMS\5.0\bin\antlr-2.7.6.jar;c:\tibco\EMS\5. 0\bin\asmattrs.jar;c:\tibco\EMS\5.0\bin\asm.jar;c:\tibco\EMS\5.0\bin\cglib-2.1. 3.jar;c:\tibco\EMS\5.0\bin\commons-collections-2.1.1.jar;c:\tibco\EMS\5.0\bin\co mmonslogging-1.0.4.jar;c:\tibco\EMS\5.0\bin\dom4j-1.6.1.jar;c:\tibco\EMS\5.0\bi n\ehcache1.2.3.jar;c:\tibco\EMS\5.0\bin\jta.jar;C:\tibco\EMS\5.0\databaselib\oj dbc14.jar;C:\tibco\EMS\5.0\bin\ojdbc14.jar dbstore_driver_name = oracle.jdbc.driver.OracleDriver dbstore_driver_dialect = org.hibernate.dialect.Oracle10gDialect jre_library = C:\jdk1.5.0_06\jre\bin\server\jvm.dll ==============================================

6. Create database users for EMS usage in the database. The users should have permissions to create, alter, delete, update for table, index and sequence. 7. Modify c:\tibco\ems\5.0\samples\config\stores-db.conf to put your own database store information: Example, in stores-db.conf, defines oracle database information: $sys.failsafe type=dbstore dbstore_driver_url=jdbc:oracle:thin:adminfs/admin123@//osrv_1:1521/orclperf dbstore_driver_username=adminfs dbstore_driver_password=admin123 8. Modify the file queues.conf or topics.conf to define where the messages will be stored: Example, in the file queues.conf: TIBCO.quotes maxbytes=10MB,trace,store=$sys.failsafe 9. Use the schema export tool to export the EMS schema into database: Example: java -jar c:\tibco\ems\5.0\bin\tibemsd_util.jar -tibemsdconf c:\tibco\ems\5.0\samples\config\tibemsd-db.conf -createall -export See the TIBCO Enterprise Message Service Users Guide, Chapter 5, entitled Running the EMS Server for details about the schema export tool. 10. Start the EMS server using c:\tibco\ems\5.0\samples\config\tibemsd-db.conf
Leave a Comment

How to Secure the Database Password in EMS 5.x Configuration file?


Filed under: Tibco EMS SRIK @ 6:50 am

When defining the database stores in EMS 5.x, you will need to define the following parameters in stores.conf:

dbstore_driver_url = JDBCURL dbstore_driver_username = username dbstore_driver_password = password The database password can be entered as clear text for two parameters: dbstore_driver_password and dbstore_driver_url. 1. dbstore_driver_password You can also use a mangled password for the dbstore_driver_password. That is, you can use the tibemsadmin tool to mangle a database password and define the mangled password for dbstore_driver_password. For example, you can run the tibemsadmin command to mangle a clear text password: =================================================== tibemsadmin.exe -mangle TIBCO Enterprise Message Service Administration Tool. Copyright 2003-2008 by TIBCO Software Inc. All rights reserved. Version 5.0.0 V27 4/29/2008 Enter phrase to mangle: Confirm phrase to mangle: $man$-RV84410jfkIKs3GET2dmcc5MPs =================================================== In stores.conf, you can define the mangled password for dbstore_driver_password: dbstore_driver_password=$man$-RV84410jfkIKs3GET2dmcc5MPs 2. dbstore_driver_url When defining dbstore_driver_url for an Oracle database, the URL format is entered as following:

jdbc:oracle:thin:/@:/{remote database name} If you dont want to enter the clear text database password within the URL, you can define the Oracle service name (aliase name) for the database using the following syntax: dbstore_driver_url=jdbc:oracle:thin:@:/{dbservice name} This way you dont need to define dbusername and dbpassword in the dbstore_driver_url parameter.
Leave a Comment

October 30, 2010


Hawk rule for monitoring queue
Filed under: Tibco EMS SRIK @ 6:06 am

You can use the ems admin API to get the queue stats and check against the flowcontrol value to find out if it exceeds 80%. Call the API using a script from hawk & send mail when it exceeds. Please find the below code. /* * Copyright 2007-2010 SRIK Solutions Pvt Ltd Inc. * All rights reserved. * For more information, please contact us : * * */ import java.util.*; import javax.jms.Topic; import javax.jms.Queue; import javax.jms.Destination; import com.tibco.tibjms.admin.*; // // The tibjmsServerAdministrator class is used by the tibjmsPerfMaster class // to change various settings in the EMS server. // public class tibjmsServerAdministrator { TibjmsAdmin[] _admin = null; String queue = null; String topic = null;

/** * Creates an admin client on the specified server * and then walks any routes to other servers creating * admin clients on the discovered servers as well. * * @param serverUrl server URL on which to connect * @param userName the administrator name * @param password the administrator password */ public tibjmsServerAdministrator( String serverUrl, String userName, String password) { Map map = new HashMap(); addAdmin(serverUrl, userName, password, map); _admin = new TibjmsAdmin[map.size()]; map.values().toArray(_admin); } private void addAdmin(String serverUrl, String userName, String password, Map map) { try { System.err.println(connecting as +userName+ to +serverUrl); TibjmsAdmin admin = new TibjmsAdmin(serverUrl,userName,password); ServerInfo si = admin.getInfo(); // enable statistics si.setStatisticsEnabled(true); admin.updateServer(si); if (!map.containsKey(si.getServerName())) { map.put(si.getServerName(), admin); RouteInfo[] ri = admin.getRoutes(); for (int i = 0; i < ri.length; i++) { if (!map.containsKey(ri[i].getName()) && ri[i].isConnected()) addAdmin(ri[i].getURL(), userName, password, map); } } else { admin.close(); }

} catch (Exception e) { e.printStackTrace(); System.exit(-1); } } /** * Create a topic on all servers. * * @param name topic name * @param failsafe failsafe setting * @param flowControl flow control setting */ public void createTopic(String name, boolean failsafe, long flowControl) { try { TopicInfo ti = new TopicInfo(name); ti.setGlobal(_admin.length > 1); ti.setFailsafe(failsafe); ti.setFlowControlMaxBytes(flowControl); System.err.println(creating topic +name); for (int i = 0; i < _admin.length; i++) { _admin[i].destroyTopic(name); _admin[i].createTopic(ti); } topic = name; } catch (Exception e) { e.printStackTrace(); System.exit(-1); } } /** * Create a queue on all servers. * * @param name queue name * @param server name of queues home server * @param failsafe failsafe setting * @param flowControl flow control setting

* @param prefetch prefetch setting */ public void createQueue(String name, String server, boolean failsafe, long flowControl, int prefetch) { String fullName = name; if (server != null) fullName = name + @ + server; try { QueueInfo qi = new QueueInfo(fullName); qi.setGlobal(_admin.length > 1); qi.setFailsafe(failsafe); qi.setFlowControlMaxBytes(flowControl); qi.setPrefetch(prefetch); System.err.println(creating queue +fullName); for (int i = 0; i < _admin.length; i++) { _admin[i].destroyQueue(name); _admin[i].createQueue(qi); } queue = name; } catch (Exception e) { e.printStackTrace(); System.exit(-1); } } /** * Return the number of receivers from all servers * for a particular destination. * * @param dest the destination * @return the number of receivers for the destination */ public int getNumberOfReceivers(Destination dest) { int numReceivers = 0; try { for (int i = 0; i < _admin.length; i++) {

DestinationInfo info; if (dest instanceof Topic) info = _admin[i].getTopic(((Topic)dest).getTopicName()); else info = _admin[i].getQueue(((Queue)dest).getQueueName()); ConsumerInfo[] ci = _admin[i].getConsumersStatistics(null, null, info); if (ci != null) numReceivers += ci.length; } } catch (Exception e) { e.printStackTrace(); System.exit(-1); } return numReceivers; } /** * Check if flow control is enabled for all servers. * * @return true iff flow control is enabled on all servers */ public boolean isFlowControlEnabled() { boolean flowControlEnabled = true; try { for (int i = 0; i < _admin.length; i++) { ServerInfo si = _admin[i].getInfo(); if (!si.isFlowControlEnabled()) flowControlEnabled = false; } } catch (Exception e) { e.printStackTrace(); System.exit(-1); } return flowControlEnabled; } /** * Remove the destination from all servers.

*/ public void cleanup(String controlTopic) { try { for (int i = 0; i < _admin.length; i++) { if (topic != null) { TopicInfo[] info = _admin[i].getTopics(topic); for (int j = 0; j < info.length; j++) { if (!controlTopic.equals(info[j].getName())) _admin[i].destroyTopic(info[j].getName()); } } if (queue != null) { QueueInfo[] info = _admin[i].getQueues(queue); for (int j = 0; j < info.length; j++) { _admin[i].destroyQueue(info[j].getName()); } } } } catch (Exception e) { e.printStackTrace(); System.exit(-1); } } }
Leave a Comment

October 20, 2010


To add EMS server to TIBCO administrator, follow these steps:
Filed under: Tibco EMS SRIK @ 1:14 am

Note: To add the ems server, both Administrator and EMS should be up and running. 1. Make sure the TRA installalled on the machine where EMS server is running. 2. Run Domain Utility from TIBCO_HOME/TRA/<version that matches to ur

domain>/BIN/DomainUtility.exe (Windows) or .bin (Unix) 3. In windows you can double click the domain utility, but in unix use ./<PATH to TRA BIN>/DomainUtility Note: To enable GUI mode in Unix, your desktop must have xwindows terminal like reflection,cygwin or xwindows etc. Puty does not support xwindows properly. 4. Choose EMS administration from the menu list. 5. Click Add EMS server to TIBCO domain and next. 6. Enter all the details that is required for EMS (Version, path of tibemsd executable (.exe in windows, .bin in unix) 7. Enter the port number, user name and password 8. Test the connection 9. Finish the rest 10. Stop the EMS and start from TIBCO administrator.
Leave a Comment

October 16, 2010


Installing the TIBCO EMS Central Administration Server
Filed under: Tibco EMS SRIK @ 3:42 pm

Id like to share my experience about installation of the TIBCO Enterprise Message Service Central Administration (EMSCA) server and client. At this time, TIBCO provides EMSCA server software only for Linux (Red Hat Enterprise Linux 4 and 5 (x86), Oracle Enterprise Linux 4 and 5 (x86) and SUSE Enterprise 10 (x86)) and EMSCA client only for Windows, but as client

is Eclipse based, I think that it could be ported easily. I will start with the server side installation on my Red Hat Linux. The new TIBCO Universal Installer can run in GUI (default), console or silent mode. If you prefer GUI, dont forget to set DISPLAY:
LOGINFROM=`who am i | cut -f2 -d"(" | cut -f1 -d")"` DISPLAY=${LOGINFROM}:0.0 export LOGINFROM DISPLAY

Run the installer # ./TIBCOUniversalInstaller-lnx-x86.bin, accept the license agreement, create a new or select an existing environment. Installation will perform quickly. When installation is complete, it is necessary to do some post installation tasks:

Environment variables from the file <emsca_home>/1.0/bin/setenv must be set. Perhaps it is good idea to call this file from the users profile or add content of this file to the profile; Make Apache run as the user nobody:
# cd <emsca_home>/1.0/httpd/conf # vi httpd.conf User nobody Group nobody

and make sure that user and group nobody are in the system; Configure an authentication in Apache:
# vi httpd.conf AuthBasicProvider file AuthUserFile conf/users.txt

Then prepare users file, I will define the admin user only:
# cd ../bin # ./htpasswd -c ../conf/users.txt admin New password: Re-type new password: Adding password for user admin

Then check the file:

# cd ../conf/ # cat users.txt admin:GfwLuEIw320SY

Adding Subversion users and change folders owners:


# cd /opt/tibco/ems/ca/1.0/repos/conf # cat pre-commit.perms admin

So, admin is already here. Next check/set owner for the repos and temp Subversions folders:
# pwd /opt/tibco/ems/ca/1.0 # chown -R nobody:nobody repos temp

Owner should be the same user as running apache (nobody in my case).

Then I can start emsca:

# emsca start Starting TIBCO EMS Central Administration Started Apache httpd: pid=20119 Started Tomcat: pid=20140

and check Apache logs in the <emsca_home>/1.0/httpd/logs folder. Next step is to create a new deployment server. Deployment server is one per project, can be one for many EMS.
# emsca Created Created Created server create rhl01 directory 'rhl01' in the repository directory /opt/tibco/ems/ca/1.0/servers/rhl01 configuration file

'/opt/tibco/ems/ca/1.0/servers/rhl01/conf/configuration.xml' Created deployment server 'rhl01'

Now creating a new central administration agent. One agent per one EMS.
# emsca agent create rhl01 name=agent_EMS-SERVER1 path=/ems-server1.emsserver url=tcp://10.2.148.82:7222 Created agent on deployment server 'rhl01'

It is possible to provide a username and a password to connect to the EMS. If is not included, the agent uses admin ad username and an empty password. ems-server-username the username used to connect to the tibemsd, ems-server-password used with ems-server-username to connect to the tibemsd. Also it has options to grant agent some additional rights, find in the docs. To check EMSCA server use:
# emsca list TIBCO EMS Central Administration Deployment Servers -----------------rhl01 (started) # emsca status TIBCO EMS Central Administration Status Apache httpd is running: pid=1427 Tomcat is running: pid=1448

Leave a Comment

Installing the TIBCO EMS Central Administration Client


Filed under: Tibco EMS SRIK @ 3:40 pm

There is the same Universal Installer by TIBCO, it helps to make installation process easy. Execute it, accept the license agreement, create a new or select an existing environment, check the summary and complete the installation.

Then I can star EMSCA from my Start menu. This is Eclipse, I have to create a new workspace. Then File => New EMS Central Administration Project. Enter host name and port, where is EMSCA Server is installed. Enter username and password to connect, select the deployment to create a project for. Next step is synchronizing with EMS. TIBCO EMS => Synchronize Configurations With EMS Servers. Enter username and password, select EMS server to synchronize. Now I can change the server configuration. Then save to SVN repository. TIBCO EMS => Save Configurations to Repository. Then it is possible to deploy changes to the server. TIBCO EMS => Deploy EMS Project. So, this was short description of the TIBCO EMS Central Administration, very helpful tool to manage configurations of multiple EMS instances.
Leave a Comment Older Posts

Pages: o About SRIK Solutions Blogroll o Documentation o Plugins o Suggest Ideas o Support Forum o Themes o WordPress Blog o WordPress Planet Categories: o Tibco Adapter o Tibco Admin o Tibco AMX Administrator o Tibco BPM o Tibco Business Connect o Tibco Business Events o Tibco Business Works o Tibco BW Interview Faq's o Tibco CIM o Tibco EMS o Tibco EMS Interview Questions o Tibco Hawk o Tibco iProcess Suite o TIBCO Rendezvous o Tibco Training o Tibco-AMX-BPM o Uncategorized

Search:

Archives: o April 2011 o March 2011 o February 2011 o January 2011 o December 2010 o November 2010 o October 2010 o September 2010 Meta: o Register o Log in o RSS o Comments RSS o Valid XHTML o XFN o Blog at WordPress.com.

Theme: Shocking Blue Green. Blog at WordPress.com.

Tibco Blog October 26, 2010


Sample interview questions on EMS
Filed under: Tibco EMS Interview Questions SRIK @ 1:43 pm

These are some of the sample interview questions on EMS.. 1. What are the different types of acknowledgement modes in EMS message delivery 2. Auto Client Dups_ok No_ack Explciit Explicit_client_dups_ok Transitional Local transitional. What are the different types of messages that can be used in EMS Text Simple Bytes Map XML test Object Object ref Stream

3. 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. 4. 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. 5. How many modes are the messages written to store file. 2 modes.. sync or async. When absent , the default is async

6. What is tibemsd.conf It is the main configuration file that controls the characteristics of the EMS server 7. How many delivery modes for messages? Persistent, Non-persistent, Reliable-delivery. 8. What is the maximum messagesize? Ems supports max message size of 512 mb 9. Name 3 destination properties and explain them. Global, secure, maxmsgs, maxbytes, flowcontrol, sender_name, sender_name_enforced, trace,maxRedelivery 10. What are the different modes of installation in Ems?

a. GUI mode b. Console mode c. Silent mode 11. What are the messaging models supported by JMS a. Point-to-point b. Publish-subscribe c. Multicast 12. Tell me about routes What is the purpose of routes, what kind of destinations can be used in routes? Topics and queues m-hops 13. What happens if the message expires/exceeded the value specified by maxredelivery property on queue? If the jms_preserve_undelivered property is set to true, then it moves he message to undelivered message queue, if set to false, the message is deleted by the server. 14. In how many ways can a destination be created? a. Static-created by user b. Dynamic-created by ems server on the fly. c. Temporary destinations.

15. What are the wild cards that we use in ems?how do they work for queues and topics *,> U can subscribe to wildcard topics but cant publish to them. Where as in case of queues we cant either send /receive. 16. Are bridges transitive? NO 17. Tell me about flow control on destinations Some times the producer may send messages faster than the consumers can receive them. So, the message capacity on the server will be exhausted. So we use flow control. Flow control can be specified on destinations. 18. Tell me about flow control on bridges and routes Flow control has to be specified on both sides of bridges where as on routes it operates differently on sender side and receiver side. 19. Name 3 configuration files and tell me what it consists of a. b. c. d. e. f. Queues.conf Topics.conf Routes.conf Factories.conf Stores.conf Groups.conf,users.conf,transports.conf

20. Name some administrative level destination properties a. b. c. d. e. View Create Delete Modify Purge

21. How can you change the configuration properties of EMS server You can change in the tibemsd.conf file or you can change using the ems admin console. 22. What are the permissions that you can grant to users to access queues a. Receive b. Send c. Browse

23. What are the permissions that you can grant to users to access topics a. b. c. d. Subscribe Publish Durable Use_durable

24. Tell me about multicasting in EMS a. Multicast is a messaging model that broadcasts messages to many consumers at once rather than sending messages individually to each consumer. EMS uses Pragmatic general multicast to broadcast messages published to multicast enabled topics. b. Each multicast enabled topic is associated with a channel. 25. What are the advantages and disadvantages of multicasting.. a. Advantages: as the message broadcasts only once thereby reducing the amount of bandwidth used in publish and subscribe model. Reduces the network traffic. b. Disadvantages: Offers only last-hop delivery. So cant be used to send messages between servers. 26. On what destinations can you use multicast? a. Topics 27. Suppose, you got an error while accessing a queue, that you dont have necessary permissions to access the queue. What might be the solution/reason? a. The user that is assigned to the queue and the user used while creating 28. How does the secondary server know that the primary server is failed? a. Based on heartbeat intervals 29. What is JMS queue requestor? a. 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 30. What is JMS topic requestor? a. The JMS Topic Requestor activity is used to communicate with a JMS applications requestresponse 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. 31. How do you add ems server to administrator?

a. Using domain utility 32. How do you remove individual messages from destinations? a. Using purge command. HOPE THIS HELPS
Comments (1)

Pages: o About SRIK Solutions Blogroll o Documentation o Plugins o Suggest Ideas o Support Forum o Themes o WordPress Blog o WordPress Planet Categories: o Tibco Adapter o Tibco Admin o Tibco AMX Administrator o Tibco BPM o Tibco Business Connect o Tibco Business Events o Tibco Business Works o Tibco BW Interview Faq's o Tibco CIM o Tibco EMS o Tibco EMS Interview Questions o Tibco Hawk o Tibco iProcess Suite o TIBCO Rendezvous o Tibco Training o Tibco-AMX-BPM o Uncategorized Search:

Archives: o April 2011 o March 2011 o February 2011 o January 2011

o o o o

December 2010 November 2010 October 2010 September 2010 Register Log in RSS Comments RSS Valid XHTML XFN Blog at WordPress.com.

Meta:
o o o o o o o

Theme: Shocking Blue Green. Blog at WordPress.com.

Tibco Blog February 4, 2011


Monitoring logs using Hawk
Filed under: Tibco Hawk SRIK @ 12:02 pm

Follow below steps, create New rulebase > rules >Data source >Logfile onNewLine(logfile=/opt/tibco/amxbpm/tibco/data/tibcohost/Admin-AMX BPM-AMX BPM Server/nodes/BPMNode/logs/BPMNode.log) testeditor > if (nextLine Equals ERROR) then your actiontype ur wish. Click ok and apply changes for all hawk agent and send selected to specific hawk agent to deploy your rulebase.
Leave a Comment

Using Hawk to Monitor Queue and topic ?


Filed under: Tibco Hawk SRIK @ 11:56 am

Steps as follows : If you wish to monitor the queues and topics, perform the following : Location : C:\tibco\ems\samples\admin\hawk\tibjmsadmin.hma Jar Location : \tibco\ems\clients\java contains the 2 jar files 1. change the username,password,server properties in tibemsadmin.hma and copy it in to hawk\admin-plugins <classname>com.tibco.tibjms.admin.hawk.HawkController</classname> (dont change the class name it should be HawkController) <arguments> <arg>-user</arg> <arg>admin</arg>

<arg>-password</arg> <arg>MyPassword</arg> <arg>-server</arg> <arg>tcp://server1.yourcompany.com:7222</arg> <arg>-timeout</arg> <arg>5</arg> </arguments> 2. locate jms.jar,tibjmsadmin.jar files and copy them into hawk\admin-plugins folder.
Leave a Comment

November 24, 2010


Tibco Hawk Rule base to check for memory usage for a particular Queue
Filed under: Tibco Hawk SRIK @ 4:11 am

Rule base to check for memory usage for a particular Queue. Please follow the screen shots 1. Select the JMS controller microagent and mention the required Queue name to be monitored.

2.

Select the condition for 80% threshold limit. Pending message size >= 83886080 (80% of total memory) 3

Then provide the Alert message details and mail alert details. DL for prod is : sriksolutions@gmail.com Prod Box is :
Your Unix Box Name

Queue name is : EngineeringAndTechnology.sriksolutions.com Note : This rule is already applied to Dev/QA box : Machine Name Rulename : QueueSize
Leave a Comment

October 25, 2010


Configuration of external variables in Tibco Hawk
Filed under: Tibco Hawk SRIK @ 11:17 pm

Defining external variables in TIBCO Hawk. I have created a variable file (variable.txt) with following entry ENVIRONMENT=TEST In hawkagent.cfg , I made an entry for the variable file like below # Identifies a file containing variable definitions. The format of the file # is that used by the standard Java class java.util.Properties. Ther is one # line per variable where each line has the format # <variable_name>=<value> #-variables -variables C:/tibco/hawk/variablefile/variable.txt my file is present in above location. I checked entry in window registry and it is same as C:/tibco/hawk/variablefile/variable.txt Able to invoke RulebaseEngine:getExternalVariables() and get the external variable ENVIRONMENT with the value TEST. (see attached getExternalVariables.png) After you use the Hawk Configuration UI (see attached hawkconfig.png) to set the variables file parameter, it will prompt you to restart the Hawk Agent Windows Service to have the variables file value take effect. You will also see that the corresponding Windows registry entry is updated with the same value (see attached regedit.png). Make sure you are invoking the method from the rulebase microagent on the Hawk Agent that you had applied the changes to. Also note that the Hawk Agent Windows Service does not pick up the changes from the hawkagent.cfg file by default. If you want to apply the changes in hawkagent.cfg file, you must configure using the Hawk Configuration UI to specify hawkagent.cfg under the General Tab>Hawk Advanced Configuration. (see attached hawkadvconfig.png)
Leave a Comment

TIBCO Hawk NoClassDefFoundError issue


Filed under: Tibco Hawk SRIK @ 10:11 pm

On the Windows platform you can experience java.lang.NoClassDefFound Error when starting

Hawk Agent or Hawk Display. In my example I use TIBCO EMS as a transport for Hawk messaging and issue arose after upgrade EMS from version 4 to version 5 on the server. The reason is that in EMS version 5.1 paths to java class libraries are: <Tibco_Root>\ems\5.1\lib\jms.jar;
<Tibco_Root>\ems\5.1\lib\tibjms.jar; <Tibco_Root>\ems\5.1\lib\tibrvjms.jar; <Tibco_Root>\ems\5.1\lib\tibcrypt.jar; In EMS 4.x. paths were: <Tibco_Root>\ems\clients\java\jms.jar; <Tibco_Root>\ems\clients\java\tibjms.jar; <Tibco_Root>\ems\clients\java\tibrvjms.jar; <Tibco_Root>\ems\clients\java\tibcrypt.jar; <Tibco_Root>\ems\clients\java\jaxp.jar; and they remained in the Hawk configuration.

On windows this configuration is stored in the registry.

Just open regedit and modify three classpath strings under HKLM\SOFTWARE\Tibco Software\TIB/Hawk\<version>. For TIBCO Rendezvous transport situation can be the same, if path to used jar <Tibco_Root>\tibrv\lib\tibrvj.jar; was changed. About classpath and Hawk. In general, NoClassDefFoundError is a Java (JVM) error that occurs when a class needed to run a Java program cannot be found. Here are Hawk is Java program and classes (a set of dynamically loadable libraries that Java applications can call at runtime) in the jar files mentioned above. Classpath is an argument that tells the JVM where to look for userdefined classes and packages in Java programs. On Unix in the startagent startup script for TIBCO Hawk Agent for example, you can find something like this:
# If EMS_ROOT is set, add EMS jars files. if [ ! -z "$EMS_ROOT" ]; then JARFILE="$JARFILE:$EMS_ROOT/clients/java/jms.jar" JARFILE="$JARFILE:$EMS_ROOT/clients/java/tibjms.jar" JARFILE="$JARFILE:$EMS_ROOT/clients/java/tibrvjms.jar" JARFILE="$JARFILE:$EMS_ROOT/clients/java/tibcrypt.jar" fi # Add jar files for RV. JARFILE="$JARFILE:$RV_ROOT/lib/tibrvj.jar" # Add existing CLASSPATH environment variable to class path. JARFILE="$JARFILE:$CLASSPATH"

Here are the same classes and classpath variable. So, please keep in mind this.
Leave a Comment

October 13, 2010


Tibco Hawk Display Error: message=Version mismatch: tibrvj shared library version 8.2 does not match version of .JAR file 8.1
Filed under: Tibco Hawk SRIK @ 3:29 pm

For those of you out there that are trying to install Tibco Hawk Suite and running into errors, here is your fix: When you Install Tibco Runtime Agent 5.6.2, it updates your Rendezvous Jar files to 8.2 Problem is that Hawk is not compatible yet with Rendezvous 8.2, so when you try to start Hawk Display 4.8.1 in Windows after installing Tibco Run-time Agent 5.6.2 you get an error: Error: TibrvException error=22 message=Version mismatch: tibrvj shared library version 8.2 does not match version of .JAR file 8.1 The solution is easier then you think Go into System Properties -> Advanced -> Environment Variables Switch the order of the tibrv definitions in CLASSPATH and PATH, put the 8.1 first, then 8.2 Launch Hawk Display and Enjoy!!
Leave a Comment

Tibco Hawk: Exception in tibhawkregistry::Getsipalycommandline()


Filed under: Tibco Hawk SRIK @ 3:28 pm

If you are getting the error: Tibco Hawk Display Wrapper Exception in tibhawkregistry::GetDisplayCommandLine(): Unable to construct TIBCO Hawk Dsiplay command line. Exception detail: Unable to resolve Java Runtime Environment. Standard

JRE install not present in Windows NT registry and no override specified in TIBCO Hawk configuration Well, the all mighty Microsoft Process Monitor has Hawk looking in the registry under Local Machine Java Software or some weird name like that. As we all know Java Software doesnt exist in the MS world. The best and quickest solution to this problem is to go into Hawk Configuration, and adding the JRE from your Tibco Runtime Agent software
1. Click on Tibco Hawk Configuration Utility 2. In the General Tab Click Advanced 3. In the Java Home Directory put in C:\tibco\jre\1.6.0 or whatever other JRE you have installed 4. In the JVM Executable put in Java.exe

Hit ok, launch Hawk Display and Enjoy!! by SRIK Solutions Pvt Ltd.
Leave a Comment

September 28, 2010


How to add a TIBCO Hawk Rulebase to an Application?
Filed under: Tibco Hawk SRIK @ 3:07 am

1. Generate Rulebase according to previous steps. 2. Login to TIBCO administrator using your credentials. In TIBCO Administrator, click Application Management. 3. Select the application for which the rulebase has been defined, and expand it. 4. In the Configuration Builder pane, click the service or process name for which the rulebase has been defined. A service is named with a .arr suffix. A process is named with a .par suffix. 5. Click the Monitoring tab. 6. In the Rulebases panel, click Add. 7. Click Browse and in the window that appears, navigate to the directory where the rulebase is stored and select the rulebase. Click OK. 8. Click Save.

When you deploy the service, TIBCO Hawk Agent saves the rulebase file in the <installpath>\tibco\tra\domain\<domain-name>\rulebase folder. When the conditions specified in the rulebase occur, the results display in the Resource Management > Machines View Machine panel.
Leave a Comment

Pages: o About SRIK Solutions Blogroll o Documentation o Plugins o Suggest Ideas o Support Forum o Themes o WordPress Blog o WordPress Planet Categories: o Tibco Adapter o Tibco Admin o Tibco AMX Administrator o Tibco BPM o Tibco Business Connect o Tibco Business Events o Tibco Business Works o Tibco BW Interview Faq's o Tibco CIM o Tibco EMS o Tibco EMS Interview Questions o Tibco Hawk o Tibco iProcess Suite o TIBCO Rendezvous o Tibco Training o Tibco-AMX-BPM o Uncategorized Search:

Archives: o April 2011 o March 2011 o February 2011 o January 2011 o December 2010 o November 2010 o October 2010

September 2010 Register Log in RSS Comments RSS Valid XHTML XFN Blog at WordPress.com.

Meta:
o o o o o o o

Theme: Shocking Blue Green. Blog at WordPress.com.

Tibco Blog January 31, 2011


How to configure RVRD between two network in Tibco RV
Filed under: TIBCO Rendezvous SRIK @ 6:12 am

1. Start RVRD on both the boxes, i.e. box A and box B, which are in two different subnets. 2. Open the http interface of both the RVRDs in two different browser instances. 3. Click on the router link, add a unique router name for both the instances. 4.Then click on the local network link on the same page (which will be initially shown as 0), add the local network name, service, network specification and cost and click on add. 5. Then go to the routers link, click on the neighbours link (initially shown as zero), in the remote end point, put the hostname/ip address of the other RVRD box as well as the router name for the other RVRD and add the neighbor interface. In the port, use a TCP port that has been opened by your firewall. In this page, you can select on the type of your neighbors as well, i.e. accept any, passive etc. Default is ACTIVE-ACTIVE, i.e. any of these two RVRDs can initiate a connection to the other RVRD. 6. Follow step 4 and 5 for the other RVRD too. 7. Wait for some time and then click on the Connected Neighbors link to see if the connection is established between these two RVRDs. 8. Now for data communication, click on the local network name from the routers page and specify the export/import list of the subjects. This will enable your RVRD to send and receive the messages to/from the other network, which match these export/import subject. 9. Try a tibrvlisten/tibrvsend test on one of the exported/imported subject on both sides to check that the communication is happening.
Leave a Comment

Tibco RV DaemonManager RvdProxy.getServices() [rvconfig API]


Filed under: TIBCO Rendezvous SRIK @ 6:11 am

public static void main(String[] args) throws RuntimeException { DaemonManager daemonManager = new DaemonManager(http://srik.com:7580);

if(daemonManager.getDaemonType() == DaemonManager.RVD) { DaemonProxy daemonProxy = daemonManager.getDaemonProxy(); final RvdProxy rvdProxy = (RvdProxy) daemonProxy; System.out.println(rvdProxy.getComponentName()); System.out.println(rvdProxy.getComponentInformation().getHostname()); System.out.println(rvdProxy.getComponentInformation().getIpAddress()); System.out.println(rvdProxy.getComponentInformation().getLicenseTicket()); System.out.println(rvdProxy.getComponentInformation().getName()); System.out.println(rvdProxy.getComponentInformation().getProcessID()); System.out.println(rvdProxy.getComponentInformation().getVersion()); Service[] services = rvdProxy.getServices(); System.out.println(services.length); //prints 0 for (Service service : services) { System.out.println(service.getNetwork()); } } }
Leave a Comment

Tibco Rv How to get the list of Subject in RV


Filed under: TIBCO Rendezvous SRIK @ 6:10 am This may help ./tibrvlistern -service %%service%% -network %%network%% -daemon %%daemon %% > > %%output file%% control C after 10 mins for example. then grep subject %%output.file%% | awk -F subject= {print $2} | awk { print $1} | sort -u Please send your comments and suggestions. Leave a Comment

Tibco RendezVous quick-start tutorial

Filed under: TIBCO Rendezvous SRIK @ 6:08 am

The purpose of this -short- tutorial is to guide you until you can send and read a HelloWorld message passing through Tibco RendezVous

Installation

Set the variable JAVA_HOME Eg, in my case:


set JAVA_HOME=C:\java\jdk150_10

Get the file to be installed:

TIB_rv_8.1.2_win_x86_vc8.zip

Unzip the content in your local drive Launch the installer (.exe) o select Custom installation o choose the installation folder, eg: C:\tibco o keep default options for other requests Set the variable TIBRV_HOME Eg, in my case:
set TIBRV_HOME=C:\tibco\tibrv\8.1

Main Runnables RVD: Daemon

Launching the daemon on local host on port 8181 (default port: 7580):
rvd -http 8181

You should see the following trace:


C:\tibco\tibrv\8.1\bin>rvd -http 8181 TIB/Rendezvous daemon Copyright 1994-2008 by TIBCO Software Inc. All rights reserved. Version 8.1.2 V8 9/26/2008 2010-01-19 16:37:02 rvd: Command line: rvd -http 8181 2010-01-19 16:37:02 rvd: Hostname: MYLOCALMACHINE 2010-01-19 16:37:02 rvd: Hostname IP address: 123.123.123.123 2010-01-19 16:37:02 rvd: Detected IP interface: 123.123.123.123 (IP00) 2010-01-19 16:37:02 rvd: Detected IP interface: 127.0.0.1 (loopback) 2010-01-19 16:37:02 rvd: Unable to find ticket file tibrv.tkt in PATH

2010-01-19 16:37:02 rvd: Http interface http://myLocalMachine.myDomain:8181/

tibrvsend: send a message


To send a message on myLocalMachine:7580:
.\tibrvsend.exe -service 7580 -network MYLOCALMACHINE mySubject myMessage

Expected output:
C:\tibco\tibrv\8.1\bin>.\tibrvsend.exe -service 7580 -network MYLOCALMACHINE mySubject myMessage Publishing: subject=mySubject "myMessage" 2010-01-19 16:52:11 RV: TIB/Rendezvous Error Not Handled by Process: {ADV_CLASS="WARN" ADV_SOURCE="SYSTEM" ADV_NAME="LICENSE.EXPIRE" ADV_DESC="The license will expire" expiretime=2010-01-19 16:02:11Z host="10.30.226.147"}

tibrvlisten: listen to messages


Abstract
To listed to messages published on MYLOCALMACHINE:7580, related to subject mySubject:
tibrvlisten -service 7580 -network MYLOCALMACHINE mySubject

Use case: HelloWorld


For instance, lets assume that you launch this command from one frame:
C:\tibco\tibrv\8.1\bin>.\tibrvsend.exe -service 7580 -network localhost mySubject HelloWorld Publishing: subject=mySubject "HelloWorld"

Here is what appears in the listening frame:


2010-01-19 17:01:32 (2010-01-19 16:01:32.990000000Z): subject=mySubject, message={DATA="HelloWorld"}

Notice you can have many instances listening to the same messages.

Other runnables Launch the daemon manager

Launch:

cd %TIBRV_HOME%/RVDM ./RVDM.bat -http 8282 .

You should see following messages, that you can ignore:


2010-01-19 13:01:48 rvdm: RVDM has activated. 2010-01-19 13:02:03 RV: TIB/Rendezvous Error Not Handled by Process: {ADV_CLASS="WARN" ADV_SOURCE="SYSTEM" ADV_NAME="LICENSE.EXPIRE" ADV_DESC="The license will expire" e xpiretime=2010-01-19 12:11:48Z host="123.123.123.123"}

To check the daemon is on, you can open the address http://localhost:8282 on your favorite browser.

Example sources
Example sources are available in folder %TIBRV_HOME%/src/examples/java

Misc
TIBRV_HOME\bin

folder fosters a couple of binaries:

rvntscfg.exe: Services Configuration Program

Leave a Comment

Http Interface of Tibco RV


Filed under: TIBCO Rendezvous SRIK @ 6:07 am

Every host where tibco rvd is running expose on HTTP interface using that we can get many useful information e.g How many clients are connecting to a particular service Which services has been subscribed by rvd Which hosts are connected to this rvd. How much data has been sent to received Viewing tibco log to figure out any tibco issue. Hwo many subject a particular service is using and what are those etc. to check on which Http port your rvd is publishing information do this in your linux/windows host where rvd is running ps -ef | grep rvd

this will show rvd process with parameters used for starting -http 7582 shows that http interface is on port 7582 now just type this in your browser. http://hostname:7582/
Leave a Comment

Tibco RV messagging
Filed under: TIBCO Rendezvous SRIK @ 6:06 am

Tibco RV messagging
1) 2) 3) 4) 5) location transparency platform independence reliable and fast comprehensive API point to point delivery and publish/subscribe delivery.

Location transparency Location transparency means for sending and receiving message on a multicast network you need not to aware of physical location of sender or receiver as long as you know the topic( also called subject in tibco world) , so its pretty simple Sender publish message on multicast topic in a network and all subscriber which have subscribed on that topic receives message without being knowing physical location of publisher. Sender could be anywhere in the world e..g New york ,Tokyo , London , receiver can be anywhere e.g. London , Hongkong , Tokyo. Platform independence its doesnt depend on platform , Sender can be running on unix box while receiver could be running on windows machine. most of the time GUI runs on windows and Server runs on Linux and they exchange messages via tibco. Reliable and Fast TIbco RV makes best effort (not guaranteed) to deliver message to receiver and its very fast usually used to send Market data etc but not used for sending Order or execution message because there is always chance of loosing such message. generally we use certified message to make guaranteed delivery of those message. Comprehensive API

tibco rv comes with rich API in both C++ and Java language and can be plugged to application easily, API provides methods and classes for different modes of communication e.g. Point to Point , publish/subscribe , certified messaging etc. Point to Point Deliver Tibco can be used for point-2-point delivery (some times also called Request/Reply mode), it used INBOX topic for doing so , when tvd sees INBOX topic instead of publishing that message into multicast network it makes direct connection to destination host and sends message. Publish/Subscribe This is achieved using Subject or Topic , receiver subscribes on multicast network on a particular topic and Sender sends message on those Topic, after that its tibcos responsibility to deliver those message.

Leave a Comment

Tibco RV tips and commands


Filed under: TIBCO Rendezvous SRIK @ 6:06 am

These are few tips/commands/concept which essential while working with tibco rv for resolving day to day problems or issues. How to send message from command prompt using tibrvsend ? tibrvsend -network 190.231.54.20 -service 5420 -daemon tcp:7500 TESTING How to receive message in command prompt using tibrvlisten ? tibrvlisten -network 190.231.54.20 -service 5420 -daemon tcp:7500 How do you identify whether tibco rv is running in your host or not ? ps ef | grep rvd (in linux) , for windows check rvd in task manager. ,if tibco rv is running then rvd must be a live process. How do you identify which services are subscribed from localhost ? netstat g How do you identify which services and clients are connected to your host via tibco rv ? We can use tibco rv admin webpage , which listens on some predefined port e.g. 7542 http://host:7540 and then we can get all the details

Can we specify which NIC card to use while specifying network parameter Yes , we can specify e.g. eth1;190.230.54.80 , if dont give any NIC card name then it will bind to default eth0 card. What will happen if same service e.g. 5480 tries to register with two network e.g. 190.230 and 192.230 ? Tibco RV will not allow that , it will throw exception while creating transport you can see that exception in tibco rv log via webpage. What is the standard location for applications using TIBCO RV (Rendezvous)? The latest TIBCO RV libraries will always be available through the following location: /opt/tibops/rv/lib Previous versions of the libraries can be access through: /opt/tibops/RV//lib How to change reliablity parameter ? This is a startup parameter , you can see it by greping in ps ef | grep rvd, for chaning it you need to disconnect all the application connected to that RVD and restart.
Leave a Comment

Configuring the TIBCO Routing Daemon (rvrd) to Communicate Between Two Networks
Filed under: TIBCO Rendezvous SRIK @ 6:04 am The following procedure explains how to configure the routing daemon between an NT host (JVR) and a Unix host (Cisco CNS PerfE). We will use the following sample IP addresses: JVR host IP address: 128.1.13.105. Cisco CNS PerfEhost IP address: 172.1.15.110.

Windows NT Installation
On a Windows NT system, use the following steps: Step 1 Make sure to uninstall any services registered for TIBCO.

Step 2 Run rvntscfg.exe to uninstall rvd, rva, etc.

Step 3 Install rvrd with the options: -permanent -store c:\rvrd.db -logfile c:\rvrd.log

Step 4 Start the rvrd service. By default, it will start the service at port 7500 and the http port at 7580.

Step 5 Open the web interface for rvrd: http://128.107.133.105:7580

Step 6 Add a routing entry as follows:

a.

Click on Routers.

b.

Enter the router name, JVRHOST and click Add.

c.

For the route for JVRHOST, add a local network as follows:

1. Click on Local Networks and add the network information: Network Name: JVRNetwork Service: 7500 Network Specification: 128.107.133.105 2. Click on Add Local Network. Double-click the newly added local network to specify the subject filtering, enter as appropriate or enter > to accept every subject, 3. Click on Add for import and export.

Step 7 For the route for JVRHOST, add PERFEHOST as a neighbor:

a.

Click on Neighbors and add the network information:

Neighbor Name: PERFEHOST Host IP Address: 172.29.146.110 Remote port: 7510 Local Port: 7510

b.

Click Add Active [all].

Alternatively, you can listen for messages from all Cisco CNS PerfEs just by selecting the top option and specifying the local port number as 7510. This completes the rvrd configuration under Windows NT.

Unix Installation
On a Unix system, use the following steps: Step 1 Make sure that Cisco CNS PerfE is stopped using stop.sh all.

Step 2 Make sure that all the processes (rvd, rva) are shut down.

Step 3 Make sure that the DAS_HOME environment variable is set: $> sh $> . $DAS_HOME/bin/env.sh $> rvrd -listen tcp:7500 -store $DAS_HOME/config/rvrd.cfg From the web browser, go to http://172.29.146.110:7580 and administer rvrd on the Cisco CNS PerfE host as follows:

Step 4 Add a routing entry: Router name: PERFEHOST

Step 5 For the TIBCO router PERFEHOST, enter the local network as follows: Networkname: PERFENetwork Service: 7500 Network Specification: 172.29.146.110 Specify the subject appropriately or as >.

Step 6 For the route PERFEHOST, add JVRHOST as a neighbor:

a.

Click on Neighbors;

Neighbor Name: JVRHOST Host IP Address: 128.107.133.105 Remote port: 7510 Local Port: 7510

b.

Click Add Active [all].

This completes the Unix/PerfE side rvrd configuration. Now both daemons are configured appropriately to talk to the networks and they establish TCP connections on port 7510.

Leave a Comment

Tibco RendezVous Important Concenpts


Filed under: TIBCO Rendezvous SRIK @ 6:00 am

Certified Messaging : Certified Messaging (CM) guarantees that 1. Message will be sent. 2. The order of the message will be same as sent.

The parameters for the CM transport: Daemon Service Network CMname Ledger CM which will allow persistant mechanism for the messages channeled using rendezvous. RVCM configuration tibrvcm.conf :This file defines the TIBCO Rendezvous certified messaging (RVCM) listeners for use by topics that export messages to a tibrvcm transport. The server preregisters these listeners when the server starts up so that all messages (including the first message published) sent by way of the tibrvcm transport are guaranteed. If the server does not preregister the RVCM listeners before exporting messages, the listeners are created when the first message is published, but the first message is not guaranteed. The format of this file is transport listenerName subjectName Difference between Reliable delivery and Certified delivery? Reliable Delivery: Ledger: None Time Limit: Contains outbound messages for 60 seconds Network Traffic: Minimal File Storage: No file storage Certified Delivery: Ledger: The certified delivery library records outbound messages in a ledger, either within the program process storage, or in file storage. Time Limit: The certified delivery library retains outbound messages in the ledger until either delivery is complete or the time limit (set by the program) expires. Network Traffic:Additional network overhead to confirm delivery of each certified message. File Storage: Optional file-based ledgers consume file storage for each message until delivery is complete (or the time limit expires). Why EMS-RV communication?

f you are doing migration of the projects ( in general, trading apps, most of the trading apps are using RV and other examples are TIBCO IM ) you can bridge messages to EMS or to RV and vice versa, and can do your migration very easily. another good example of this scenario might be if you are using RV along the company and want to integrate an application that can communicate via JMS out of the box. Building a RV-JMS bridge might be much easier than developing the code to do that. Message interaction between programs : Three distinct kinds of interactions occur between programs in Rendezvous environment. Publish/Subscribe interactions. Request/Reply interactions. Multicast Request/Reply interactions. Publish/Subscribe interactions: These are driven by events. Communication is in one directions. The interaction consists of one multicast message, published once and received by all subscribers. Example: Publishing the latest stock prices to hundreds of traders on a trading floor simultaneously. Request/Reply Interactions These interactions are driven by demand for data. The client requests data from a server, the server computes the individual response and returns it to the client. Communication flows in both directions. This consists of two point to point messages : a request and a reply. Example: transaction processing in ATM banking Multicast Request/Reply Interactions These interactions are also drive by demand for data. In Multicast request/reply, multiple servers can receive the request and respond. Communication is in both directions. Complete interaction consists of one multicast request message and any number of point-to-point messages Example: Database query with multiple servers. Remote RV communication : Rendezvous uses UDP protocol to communicate within the network locally. For communicating beyond the subnet or the network, it uses Remote RVs (RVRD). RVRD uses HTTP protocol for communicating outside the network. Each subnet can be divided into different IP addresses using different port nos. This in turn leads to multicasting.

One of the machines in each subnet on which RVRD is configured communicates with the other configured RVRD machine in the other subnet. In other words, these RVRD configured machines act as gateways in their respective subnets as each message is sent through these machines for any machine in the subnet to communicate with a machine in the different subnet. -service 7500 -network 113.193.125.221 -daemon tcp:7500 BW.Start hello world
Leave a Comment

Tibco RV Components
Filed under: TIBCO Rendezvous SRIK @ 5:59 am rvcache Command

Syntax :

rvcache -store filename [-http [ip_address:]http_port] [-https [ip_address:]https_port] [-http-only] [-https-only] [-no-http] [-idle] [-sync interval] [-merge shallow | deep] [-memory-only]

Purpose

The program rvcache stores data from recent messages, indexed by subject name, and automatically sends the cached data to new listeners.

Remarks Given a set of one or more subject names, rvcache listens for messages addressed to those subjects. Each time it receives such a message, it stores the messages data content. When a client program queries for a cached subject, rvcache sends a reply message with the current cached value. Browser Administration Interface

To administer or configure rvcache, view http://rvcache_host:http_port with a web browser. When the program starts, it prints the actual HTTP administration port. State

rvcache can run in either of two statesrunning or idle.

When running, rvcache listens to subjects, caches message values, and responds to queries.

When idle, rvcache does not operate; however, the browser administration interface is available for configuring parameters. Initial Subject Configuration

The first time you run rvcache, you must configure its subjects and change its state to running. After that, rvcache reads the subject list from its file.

Storage

rvcache stores the data in process memory and in a disk file. The command line parameter -store specifies the name of the disk file; if the file exists when rvcache starts, then rvcache reads the file to initialize its configuration parameters and to populate its cache in process memory. The command line parameter -sync specifies the interval at which to synchronize the file-based store with process-based store. Steps as follows :

Leave a Comment Older Posts


Pages: o About SRIK Solutions Blogroll o Documentation o Plugins o Suggest Ideas o Support Forum o Themes o WordPress Blog o WordPress Planet Categories: o Tibco Adapter o Tibco Admin o Tibco AMX Administrator o Tibco BPM

Tibco Business Connect Tibco Business Events Tibco Business Works Tibco BW Interview Faq's Tibco CIM Tibco EMS Tibco EMS Interview Questions Tibco Hawk Tibco iProcess Suite TIBCO Rendezvous Tibco Training Tibco-AMX-BPM Uncategorized Search:
o o o o o o o o o o o o o

Archives: o April 2011 o March 2011 o February 2011 o January 2011 o December 2010 o November 2010 o October 2010 o September 2010 Meta: o Register o Log in o RSS o Comments RSS o Valid XHTML o XFN o Blog at WordPress.com.

Theme: Shocking Blue Green. Blog at WordPress.com.

Tibco Blog February 14, 2011


TIBCO Hawk 4.x Administration Training
Filed under: Tibco Training SRIK @ 12:45 pm

Course Overview Class participants learn how to monitor and manage applications using TIBCO Hawk software components. Hands-on exercises teach participants how to configure Hawk rulebases to enable monitoring, alerting and management in a TIBCO distributed enterprise. Supports either TIBCO Rendezvous or TIBCO Enterprise Message Service for messaging. Learning Objectives Install, configure and administer TIBCO Hawk Examine distributed application monitoring using Hawk Describe Hawk components and interactions Create Hawk rulebases Create schedules to control timing of Hawk monitoring Understand escalation with Hawk Rulebases Implement Hawk monitoring utilizing best practices Course Topics Hawk installation and configuration Hawk display capabilities Hawk architecture and components Hawk microagents, methods and alerts Hawk rulebases and schedules Hawk security

Advanced monitoring techniques Course Prerequisites TIBCO Rendezvous TIBCO Enterprise Message Service For more information reach us @ sriksolutions@gmail.com or sriksolutions@hotmail.com

Leave a Comment

February 11, 2011


TIBCO RV Administration Training
Filed under: Tibco Training SRIK @ 6:49 am

Day 1 o Session-1 (4 Hr) Introduction to Integration Platform Types of Integrations Levels of Integrations Architectures Messaging Modes & Addressing Modes Integration Architectures o Session-2 (1 Hr) Introduction TIBCO Platform o Session-3 (4Hr)

Networking and distributed systems The Information Bus Rendezvous-based integration solutions Certified message delivery Fault tolerance and distributed queues - Day 2 o Session-1 (2Hr) Installation of Rendezvous and Licensing Rendezvous Daemon (rvd) Rvd Command Options Rvd Browser Interface Clients and Client Information Transports Services and Services Information Daemon, Service and Network parameters Lab 1 Installation and Configuration o Session-2 (2Hr) Rendezvous Routing Daemon (rvrd) Restrict Message Flow Backlog Protection Rvrd Command options and Browser Interface Neighbor Configuration Lab 2 Establishing Active RVRD Connection & SSL Configuration

o Session-3 (4Hr) Advisory Message Format Rendezvous Protocol Monitor (rvtrace) Rvtrace Connection Packet Filtering Rvtrace command options and display options Rendezvous Agent (rva) Usage of rva rva command options and browser interface Website Considerations Lab 3 rvtrace and rva configuration Rendezvous Secure Daemons (rvsd and rvsrd) Rvsd command options and browser interface Rendezvous Daemon Manager (rvdm) Rendezvous Current Value Cache (rvcache) Lab 4 Secure routing daemon and rvcache configuration and Test Multicasting using Rendezvous and using the Pragmatic General Multicasting (PGM) protocol Performance Assessment (rvperf) - Requirements: o Software TIBCO Rendezvous 8.0 RAM : 1 GB Recommended Hard Disk: 10 GB Processor: Pentium 4 or newero Hardware

Name(required) Email(required) Website

Comment(required) Leave a Comment

February 10, 2011


Tibco Training
Filed under: Tibco Training SRIK @ 4:52 pm

1.EAI concepts. ABOUT ORACLE E-BUSSINESS SUITE why EAI How Business works using EAI 2.TIBCO. TIBCO Runtime Agent(TRA) How TIBCO supports EAI 3.TIBCO BUSINESS WORKS(5.4).

Concepts of Business Works Working with palettes with complex Transformations. File Palette XML Palette Parse Palette. HTTP Pallete. JDBC Palette. Adapter Pallete. General Configuration Palette. JMS Palette. SOAP,WDSL Palette. JAVA Palette. Transaction Palette. Service Palette 4.TIBCO EMS(5.1). Concepts of enterpice mesaging system(EMI) topics/queues bridging topics persistence and non persistence durable/non durable creation of topics/ques, granting previllage,etc Routes&Fault Tolerance. 5.TIBCO RV(7.5). Concepts of RV Types of messaging Reliable certified Fault Tolerance Distributed QUES Publish/subscribe, Point to Point, multicast messaging Virtual circuits Rendezvous routing Demon (rvrd) Rendezvous Agent(rva) 6.ADAPTERS. Adapter Concept File Adapter ADB Adapter Integrating Oracle, DB@, Sybase MQ series Adapter

Sending and Receiving. Cobol Copy Books. SAP R/3 Adapter. Exposing SAP as web service ORA Adapter People soft Adapter 7.TIBCO ADMINISTRATION. Concepts Resourse Management Creation of Domain How to add a machine in a domain How to create User How to grant roles to the User. How to add secondary server into a Domain. How to add EMS server into a domain How to enable HTTPS Applicaton Mangement. How to deploy EAR file How to start/stop the process How to enable HAWK in administration. 8.TIBCO HAWK(4.7). What is a HAWK How to configure HAWK How to Create rule base in HAWK How to monitor the process, Operating systems. End systems using HAWK. TIBCO SMARTMAPPER(5.4). 9.TIBCO SmartMapper How Smart Mapper uses in EAI LookUps,Cross referencing For Training Information plz reach us @ eai_training@sify.com

Tibco Blog April 20, 2011


Tibco AMX BPM engine without using SOAPUI :
Filed under: Tibco-AMX-BPM SRIK @ 4:46 am
In order to test the BPM process's web service call, you only need to create a simple web page (can be a JSP page) and use the SOAP calls. This can easily be done in Eclipse. Just follow the following steps and you will be able to test your BPM process as a web service. Eclipse creates a JSP page automatically by reading your WSDL file and hence you are not required to put in that effort of creating the input fields and other things on the JSP page. Here are the steps to accomplish this: 1) Launch the Eclipse workbench. From the main menu bar, select Run -> Launch the Web Services Explorer. This will take a few moments the first time while Eclipse's internal Tomcat server starts up and loads the Web Services Explorer application. After the Web Browser view opens, maximize it. You should be able to see two panes. the left hand side has 'UDDI main' listed in it. The right hand side pane will have the related entries. 2) In the Web Service Explorer's toolbar (top-right), click on the WSDL Page icon to open the 'WSDL' view. You should now be able to see the 'WSDL Main' in place of 'UDDI Main' in left hand pane. 3) Click on WSDL Main. The related results open up in right hand pane. 4) In the WSDL URL field, enter the URL of your WSDL or if you have the WSDL file on your system, just browse the file using browse button. 5) Click 'Go'. This will list all the operations available ithe WSDL i.e. all the functions that you can actually call in this web service. 6) Click on the operation that you want to call. The system automatically creates a JSP page which prompts you for entering the INPUT parameters (in any) to call this web service. Enter the values. Now click on the 'Source' link visible on the top right corner of this pane. It shows you the SOAP message that the system has created for calling the web service. The TIBCO AMX BPM runtime engine does not entertain any web service requests without proper authentication. Hence, you need to pass the user Name and password as part of this SOAP message.

To do this, you should copy the following code in the header part in this pane. <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis200401-wsswssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1"> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis200401-wsswssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-2"> <wsse:Username>USERNAME</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wssusername-tokenprofile-1.0#PasswordText">PASSWORD</wsse:Password> <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis200401-wss-soapmessage-security-1.0#Base64Binary">foooooobar==</wsse:Nonce> <wsu:Created>2010-01-25T13:09:24.860Z</wsu:Created> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> Now click 'Go' from here. 7) The results of the web service call are listed in the pane just below the right hand side pane. It is called as 'Status' pane.

Leave a Comment

TIBCO AMX BPM Action Processor Error in Workspace


Filed under: Tibco-AMX-BPM SRIK @ 4:39 am
Following steps may help you resolve the isse: 1. Shutdown the BPMNode. (Log in to TIBCO AMX Administrator->Infrastructure>Nodes->Select your BPMNode->Stop) 2. Go into the $TIBCO_CONFIG_HOME/tibcohost/<Enterpise Name>/nodes/BPMNode/work/GeronimoTMID 3. Move the tmid.bin & xidcount.txt files to some other folder. Just cut and paste it on desktop or anywhere else. 4. Start the BPMNode up again. (Log in to TIBCO AMX Administrator>Infrastructure->Nodes->Select your BPMNode->Start) NOTE: You might have to stop and restart the amx.bpm.app if it shows in a partially started state.

Tibco Blog April 20, 2011


Tibco AMX BPM engine without using SOAPUI :
Filed under: Tibco-AMX-BPM SRIK @ 4:46 am
In order to test the BPM process's web service call, you only need to create a simple web page (can be a JSP page) and use the SOAP calls. This can easily be done in Eclipse. Just follow the following steps and you will be able to test your BPM process as a web service. Eclipse creates a JSP page automatically by reading your WSDL file and hence you are not required to put in that effort of creating the input fields and other things on the JSP page. Here are the steps to accomplish this: 1) Launch the Eclipse workbench. From the main menu bar, select Run -> Launch the Web Services Explorer. This will take a few moments the first time while Eclipse's internal Tomcat server starts up and loads the Web Services Explorer application. After the Web Browser view opens, maximize it. You should be able to see two panes. the left hand side has 'UDDI main' listed in it. The right hand side pane will have the related entries. 2) In the Web Service Explorer's toolbar (top-right), click on the WSDL Page icon to open the 'WSDL' view. You should now be able to see the 'WSDL Main' in place of 'UDDI Main' in left hand pane. 3) Click on WSDL Main. The related results open up in right hand pane. 4) In the WSDL URL field, enter the URL of your WSDL or if you have the WSDL file on your system, just browse the file using browse button. 5) Click 'Go'. This will list all the operations available ithe WSDL i.e. all the functions that you can actually call in this web service. 6) Click on the operation that you want to call. The system automatically creates a JSP page which prompts you for entering the INPUT parameters (in any) to call this web service. Enter the values. Now click on the 'Source' link visible on the top right corner of this pane. It shows you the SOAP message that the system has created for calling the web service. The TIBCO AMX BPM runtime engine does not entertain any web service requests without proper authentication. Hence, you need to pass the user Name and password as part of this SOAP message.

To do this, you should copy the following code in the header part in this pane. <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis200401-wsswssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1"> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis200401-wsswssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-2"> <wsse:Username>USERNAME</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wssusername-tokenprofile-1.0#PasswordText">PASSWORD</wsse:Password> <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis200401-wss-soapmessage-security-1.0#Base64Binary">foooooobar==</wsse:Nonce> <wsu:Created>2010-01-25T13:09:24.860Z</wsu:Created> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> Now click 'Go' from here. 7) The results of the web service call are listed in the pane just below the right hand side pane. It is called as 'Status' pane.

Leave a Comment

TIBCO AMX BPM Action Processor Error in Workspace


Filed under: Tibco-AMX-BPM SRIK @ 4:39 am
Following steps may help you resolve the isse: 1. Shutdown the BPMNode. (Log in to TIBCO AMX Administrator->Infrastructure>Nodes->Select your BPMNode->Stop) 2. Go into the $TIBCO_CONFIG_HOME/tibcohost/<Enterpise Name>/nodes/BPMNode/work/GeronimoTMID 3. Move the tmid.bin & xidcount.txt files to some other folder. Just cut and paste it on desktop or anywhere else. 4. Start the BPMNode up again. (Log in to TIBCO AMX Administrator>Infrastructure->Nodes->Select your BPMNode->Start) NOTE: You might have to stop and restart the amx.bpm.app if it shows in a partially started state.

Tibco Blog September 20, 2010


Tips on TIBCO ESB products
Filed under: Uncategorized SRIK @ 3:31 am

1. Change the temporary directory of TIBCO Domain


When we deploy applications on TIBCO Domain which created on the Linux/Unix platform, some files will be created in a temporary directory. In default, the temporary directory is /tmp. It may cause application deployed failure, if you delete those files in temporary directory. So, wed better dont use /tmp as the temporary directory, because many users can access it and maybe delete the TIBCO Domains file. To change the temporary directory, following parameter should be added in tibcoadmin_domainname.tra and hawkagent_domainname.tra: java.property.java.io.tmpdir=/tibco/tmp

2. The problem about configure HA mode of TIBCO Domain


When create TIBCO Domain with HA mode using TRA5.5, some error will be got during the Add Logic Machine operation. We cant login the TIBCO Domain through Web Broswer after the server switch to node server 2. Following steps can resolve this problem: Create TIBCO Domain on the node server 1, and then switch to the node server 2 to do the Add Logic Machine operation and ignore the error message. Copy the index.js which can be found in <TIBCO_HOME>\tibco\administrator\5.4\tomcat\webapps\ROOT on the node server 1 to the same directory on node server 2. Start the hawk agent and administrator; switch the server, login TIBCO Domain will successful using web browser.

3. Configure 64bit environment for BusinessWorks


There are some introduction about configure 64bit environment for BusinessWorks in the BW document. But after configured following those introduction, BW application can started. To

configure it successful, %RV_HOME%/lib/tibrvjsd.jar should not be added to the tibco.env.STD_EXT_CP, just add %RV_HOME%/lib/tibrvj.jar.

4. Adapter Reconnect to the EMS Server


In default, the Adapter application which uses EMS as its transport will be shutdown when the EMS Server connection disconnected, because the Adapter cant reconnect to the EMS server. Following configuration will enable the Adapter applications reconnect to the EMS server: Add following parameters into the Adapters tra file: tibco.jmsreconnectcount 1000 reconnect count tibco.jmsreconnectdelay 1000 the interval between the reconnect, in millisecond The EMS provider URL of the Adapter must set as following: Tcp://emshost:7222,tcp://emshost:7222

5. Hawk Agent Reconnect to the EMS Server


Add following parameter into hawkagent_domainname.tra: #reconnect java.property.com.tibco.tibjms.reconnect.attempts=50,5000 The first value is the reconnect count, the second value is the interval between the reconnect.

6. Reset the password of TIBCO Domain


1. Create a new plain text file pw.txt and put one line in the file: pw=#!your_new_password 2. Go to <tra_home>/<version>/bin and run obfuscate pw.txt. 3. Copy the obfuscated password in pw.txt after #! to the following four places: (1) repo.securePassword in tibcoadmin_<domain>.tra under <admin_home>/domain/<domain>/bin; (2) AUTH_<domain>.dat, assuming your admin user name is admin <<<<<<<<<<<<<<<<<<

<dir name=com.tibco.pof.authorization.User lastModified=1166119387448 id=-18> . <string name=mCaseSensitiveName value=admin/> <string name=mName value=test/> <assoc name=mCredentialValues> <string name=__nullkey value=1/> <string name=0 value=#!/k+XpdSNcXZ8Jn8pJLsCihxOEw0AR006:0:0/> >>>>>>>>>>>>>>>>>>; (3) Credential in AdministrationDomain.properties under <tra_home>/domain/<domain>. (4) Credential in AuthorizationDomain.properties under <tra_home>/domain/<domain>. Please stop Admin domain before you do the above, restart Admin afterwards, then login with the new password.

7. Modify ADB Adapter triggers for Loop Detection


Enable Loop Detection configuration can prevent the ADB Adapter Publisher services publish the data which inserted or updated by ADB Adapter Subscriber services. This is very useful for some scenario. For example, data synchronization between databases, the data in anyone of the databases updated, other databases will receive the new data and update. To implement the Loop Detection, ADB Adapter adds an external data field ADB_SOURCE in the table and checks its value, if ADB_SOURCE value is T, means the data is inserted or updated by ADB Adapter, the data wont be insert into publish table. But a problem had been caused by this ADB_SOURCE. That is when user update date using the application, they dont know an ADB_SOURCE field had been add by adapter, they even dont know there are any ADB Adapter. So after they update a record of data which had been inserted or updated by ADB Adapter and its ADB_SOURCE is T. Because this update is did by user, so this data should be published. But the application didnt update the ADB_SOURCE field and the value T prevent the new data insert into publish table. Usually, deploy ADB Adapter is later than the development of the application, so this maybe a familiar problem and users dont want to change the application.

To resolve this problem, we can modify the trigger that created by ADB Adapter. Following is the example (the bold font is the place where we need to modify; this modification is validated in Oracle): CREATE OR REPLACE TRIGGER TRI_P_TEST_LOOP_TABLE_1 AFTER INSERT OR DELETE OR UPDATE ON TEST_LOOP_TABLE_1 FOR EACH ROW DECLARE updating_key_fields EXCEPTION; BEGIN IF :NEW.ADB_SOURCE = T THEN return; END IF; IF INSERTING AND (:NEW.ADB_SOURCE <> T OR :NEW.ADB_SOURCE IS NULL) THEN INSERT INTO P_TEST_LOOP_TABLE_1 VALUES ( END IF; IF UPDATING AND (NOT UPDATING(ADB_SOURCE)) THEN IF UPDATING(FIELD1) THEN RAISE updating_key_fields; END IF; INSERT INTO P_TEST_LOOP_TABLE_1 VALUES ( END IF; IF DELETING THEN INSERT INTO P_TEST_LOOP_TABLE_1 VALUES (

END IF; EXCEPTION WHEN updating_key_fields THEN raise_application_error(-20300, ActiveDB Error: cannot update key fields of source table.); END TRI_P_TEST_LOOP_TABLE_1;

8. ADB Adapter Error: Optional feature not implemented


When the ADB Adapter Publisher service started, following error maybe prompted (when you use ORACLE as your database): Publication error. Publication service ADBPublisher with publication subject adb.LoopDetection encountered database error: DBError: 5 ErrorCode: HYC00 ServerCode: 0 Message: [TIBCO][ODBC Oracle Wire Protocol driver]Optional feature not implemented. When this error happens, the new data cant be published by the publisher services. To resolve this problem, we should modify the ODBC DSN of the Adapter instance. Find the EnableTimestampWithTimeZone=0 in the odbc.ini file, set the value 1. Save the file and restart the ADB Adapter.

9. ADB Adapter Start Error: Failed to load shared library, library name: adb55.dll
Description Adapter on windows throws the The ordinal 3823 could not be located in the dynamic link library LIBEAY32.dll and then a pop up is seen with the following message Lib name adb55.dll Failed to load shared library, library name: adb55.dll

Cause The error is due to the conflict that is occurring between the LIBEAY32.dll and SSLEAY32.dll that is used by TIBCO products like RV/JMS/HAWK and some NON TIBCO product. TIBCO Rendezvous (RV) 7.2+, TIBCO Enterprise for JMS (JMS) 3.1.1+, and TIBCO Runtime Agent (TRA) 5.1.2+ use OpenSSL code (files LIBEAY32.dll and SSLEAY32.dll). There are other applications which use the above OpenSSL code too and hence, on some machines, LIBEAY32.dll and SSLEAY32.dll are already installed (by non TIBCO applications) in C:\Windows\system32. When TIBCO Java applications are started, the JVM looks for a property called java.library.path that specifies native library paths. If java.library.path is not set explicitly, then the JVM sets the value of java.library.path to the environment variable PATH but prepend C:\Windows\System32 and other directories. If the versions of LIBEAY32.dll and SSLEAY32.dll in C:\Windows\system32 are not compatible with TIBCO Rendezvous, then TIBCO applications may fail when trying to use TIBCO Rendezvous (or TIBCO JMS). Resolution Please Remove/Replace/Rename the two dlls LIBEAY32.dll and SSLEAY32.dll that are present in <Windows_HOME>\System32 with those present in TIBCO_RV_HOME\bin. Note: (1)If you have RV 8.1 installed in <TIBCO_HOME>/tibrv/8.1; please copy the latest files from ./tibrv/8.1/bin folder to .\<Windows_HOME>\System32 folder. (2)Basically these files have to be replaced, with those in RV folder, in all the paths that are present in the %PATH% variable of the system. For e.g: The files in <SDK_HOME>/bin folder should also be replaced with those in RV folder.
Leave a Comment

Tibco Interview Tips


Filed under: Uncategorized SRIK @ 2:12 am

1.What are the modes of TIBCO BW Installations ?


GUI mode Console mode Silent mode

2.If you have installed a particular version of TIBCO software e.g. TIBCO BW X.Y.Z, What are X, Y and Z number stands for? Integration can be at different application layers:

X:Patch Y:Major Z:Minor

3.What is the role of TRA? TRA stands for TIBCO Runtime Agent. The TRA has two main functions:

Supplies an agent that is running in the background on each machine. 1. The agent is responsible for starting and stopping processes that run on a machine according to the deployment information. 2. The agent monitors the machine. That information is then visible via TIBCO Administrator. Supplies the run-time environment, that is, all shared libraries including thirdparty libraries.

4.What are the resources that gets included in the EAR file, created by the TIBCO Designer? An EAR file can contain local project resources, LibraryBuilder resources, and files as specified in AliasLibrary resources. In addition, the TIBCO Designer classpath may include references to other files that are included in the EAR file.

5.What are the revision control system options available in TIBCO designer?

File sharing VSS

Perforce XML Canon ClearCase iPlanet CVS PVCS

6.What are the different modes of service invocation? Services can be invoked in several ways.

A one-way operation is executed once and does not wait for a response. A request-response operation is executed once and waits for one response. In a request-response service, communication flows in both directions. The complete interaction consists of two point-to-point messagesa request and a response. The interaction is only considered complete after the response has arrived. Publication (notification) means an operation sends information on an asneeded basis, potentially multiple times. Subscription means incoming information is processed on an as-needed basis, potentially multiple times.

7.What is vcrepo.dat? TIBCO Designer creates a file named vcrepo.dat in the project root directory when you first save the project. This file is used to store properties such as display name, TIBCO Rendezvous encoding, and description. This file can be used for identification in place of the project root directory and can be used as the repository locator string (repoUrl). 8.What are the TIBCO BW activities that can participate in transactions? Not all TIBCO BusinessWorks activities can participate in a transaction. Only the following types of activities have transactional capabilities:

JDBC activities JMS activities ActiveEnterprise Adapter activities that use JMS transports EJB activities TIBCO iProcess BusinessWorks Connector activities

9.What are the different types of Transactions TIBCO provides? TIBCO BusinessWorks offers a variety of types of transactions that can be used in different situations. You can use the type of transaction that suits the needs of your integration project. When you create a transaction group, you must specify the type of transaction. TIBCO BusinessWorks supports the following types of transactions:

JDBC

Java Transaction API (JTA) UserTransaction XA Transaction

10.What activities are supported in JTA Transaction? The Java Transaction API (JTA) UserTransaction type allows:

JDBC JMS ActiveEnterprise Adapter (using JMS transports) EJB activities

to participate in transactions. 11.What activities are supported in XA Transaction ? The XA Transaction type allows:

JDBC activities ActiveEnterprise Adapter activities that use the JMS transport JMS activities

to participate in transactions. Note:For JMS activities and ActiveEnterprise Adapter activities, request/reply operations cannot participate in an XA transaction. Also, EJB activities cannot participate in an XA Transaction group. 12.What are the possible Error outputs of Read File activity? Integration can be at different application layers:

FileNotFoundException :Thrown when yhe file does not exist. UnsupportedEncodingException:Thrown when the text files encoding is not valid and the content of the file is read into process data. FileIOException :Thrown when an I/O exception occurred when trying to read the file.

13.What is the purpose of the inspector activity ? The Inspector activity is used to write the output of any or all activities and process variables to a file and/or stdout. This is particularly useful when debugging process definitions and you wish to see the entire schema instead of mapping specific elements to the Write File activity. 14.What are the maximum/minimum of threads available for incoming HTTP ? The maximum/minimum of threads available for incoming HTTP : 75/10

15.How can unauthorized users be prevented from triggering a process ? Unauthorized users be prevented from triggering a process by giving write access for the process engine to only selected users. Only users with write access can do activities like deploying applications, starting/stopping process engines etc. 16.What are the mandatory configuration parameters for FTP Connection & FTP with firewall ? The mandatory configuration parameters for FTP Connection

FTP host Port Username & Password>

If Firewall is enabled in addition the proxy host and port are required. 17.how to design a process such that depending on number of records updated in a database, 3 different sub-processes may be called ? Define 3 transitions from JDBC update with condition on the no of updates and call appropriate child processes. 18.How to use legacy .dat file format with latest designer ? Convert .dat file to multi file project using Administration tab while starting up Designer(Other one being Project tab) and then open the multifile project in the normal way. 19.What are the encodings supported by designer ? Encodings supported by designer are

ISO8859-1(Latin-1) UTF-8

20.What are the 4 main panels of the Designer window ? The 4 main panels of the Designer window are

Project panel Palette panel Design panel Configuration panel

21.How do you determine if there are broken references in the project? Project -> Validate for deployment 22.Where are the Designer preferences stored ?

Designer preferences stored are stores in a file called Designer <ver>.prefs in the user home directory. 23.Explain the process configuration parameters Max Jobs, Flow Limit & Activation Limit ?

Max Jobs :Max Jobs specifies the number of process instances that are kept in memmory. Once this limit is reached newly created process instances (subject to flow limit) are paged out to disk.0 specifies no limit and is the default. Flow Limit :Flow Limit specifies the maximum number of running process instances that are spawned before the process starter is suspended ie it enters a FLOW_CONTROLLED state and does not accept new events. This can be used to control the number of process instances running simultaneously and when the protocol generating the event can store the event till it is received, like email servers, JMS, RV etc. 0 specifies no limit and is the default. Activation Limit :Activation limit flag specifies that once a process instance is loaded it must be placed in memmory till it completes execution. By default it is enabled.

24.What are the options for configuring storage for process engines checkpoint repository ? The options for configuring storage for process engines checkpoint repository are:

Local File Database. Fault tolerant engines can recover from a checkpoint only when database is used.

25.Process engines in a fault tolerant group can be configured as peers or master secondary.How do these differ ? The options for configuring storage for process engines checkpoint repository are:

- Peer means all of them have the same weight. In this case when one engine fails another one takes over and continues processing till it fails. - In master secondary configuration weights are unequal, the secondary starts processing when master fails. But when master recovers, secondary stops and master continues processing.

26.What are the uses of grouping activities ? Uses of grouping activities are:

Create a set of activities having a common error transition. Repeat group of activities based on a condition. 1. - Iterate over a list. 2. - Repeat until condition true. 3. - Repeat on Error until condition true.

Group activities into a transaction. To create a critical section area that synchronizes process instances. A Pick First Group allows you to wait for the occurence of multiple events and proceed along a path following the first event to occur.

27.What is the purpose of a Lock shared configuration resource? A Lock is specified for a Critical Section group when the scope is Multiple. It can be used to ensure synchronization across process instances belonging to multiple processs definitions or for process instances across engines(Check multi engine flag for lock in this case and the BW engine needs to be configured with database persistence while deployment). If synchronization is for process instances belonging to the same processs definition inside one engine, just specify the scope as Single. 28.How to control the sequence of execution of process instances created by a process starter ? Use the sequencing key field in the Misc tab of any process starter. Process instances with the same value for this field are executed in the sequence in which they are started. 29.Can there be two error transitions out of an activity ? No. There can be only one Error and one Success if no matching condition transition out of each activity. 30.When is a No Action group used ? No Action group used to have a set of activities having a common error transition 31.What activity can be used to set the value of a User defined process variable ? The Assign activity can be used to set the value of a User defined process variable. 32.Which are the two process variables available to all activities with inputs ?

$_globalVariables $_processContext

3.Which mechanism can be used to pass data between a process instance and a called sub process other than mapping from/to the callees input/output ? This can be accomplished using job shared variables, unless in the call process activity the Spawn flag is enabled in which case the called sub process is a new job and hence gets a fresh copy of the job shared variable initialized as per its configuration. A shared variable can overcome this limitation as its scope is not limited to one job. 34.What are the three scenarios where BW engine has to be configured with database persistence instead of Local File ? The three scenarios are:

Shared Variables across BW engines. Locking across groups in multiple BW engines. Wait Notify across BW engines.

35.If you want a group to be executed if there is some unhandled error but subject to some max number of iterations which group do you use ? We can use Repeat on Error until true 36.When is a Generate Error activity useful? When you handle an error inside a called subprocess or group and want to rethrow the error to the caller(happens by default if you dont handle the error in the called process) 37.Which activity is used for detecting duplicate message processing? CheckPoint activity Specify the uniqueID for the duplicate key field and engine maintains list of these key fields. When a process come to checkpoint activity with the same value for duplicate key which already exists, it throws a DuplicateException. An error transition can then handle this case. 38.Give an example where graceful migration of service from one machine to another is not possible. HTTP Receiver. In this case the receiver on new machine starts listening on the same port, but you need to redirect requests from the old machine to the new one. 39.What are the types of adapter services ? Types of adapter services are :

Subscriber Service Publisher Service Request-Response Service Request-Response Invocation Service

40.If the business process needs to invoke another web service which resource do you use ? SOAP request reply activity. If the business process needs to be exposed as SOAP service use SOAP Event Source in conjunction with SOAP Send Reply or SOAP Send Fault. 41.What is the functionality of the Retrieve Resources resource? It can be used to serve the wsdl file of a SOAP Event Source to a (http) client. Construct a process like: HTTP Receiver -> Retrieve Resources -> Send HTTP Response Now the WSDL file for a SOAP service can be retreived using the http request
http://<host>:<port>/<path>/<resourceName>?wsdl

where path is the folder path to the SOAP Event Source process and resourceName is the name of the process Example : http://purch:8877/Purchasing/GetPurchaseOrder?wsdl 42.What is the scope of user defined process variables ? The scope of user defined process variables is only the process in which it is defined.(Not even inside a sub process that is invoked from this process) 43.What is difference between shared variable and job shared variable ?

Both of them can be manipulated via the palette resources Get shared variable and Set shared variable. A job shared variable is private to one instance of job or in other words each job has a fresh copy. In the case of shared variable the same copy is shared across all job instances. It can even be persisted and can survive BW engine restarts and even shared across multiple BW engines(when deployed using DB persistence).

44.How do wait-notify resources work ? Basically wait and notify should share a common notification configuration which is just a schema definition for data that will be passed from notifier to waiter. Specific instances of waiter & notifier are corrrelated via a key. For example: when one process is in wait state for key Order-1, it waits till another process issues a notification with the same key value. 45.What is the default Axis in XPath ? Child axis- What this means is that when you select BOOK from the current context, it selects a child node with that name, not a sibling with that name. Other axes are parent , self , sibling etc. 46.What are the output formats for XSLT?

XML HTML Text

47.What does Success if no matching condition transition mean ? Lets say between two nodes N1 and N2, there are 3 success transitions with condition and there is no success transition without condition. If none of the conditions match then a Success if no matching condition transition can be used. Also if there is a success transition and also success transitions with condition and if the condition matches then both the sucess transition (no condition) as well as the transition(s) with matching conditions are followed. So you can use Success if no matching condition to prevent duplicate paths of execution.

48.What is the Purpose of $_error variable ? is available in the node following the error transition. It captures the error message, error code etc.
$_error variable

49.What are the cases where business process cant proceed correctly subsequent to restart from a checkpoint ?

Sending HTTP response, confirming an email/jms message etc. This is because the confirmation or sending HTTP response has to done in the same session. When engine crashes these sessions are closed at their socket level. In such cases send response/confirm before checkpoint.

50.Which group do you use to wait for multiple events and proceed with the first to occur ? A Pick First Group.
Leave a Comment

September 19, 2010


Welcome to Tibco World !
Filed under: Uncategorized SRIK @ 9:01 am

We are the Experts in Tibco.


Leave a Comment

Hello world!

Filed under: Uncategorized SRIK @ 8:58 am

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!
Comments (1)

Pages: o About SRIK Solutions Blogroll o Documentation o Plugins o Suggest Ideas o Support Forum o Themes o WordPress Blog o WordPress Planet Categories: o Tibco Adapter o Tibco Admin o Tibco AMX Administrator o Tibco BPM o Tibco Business Connect o Tibco Business Events o Tibco Business Works o Tibco BW Interview Faq's o Tibco CIM o Tibco EMS o Tibco EMS Interview Questions o Tibco Hawk o Tibco iProcess Suite o TIBCO Rendezvous o Tibco Training o Tibco-AMX-BPM o Uncategorized Search:

Archives: o April 2011 o March 2011 o February 2011 o January 2011 o December 2010 o November 2010 o October 2010 o September 2010 Meta:

o o o o o o o

Register Log in RSS Comments RSS Valid XHTML XFN Blog at WordPress.com.

Theme: Shocking Blue Green. Blog at WordPress.com.

Tibco Blog April 27, 2011


BE 4.0 is unable to do JMS Conection
Filed under: Tibco Business Events SRIK @ 4:33 pm

In BE 4.0 when we are trying to do JMS Connection and JNDI Configuration, below error will occur.

Solution : GO to below location. C:\tibco\be\4.0\studio\eclipse\configuration\studio.tra check the line : studio.extended.classpath=C:/tibco/be/4.0/studio/eclipse/thirdparty Note : We need to create thirdparty folder and place the jms.jar and tibjms.jar in this folder. These jars are availble in C:\tibco\ems\6.0\lib

Comments Off

April 20, 2011


If SOAP Protocol is installed, even though if it is not reflecting in Tibco Administrator
Filed under: Tibco Business Connect SRIK @ 4:38 pm

If SOAP Protocol is installed, even though if it is not reflecting in Tibco Administrator as show below.

Solution :

Step 1)

Go to Tibco BusinessConnect and Right hand side click on Manage Installation as shown below

Step 2)

Do the Manage Installation as show below. Click the check box for SOAP and click on Activate Button.

Step 3)

Once clicked on Activate Button, it will log off administrator as show below.

Step 4) Now SOAP Protocol is activated on Tibco Administrator as show below.

Leave a Comment

Tibco AMX BPM engine without using SOAPUI :


Filed under: Tibco-AMX-BPM SRIK @ 4:46 am
In order to test the BPM process's web service call, you only need to create a simple web page (can be a JSP page) and use the SOAP calls. This can easily be done in Eclipse. Just follow the following steps and you will be able to test your BPM process as a web service. Eclipse creates a JSP page automatically by reading your WSDL file and hence you are not required to put in that effort of creating the input fields and other things on the JSP page.

Here are the steps to accomplish this: 1) Launch the Eclipse workbench. From the main menu bar, select Run -> Launch the Web Services Explorer. This will take a few moments the first time while Eclipse's internal Tomcat server starts up and loads the Web Services Explorer application. After the Web Browser view opens, maximize it. You should be able to see two panes. the left hand side has 'UDDI main' listed in it. The right hand side pane will have the related entries. 2) In the Web Service Explorer's toolbar (top-right), click on the WSDL Page icon to open the 'WSDL' view. You should now be able to see the 'WSDL Main' in place of 'UDDI Main' in left hand pane. 3) Click on WSDL Main. The related results open up in right hand pane. 4) In the WSDL URL field, enter the URL of your WSDL or if you have the WSDL file on your system, just browse the file using browse button. 5) Click 'Go'. This will list all the operations available ithe WSDL i.e. all the functions that you can actually call in this web service. 6) Click on the operation that you want to call. The system automatically creates a JSP page which prompts you for entering the INPUT parameters (in any) to call this web service. Enter the values. Now click on the 'Source' link visible on the top right corner of this pane. It shows you the SOAP message that the system has created for calling the web service. The TIBCO AMX BPM runtime engine does not entertain any web service requests without proper authentication. Hence, you need to pass the user Name and password as part of this SOAP message. To do this, you should copy the following code in the header part in this pane. <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis200401-wsswssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1"> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis200401-wsswssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-2"> <wsse:Username>USERNAME</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wssusername-tokenprofile-1.0#PasswordText">PASSWORD</wsse:Password> <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis200401-wss-soapmessage-security-1.0#Base64Binary">foooooobar==</wsse:Nonce> <wsu:Created>2010-01-25T13:09:24.860Z</wsu:Created> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> Now click 'Go' from here.

7) The results of the web service call are listed in the pane just below the right hand side pane. It is called as 'Status' pane.

Leave a Comment

TIBCO AMX BPM Action Processor Error in Workspace


Filed under: Tibco-AMX-BPM SRIK @ 4:39 am
Following steps may help you resolve the isse: 1. Shutdown the BPMNode. (Log in to TIBCO AMX Administrator->Infrastructure>Nodes->Select your BPMNode->Stop) 2. Go into the $TIBCO_CONFIG_HOME/tibcohost/<Enterpise Name>/nodes/BPMNode/work/GeronimoTMID 3. Move the tmid.bin & xidcount.txt files to some other folder. Just cut and paste it on desktop or anywhere else. 4. Start the BPMNode up again. (Log in to TIBCO AMX Administrator>Infrastructure->Nodes->Select your BPMNode->Start) NOTE: You might have to stop and restart the amx.bpm.app if it shows in a partially started state.

Leave a Comment

April 15, 2011


Database Connection using TIBCO oracle driver in Designer ?
Filed under: Tibco Business Works SRIK @ 6:03 pm
1. Start a new project in TIBCO Designer 2. Drag a Process Definition (available on process palette) 3. Drag a JDBC connection (available on JDBC palette) 4. Click on JDBC connection icon 5. Select the followinga. Connection Type (available on Configuration area) b. JDBC Driver (i.e. tibcosoftwareinc.jdbc.oracle.OracleDriver) c. Type database URL (<host name> is 'computer name', <port#> is 'the number oracle use', SID is 'Oracle instance name') d. Type user name and password

6. Click Test connection (u'll know either connection is establish or not. if not check the host name, port #, SID, Oracle TNSListener) 7. In the process definition, drag ur desire task like as query, update etc. (available on JDBC palette) 8. Create transition, validate and Run test N.B. 1. How to know Oracle SID name and port number - Log in Oracle SQL*Plus. Select * from V$instance. It'll give u the Oracle SID name - Find and open the Oracle Listener log file. It'll gives u the port number. 2. How to start oracle TNSListener

Leave a Comment

Go to Services and start the TNSListener services.

April 13, 2011


Why Tibco Administrator Server fails to start ?
Filed under: Tibco Admin SRIK @ 3:22 pm

I tried to run in command line, also fails: C:\tibco\administrator\5.1\bin>tibcoadmin_tibc o.exe Failed to find the start class, com/tibco/administrator/startup/AdminWrapper bad classpath? Exception in thread main java.lang.NoClassDefFoundError: com/tibco/tibrv/TibrvException Unable to find the start class Solution: It looks like the tibrvj.jar file in your classpath, put the tibrvj.jar file into your classpath.

Same time check the .tra of admin which is availble in c:\tibco\administrator\domain\domain_name\ edit .tra file check the path (i.e. C\:/TIBCO/TIBRV/8.1/bin & C\:/TIBCO/TIBRV/8.1/lib/tibrvj.jar)

Leave a Comment

Pages: o About SRIK Solutions Blogroll o Documentation o Plugins o Suggest Ideas o Support Forum o Themes o WordPress Blog o WordPress Planet Categories: o Tibco Adapter o Tibco Admin o Tibco AMX Administrator o Tibco BPM o Tibco Business Connect o Tibco Business Events o Tibco Business Works o Tibco BW Interview Faq's o Tibco CIM o Tibco EMS o Tibco EMS Interview Questions o Tibco Hawk o Tibco iProcess Suite o TIBCO Rendezvous o Tibco Training o Tibco-AMX-BPM o Uncategorized Search:

Archives: o April 2011 o March 2011 o February 2011 o January 2011 o December 2010 o November 2010 o October 2010 o September 2010 Meta: o Register o Log in o RSS o Comments RSS

o o o

Valid XHTML XFN Blog at WordPress.com.

Theme: Shocking Blue Green. Blog at WordPress.com.

March 22, 2011


How many types of Advisory Events are present in Business Events ?

Filed under: Tibco Business Events SRIK @ 5:19 am

This query was raised one of the visitor of my site :

Solution :

Leave a Comment

March 15, 2011


Retrieve WSDL from a URL in Tibco BW ?
Filed under: Tibco Business Works SRIK @ 5:30 am

Implementation Steps :

1) Tibco BW process like this :

HTTP Receiver -> Retrieve Resources -> Send HTTP Response

Here is the mapping of Retrieve Resource :

resourcePath = $HTTP-Receiver/ProcessStarterOutput/RequestURI

filter = $HTTP-Receiver/ProcessStarterOutput/QueryStringStep

2) Testing in Designer :

Start both Service, and the process that contained retrieve resources.

Also, try http://<host>:port/inspection.wsil and see if you get any content

Leave a Comment

How to do validation Strict WSDL schema in Tibco BW ?


Filed under: Tibco Business Works SRIK @ 5:28 am

java.property.com.tibco.plugin.soap.<name_of_SOAPEventSource_Activity (includingpath)>.NoInputValidation=true
Leave a Comment

Install SSL certificate to BusinessConnect DMZ server ?

Filed under: Tibco Business Connect SRIK @ 5:27 am

Solution :

Step 1) Install new host certificate in Business Connect>System Settings >Server Identities onTIBCO Admin Consol.

Now select this certificate in Business Connect Application>Public Process Configuration >HTTPS>Host Identity for HTTPS server.

There will be a drop down to select the certificate. Select the latest cert which you installed in step 1.

Step 2) This is the private key which you have uploaded in Business Connect.Now for a web-url, you need to upload the Public Key.

For your web-url, you must have enabledfirewall configuraion.In firewall configuration, you need to upload this public key.
Leave a Comment

How to invoke a Tibco Web Service ?


Filed under: Tibco Business Works SRIK @ 5:25 am

Do the following to generate a SOAP service.

1) Define your input, output and fault output in an xsd schema.

2) Create a subprocess which contains either the input and output as the start and end respectively orinput and output/fault in your start and end of your subprocess.

3) right click over your subprocess or if you have multiple subprocesses you want to turn into SOAPservices place them all into a folder and right click over the folder and there should be an option at thebottom that says Tools or Multi-User > Generate Webservice .

Once you create this service you should look into using an http receiver and http response activitywith the SOAP retrieve resource activity to allow people to get your wsdl from your service.

Once you do that you can use Axis or a Tibco BW Webservice client using the SOAP Request Replyactivity to draw your wsdl automatically from your soap service.
Leave a Comment

Importance of DMZ Deployment Mode in Tibco Business Connect ?


Filed under: Tibco Business Connect SRIK @ 5:23 am

DMZ is situated in between two firewall (outside and inside) . Also any http or https request which is coming from outer world, DMZ forwarded that request to interior server through rv( rvrd).
Leave a Comment

Tibco Business Connect Deployment Mode of DMZ Communications with Protocol Break
Filed under: Tibco Business Connect SRIK @ 5:22 am

Integration Framework implementation need to use BusinessConnect (BC) for communications with anexternal ftp. It is good practice we intend to implement this using the BC Dual Firewall DMZ Modedeployment type. This involves an Interior Server component on a machine within the network and aDMZ Server component operating between two firewalls (the external firewall and the firewallbetween the DMZ and rest of the network).

Our domain uses EMS as its primary communications transport method (the Interior Server is already amember of the domain as it can communicate using EMS), but for the DMZ Server required to useRendezvous in order to employ the protocol break concept for security.

So far we have been able to configure the Rendezvous Routing Daemon (rvrd) to run as a service onthe Interior and DMZ Server. By using the web gui for rvrd to add each machine (Interior and DMZServers) as a neighbor and thus enabled the machines to see each other through the firewall
Leave a Comment

March 3, 2011
TIBCO BusinessWorks Get path of the process dynamically
Filed under: Tibco Business Works SRIK @ 5:01 pm

Developing a process that will read and send an image in an e-mail. This image is a folder within this process. Solution : If your images exist in a folder in your BW-project you can use the Retrieve Resource activity to get to the content. You just have to set the resourcePath with the relative Path in your project and it will output the base64 data.

Leave a Comment

March 1, 2011
Channels in Tibco Business Events ?
Filed under: Tibco Business Events SRIK @ 3:16 pm

Channels are physical connections to a resource. Destinations in a channel represent listeners to message from that resource and also can send messages to the resource.

There are 3 types of channels: 1. RV channels

2. JMS channels

3. Local channels

JMS and RV channels pass information into and out of Business Events applicaiton. Local Channels are referenced in functions and are used to send events between rule sessions. Local channels are used in applications that have multiple rule session in one node and that use In Memory object management.

Leave a Comment

Different kinds of events in Tibco Business Events ?


Filed under: Tibco Business Events SRIK @ 3:09 pm

Business Events processes three kinds of events:

1. Simple Event : This is a record of a single activity that occured at a single point in time. 2.Time Event : This is an event definition that triggers the creation of event instances based on time.

Time event can be configured in 2 ways:

Rule based: A rule schedules the creation of a time event instance at a give time

Time-interval based: Business events creates a time-event instance at regular intervals. 3.Advisory Events : A notice generated by Business Events to report an activity in the engine, for example, an exception. As Shown below :

Leave a Comment Older Posts


Pages: o About SRIK Solutions Blogroll o Documentation o Plugins o Suggest Ideas o Support Forum o Themes

WordPress Blog WordPress Planet Categories: o Tibco Adapter o Tibco Admin o Tibco AMX Administrator o Tibco BPM o Tibco Business Connect o Tibco Business Events o Tibco Business Works o Tibco BW Interview Faq's o Tibco CIM o Tibco EMS o Tibco EMS Interview Questions o Tibco Hawk o Tibco iProcess Suite o TIBCO Rendezvous o Tibco Training o Tibco-AMX-BPM o Uncategorized Search:
o o

Archives: o April 2011 o March 2011 o February 2011 o January 2011 o December 2010 o November 2010 o October 2010 o September 2010 Meta: o Register o Log in o RSS o Comments RSS o Valid XHTML o XFN o Blog at WordPress.com.

Theme: Shocking Blue Green. Blog at WordPress.com.

Tibco Blog January 31, 2011


How to configure RVRD between two network in Tibco RV
Filed under: TIBCO Rendezvous SRIK @ 6:12 am

1. Start RVRD on both the boxes, i.e. box A and box B, which are in two different subnets. 2. Open the http interface of both the RVRDs in two different browser instances. 3. Click on the router link, add a unique router name for both the instances. 4.Then click on the local network link on the same page (which will be initially shown as 0), add the local network name, service, network specification and cost and click on add. 5. Then go to the routers link, click on the neighbours link (initially shown as zero), in the remote end point, put the hostname/ip address of the other RVRD box as well as the router name for the other RVRD and add the neighbor interface. In the port, use a TCP port that has been opened by your firewall. In this page, you can select on the type of your neighbors as well, i.e. accept any, passive etc. Default is ACTIVE-ACTIVE, i.e. any of these two RVRDs can initiate a connection to the other RVRD. 6. Follow step 4 and 5 for the other RVRD too. 7. Wait for some time and then click on the Connected Neighbors link to see if the connection is established between these two RVRDs. 8. Now for data communication, click on the local network name from the routers page and specify the export/import list of the subjects. This will enable your RVRD to send and receive the messages to/from the other network, which match these export/import subject. 9. Try a tibrvlisten/tibrvsend test on one of the exported/imported subject on both sides to check that the communication is happening.
Leave a Comment

Tibco RV DaemonManager RvdProxy.getServices() [rvconfig API]


Filed under: TIBCO Rendezvous SRIK @ 6:11 am

public static void main(String[] args) throws RuntimeException { DaemonManager daemonManager = new DaemonManager(http://srik.com:7580);

if(daemonManager.getDaemonType() == DaemonManager.RVD) { DaemonProxy daemonProxy = daemonManager.getDaemonProxy(); final RvdProxy rvdProxy = (RvdProxy) daemonProxy; System.out.println(rvdProxy.getComponentName()); System.out.println(rvdProxy.getComponentInformation().getHostname()); System.out.println(rvdProxy.getComponentInformation().getIpAddress()); System.out.println(rvdProxy.getComponentInformation().getLicenseTicket()); System.out.println(rvdProxy.getComponentInformation().getName()); System.out.println(rvdProxy.getComponentInformation().getProcessID()); System.out.println(rvdProxy.getComponentInformation().getVersion()); Service[] services = rvdProxy.getServices(); System.out.println(services.length); //prints 0 for (Service service : services) { System.out.println(service.getNetwork()); } } }
Leave a Comment

Tibco Rv How to get the list of Subject in RV


Filed under: TIBCO Rendezvous SRIK @ 6:10 am This may help ./tibrvlistern -service %%service%% -network %%network%% -daemon %%daemon %% > > %%output file%% control C after 10 mins for example. then grep subject %%output.file%% | awk -F subject= {print $2} | awk { print $1} | sort -u Please send your comments and suggestions. Leave a Comment

Tibco RendezVous quick-start tutorial

Filed under: TIBCO Rendezvous SRIK @ 6:08 am

The purpose of this -short- tutorial is to guide you until you can send and read a HelloWorld message passing through Tibco RendezVous

Installation

Set the variable JAVA_HOME Eg, in my case:


set JAVA_HOME=C:\java\jdk150_10

Get the file to be installed:

TIB_rv_8.1.2_win_x86_vc8.zip

Unzip the content in your local drive Launch the installer (.exe) o select Custom installation o choose the installation folder, eg: C:\tibco o keep default options for other requests Set the variable TIBRV_HOME Eg, in my case:
set TIBRV_HOME=C:\tibco\tibrv\8.1

Main Runnables RVD: Daemon

Launching the daemon on local host on port 8181 (default port: 7580):
rvd -http 8181

You should see the following trace:


C:\tibco\tibrv\8.1\bin>rvd -http 8181 TIB/Rendezvous daemon Copyright 1994-2008 by TIBCO Software Inc. All rights reserved. Version 8.1.2 V8 9/26/2008 2010-01-19 16:37:02 rvd: Command line: rvd -http 8181 2010-01-19 16:37:02 rvd: Hostname: MYLOCALMACHINE 2010-01-19 16:37:02 rvd: Hostname IP address: 123.123.123.123 2010-01-19 16:37:02 rvd: Detected IP interface: 123.123.123.123 (IP00) 2010-01-19 16:37:02 rvd: Detected IP interface: 127.0.0.1 (loopback) 2010-01-19 16:37:02 rvd: Unable to find ticket file tibrv.tkt in PATH

2010-01-19 16:37:02 rvd: Http interface http://myLocalMachine.myDomain:8181/

tibrvsend: send a message


To send a message on myLocalMachine:7580:
.\tibrvsend.exe -service 7580 -network MYLOCALMACHINE mySubject myMessage

Expected output:
C:\tibco\tibrv\8.1\bin>.\tibrvsend.exe -service 7580 -network MYLOCALMACHINE mySubject myMessage Publishing: subject=mySubject "myMessage" 2010-01-19 16:52:11 RV: TIB/Rendezvous Error Not Handled by Process: {ADV_CLASS="WARN" ADV_SOURCE="SYSTEM" ADV_NAME="LICENSE.EXPIRE" ADV_DESC="The license will expire" expiretime=2010-01-19 16:02:11Z host="10.30.226.147"}

tibrvlisten: listen to messages


Abstract
To listed to messages published on MYLOCALMACHINE:7580, related to subject mySubject:
tibrvlisten -service 7580 -network MYLOCALMACHINE mySubject

Use case: HelloWorld


For instance, lets assume that you launch this command from one frame:
C:\tibco\tibrv\8.1\bin>.\tibrvsend.exe -service 7580 -network localhost mySubject HelloWorld Publishing: subject=mySubject "HelloWorld"

Here is what appears in the listening frame:


2010-01-19 17:01:32 (2010-01-19 16:01:32.990000000Z): subject=mySubject, message={DATA="HelloWorld"}

Notice you can have many instances listening to the same messages.

Other runnables Launch the daemon manager

Launch:

cd %TIBRV_HOME%/RVDM ./RVDM.bat -http 8282 .

You should see following messages, that you can ignore:


2010-01-19 13:01:48 rvdm: RVDM has activated. 2010-01-19 13:02:03 RV: TIB/Rendezvous Error Not Handled by Process: {ADV_CLASS="WARN" ADV_SOURCE="SYSTEM" ADV_NAME="LICENSE.EXPIRE" ADV_DESC="The license will expire" e xpiretime=2010-01-19 12:11:48Z host="123.123.123.123"}

To check the daemon is on, you can open the address http://localhost:8282 on your favorite browser.

Example sources
Example sources are available in folder %TIBRV_HOME%/src/examples/java

Misc
TIBRV_HOME\bin

folder fosters a couple of binaries:

rvntscfg.exe: Services Configuration Program

Leave a Comment

Http Interface of Tibco RV


Filed under: TIBCO Rendezvous SRIK @ 6:07 am

Every host where tibco rvd is running expose on HTTP interface using that we can get many useful information e.g How many clients are connecting to a particular service Which services has been subscribed by rvd Which hosts are connected to this rvd. How much data has been sent to received Viewing tibco log to figure out any tibco issue. Hwo many subject a particular service is using and what are those etc. to check on which Http port your rvd is publishing information do this in your linux/windows host where rvd is running ps -ef | grep rvd

this will show rvd process with parameters used for starting -http 7582 shows that http interface is on port 7582 now just type this in your browser. http://hostname:7582/
Leave a Comment

Tibco RV messagging
Filed under: TIBCO Rendezvous SRIK @ 6:06 am

Tibco RV messagging
1) 2) 3) 4) 5) location transparency platform independence reliable and fast comprehensive API point to point delivery and publish/subscribe delivery.

Location transparency Location transparency means for sending and receiving message on a multicast network you need not to aware of physical location of sender or receiver as long as you know the topic( also called subject in tibco world) , so its pretty simple Sender publish message on multicast topic in a network and all subscriber which have subscribed on that topic receives message without being knowing physical location of publisher. Sender could be anywhere in the world e..g New york ,Tokyo , London , receiver can be anywhere e.g. London , Hongkong , Tokyo. Platform independence its doesnt depend on platform , Sender can be running on unix box while receiver could be running on windows machine. most of the time GUI runs on windows and Server runs on Linux and they exchange messages via tibco. Reliable and Fast TIbco RV makes best effort (not guaranteed) to deliver message to receiver and its very fast usually used to send Market data etc but not used for sending Order or execution message because there is always chance of loosing such message. generally we use certified message to make guaranteed delivery of those message. Comprehensive API

tibco rv comes with rich API in both C++ and Java language and can be plugged to application easily, API provides methods and classes for different modes of communication e.g. Point to Point , publish/subscribe , certified messaging etc. Point to Point Deliver Tibco can be used for point-2-point delivery (some times also called Request/Reply mode), it used INBOX topic for doing so , when tvd sees INBOX topic instead of publishing that message into multicast network it makes direct connection to destination host and sends message. Publish/Subscribe This is achieved using Subject or Topic , receiver subscribes on multicast network on a particular topic and Sender sends message on those Topic, after that its tibcos responsibility to deliver those message.

Leave a Comment

Tibco RV tips and commands


Filed under: TIBCO Rendezvous SRIK @ 6:06 am

These are few tips/commands/concept which essential while working with tibco rv for resolving day to day problems or issues. How to send message from command prompt using tibrvsend ? tibrvsend -network 190.231.54.20 -service 5420 -daemon tcp:7500 TESTING How to receive message in command prompt using tibrvlisten ? tibrvlisten -network 190.231.54.20 -service 5420 -daemon tcp:7500 How do you identify whether tibco rv is running in your host or not ? ps ef | grep rvd (in linux) , for windows check rvd in task manager. ,if tibco rv is running then rvd must be a live process. How do you identify which services are subscribed from localhost ? netstat g How do you identify which services and clients are connected to your host via tibco rv ? We can use tibco rv admin webpage , which listens on some predefined port e.g. 7542 http://host:7540 and then we can get all the details

Can we specify which NIC card to use while specifying network parameter Yes , we can specify e.g. eth1;190.230.54.80 , if dont give any NIC card name then it will bind to default eth0 card. What will happen if same service e.g. 5480 tries to register with two network e.g. 190.230 and 192.230 ? Tibco RV will not allow that , it will throw exception while creating transport you can see that exception in tibco rv log via webpage. What is the standard location for applications using TIBCO RV (Rendezvous)? The latest TIBCO RV libraries will always be available through the following location: /opt/tibops/rv/lib Previous versions of the libraries can be access through: /opt/tibops/RV//lib How to change reliablity parameter ? This is a startup parameter , you can see it by greping in ps ef | grep rvd, for chaning it you need to disconnect all the application connected to that RVD and restart.
Leave a Comment

Configuring the TIBCO Routing Daemon (rvrd) to Communicate Between Two Networks
Filed under: TIBCO Rendezvous SRIK @ 6:04 am The following procedure explains how to configure the routing daemon between an NT host (JVR) and a Unix host (Cisco CNS PerfE). We will use the following sample IP addresses: JVR host IP address: 128.1.13.105. Cisco CNS PerfEhost IP address: 172.1.15.110.

Windows NT Installation
On a Windows NT system, use the following steps: Step 1 Make sure to uninstall any services registered for TIBCO.

Step 2 Run rvntscfg.exe to uninstall rvd, rva, etc.

Step 3 Install rvrd with the options: -permanent -store c:\rvrd.db -logfile c:\rvrd.log

Step 4 Start the rvrd service. By default, it will start the service at port 7500 and the http port at 7580.

Step 5 Open the web interface for rvrd: http://128.107.133.105:7580

Step 6 Add a routing entry as follows:

a.

Click on Routers.

b.

Enter the router name, JVRHOST and click Add.

c.

For the route for JVRHOST, add a local network as follows:

1. Click on Local Networks and add the network information: Network Name: JVRNetwork Service: 7500 Network Specification: 128.107.133.105 2. Click on Add Local Network. Double-click the newly added local network to specify the subject filtering, enter as appropriate or enter > to accept every subject, 3. Click on Add for import and export.

Step 7 For the route for JVRHOST, add PERFEHOST as a neighbor:

a.

Click on Neighbors and add the network information:

Neighbor Name: PERFEHOST Host IP Address: 172.29.146.110 Remote port: 7510 Local Port: 7510

b.

Click Add Active [all].

Alternatively, you can listen for messages from all Cisco CNS PerfEs just by selecting the top option and specifying the local port number as 7510. This completes the rvrd configuration under Windows NT.

Unix Installation
On a Unix system, use the following steps: Step 1 Make sure that Cisco CNS PerfE is stopped using stop.sh all.

Step 2 Make sure that all the processes (rvd, rva) are shut down.

Step 3 Make sure that the DAS_HOME environment variable is set: $> sh $> . $DAS_HOME/bin/env.sh $> rvrd -listen tcp:7500 -store $DAS_HOME/config/rvrd.cfg From the web browser, go to http://172.29.146.110:7580 and administer rvrd on the Cisco CNS PerfE host as follows:

Step 4 Add a routing entry: Router name: PERFEHOST

Step 5 For the TIBCO router PERFEHOST, enter the local network as follows: Networkname: PERFENetwork Service: 7500 Network Specification: 172.29.146.110 Specify the subject appropriately or as >.

Step 6 For the route PERFEHOST, add JVRHOST as a neighbor:

a.

Click on Neighbors;

Neighbor Name: JVRHOST Host IP Address: 128.107.133.105 Remote port: 7510 Local Port: 7510

b.

Click Add Active [all].

This completes the Unix/PerfE side rvrd configuration. Now both daemons are configured appropriately to talk to the networks and they establish TCP connections on port 7510.

Leave a Comment

Tibco RendezVous Important Concenpts


Filed under: TIBCO Rendezvous SRIK @ 6:00 am

Certified Messaging : Certified Messaging (CM) guarantees that 1. Message will be sent. 2. The order of the message will be same as sent.

The parameters for the CM transport: Daemon Service Network CMname Ledger CM which will allow persistant mechanism for the messages channeled using rendezvous. RVCM configuration tibrvcm.conf :This file defines the TIBCO Rendezvous certified messaging (RVCM) listeners for use by topics that export messages to a tibrvcm transport. The server preregisters these listeners when the server starts up so that all messages (including the first message published) sent by way of the tibrvcm transport are guaranteed. If the server does not preregister the RVCM listeners before exporting messages, the listeners are created when the first message is published, but the first message is not guaranteed. The format of this file is transport listenerName subjectName Difference between Reliable delivery and Certified delivery? Reliable Delivery: Ledger: None Time Limit: Contains outbound messages for 60 seconds Network Traffic: Minimal File Storage: No file storage Certified Delivery: Ledger: The certified delivery library records outbound messages in a ledger, either within the program process storage, or in file storage. Time Limit: The certified delivery library retains outbound messages in the ledger until either delivery is complete or the time limit (set by the program) expires. Network Traffic:Additional network overhead to confirm delivery of each certified message. File Storage: Optional file-based ledgers consume file storage for each message until delivery is complete (or the time limit expires). Why EMS-RV communication?

f you are doing migration of the projects ( in general, trading apps, most of the trading apps are using RV and other examples are TIBCO IM ) you can bridge messages to EMS or to RV and vice versa, and can do your migration very easily. another good example of this scenario might be if you are using RV along the company and want to integrate an application that can communicate via JMS out of the box. Building a RV-JMS bridge might be much easier than developing the code to do that. Message interaction between programs : Three distinct kinds of interactions occur between programs in Rendezvous environment. Publish/Subscribe interactions. Request/Reply interactions. Multicast Request/Reply interactions. Publish/Subscribe interactions: These are driven by events. Communication is in one directions. The interaction consists of one multicast message, published once and received by all subscribers. Example: Publishing the latest stock prices to hundreds of traders on a trading floor simultaneously. Request/Reply Interactions These interactions are driven by demand for data. The client requests data from a server, the server computes the individual response and returns it to the client. Communication flows in both directions. This consists of two point to point messages : a request and a reply. Example: transaction processing in ATM banking Multicast Request/Reply Interactions These interactions are also drive by demand for data. In Multicast request/reply, multiple servers can receive the request and respond. Communication is in both directions. Complete interaction consists of one multicast request message and any number of point-to-point messages Example: Database query with multiple servers. Remote RV communication : Rendezvous uses UDP protocol to communicate within the network locally. For communicating beyond the subnet or the network, it uses Remote RVs (RVRD). RVRD uses HTTP protocol for communicating outside the network. Each subnet can be divided into different IP addresses using different port nos. This in turn leads to multicasting.

One of the machines in each subnet on which RVRD is configured communicates with the other configured RVRD machine in the other subnet. In other words, these RVRD configured machines act as gateways in their respective subnets as each message is sent through these machines for any machine in the subnet to communicate with a machine in the different subnet. -service 7500 -network 113.193.125.221 -daemon tcp:7500 BW.Start hello world
Leave a Comment

Tibco RV Components
Filed under: TIBCO Rendezvous SRIK @ 5:59 am rvcache Command

Syntax :

rvcache -store filename [-http [ip_address:]http_port] [-https [ip_address:]https_port] [-http-only] [-https-only] [-no-http] [-idle] [-sync interval] [-merge shallow | deep] [-memory-only]

Purpose

The program rvcache stores data from recent messages, indexed by subject name, and automatically sends the cached data to new listeners.

Remarks Given a set of one or more subject names, rvcache listens for messages addressed to those subjects. Each time it receives such a message, it stores the messages data content. When a client program queries for a cached subject, rvcache sends a reply message with the current cached value. Browser Administration Interface

To administer or configure rvcache, view http://rvcache_host:http_port with a web browser. When the program starts, it prints the actual HTTP administration port. State

rvcache can run in either of two statesrunning or idle.

When running, rvcache listens to subjects, caches message values, and responds to queries.

When idle, rvcache does not operate; however, the browser administration interface is available for configuring parameters. Initial Subject Configuration

The first time you run rvcache, you must configure its subjects and change its state to running. After that, rvcache reads the subject list from its file.

Storage

rvcache stores the data in process memory and in a disk file. The command line parameter -store specifies the name of the disk file; if the file exists when rvcache starts, then rvcache reads the file to initialize its configuration parameters and to populate its cache in process memory. The command line parameter -sync specifies the interval at which to synchronize the file-based store with process-based store. Steps as follows :

Leave a Comment Older Posts


Pages: o About SRIK Solutions Blogroll o Documentation o Plugins o Suggest Ideas o Support Forum o Themes o WordPress Blog o WordPress Planet Categories: o Tibco Adapter o Tibco Admin o Tibco AMX Administrator o Tibco BPM

Tibco Business Connect Tibco Business Events Tibco Business Works Tibco BW Interview Faq's Tibco CIM Tibco EMS Tibco EMS Interview Questions Tibco Hawk Tibco iProcess Suite TIBCO Rendezvous Tibco Training Tibco-AMX-BPM Uncategorized Search:
o o o o o o o o o o o o o

Archives: o April 2011 o March 2011 o February 2011 o January 2011 o December 2010 o November 2010 o October 2010 o September 2010 Meta: o Register o Log in o RSS o Comments RSS o Valid XHTML o XFN o Blog at WordPress.com.

Theme: Shocking Blue Green. Blog at WordPress.com.

Tibco Blog December 29, 2010


Using Custom JDBC Shared Resource in Design Time
Filed under: Tibco AMX Administrator SRIK @ 10:35 am

TIBCO ActiveMatrix Service Grid Using Custom JDBC Shared Resource in Design Time
Design Time / Eclipse Enviornment:
Create a new Fragment Project in Business Studio.

Name the project and unselect the check box Create a Java Project. Click Next.

Host plugin ID is mandatory as this is the only plugin from which drivers are loaded in BusinessStudio.

Click Browse to select Host plugin. Filter the list with com.tibco.tpcl.jdbc.drivers.

Enter the minimum and maximum versions of the Host plugin. Click Finish

Empty plugin fragment is now created.

Import the JDBC driver jar files in the plugin project.

Open the project manifest file and select Runtime tab. Add the imported jar files in the classpath.

Select MANIFEST.MF tab. Enter all the packages in the imported jar files. This has to be done manually as BusinessStudio does not allow the packages to be selected in the Exported Packages picker under Runtime tab. Ignore the validation errors.

Export the project as Deployable Plugins and fragments. Select \components\eclipse as the output directory. Click Finish and verify that the plugin is created in the directory specified

Restart BusinessStudio. Create a new JDBC Shared Resource in a TIBCO ActiveMatrix SOA project. The custom driver will not appear as a drop down. You can provide susbstition variables for DB URL and DB Driver. Or you can override the defaults. Make sure that you provide the Database URL first before typing in the JDBC driver.

Test Connection.

Comments (1)

December 28, 2010


Handling a few thousand simultaneous connections in TIBCO BusinessWorks

Filed under: Tibco Business Works SRIK @ 11:13 am

Scaling with TIBCO BusinessWorks can sometimes be a bit tricky. Recently I began testing some scenarios how to scale a Webservice a bit larger. The first source of information was of course the official documentation and to look at the proposed best practice values for such an engine. To start small, I tried a HTTP Receiver with a 32bit JVM runtime. I set the heap to the maximum amount possible (something about 1.7gig) and tried how many connections I could handle with that. After a few hundred (300-400) the engine alsways ran into an Out-Of-Memory Exception. From that point the engine was often not recoverable and had to be killed. After that I tried my luck with an 64bit JVM. Theoretically, with more RAM more connections should be possible, so lets go for it. I increased the heap size to about 4gig. With that value, the engine actually consumed something about 6gig of memory (I only had 8gig on my test machine). Running the same test as before the connection count increased linearly. That was something I didnt expect. First of I expeceted the Memory consumption should lower on the amount of connections (because of the more reusable objects) and an increase in CPU load because of the more and more complicated handling of the larger heap on the JVM end. Despite that I came close to handle about one thousand connections. This seems pretty good but was not enough for what I had in mind. The only possibility I saw at that point was to increase the Memory further and further to get more connections running. A second concern which came to my mind was the thread handling. In a default Tomcat installation ever connection gets its own thread. This does consume a lot of memory but also increases the thread count of the server engine dramatically. With that in mind I remembered something I read about Tomcat 6 a while ago. For the purpose of handling a lot of simultaneous and enduring Javascript requests Tomcat introduced a new kind of connector engine which uses the Java NIO Framework. To explain this a little, Sun introduced this framework in Java 1.4 to handle IO over a single thread mechanism and use mostly OS provided functions for memory allocation and interaction. So in theory this could be the ideal framework for handling a lot of network IO. Tomcat introduced this feature with the c10k problem specifically in mind. So I began searching around how I could get a similar behvior out of BusinessWorks. What I didnt know at that point was, that TIBCO already introduced this feature into BusinessWorks with version 5.7. You can switch the HTTP connector engine with some parameter in the HTTP Connection resource.

So I changed the connector engine and restartet the test. This time I started small. I set the heap to 512MB and limited the maxProcessor to 500. What I then saw was unexpected. The engine filled up right to the ten thousand requests I send. There occured no Out-Of-Memory at all. What was also interesting was, that the engine held 10k connections despite the maxprocessors was set to 500. So to conclude the result, the new connector is quite impressive when you need to handle a lot of simultanous connection and have not a lot of memory to spare. On the other hand, when you use it, you loose some of the TIBCO integrated features to limit your load. Further to that, the TIBCO documentation states that due to the single thread arcitecture you increase latency. So as always there is a tradeoff. One final sidenote. I had some issues with the BusinessWorks 5.7.1 engine so I upgraded it to 5.7.2. Than it ran without a glitch.
Leave a Comment

December 23, 2010


Steps to enable the ProxyAgent for accepting HTTPS request
Filed under: Tibco AMX Administrator SRIK @ 9:48 am

1) Create a JKS file using Java Keytool. 2) When configuring the proxy agent using utility proxyAgentConfig. Enable the SSLcheck-box. 3) Give the details of your JKS file Name and its Password. 4) The above steps will automatically will modifies your Server.xml and proxyagent.tra file of the proxy agents tomcat server java.property.javax.net.ssl.keyStore=XXXX.jks

java.property.javax.net.ssl.keyStorePassword=XXXX java.property.javax.net.ssl.keyStoreType-JKS 5) Add the following line in proxyagent.tra below the above properties. java.property.javax.net.ssl.trustStore=C:/XXX/XXX.jks java.property.javax.net.ssl.trustStorePassword=XXX java.property.javax.net.ssl.trustStoreType=JKS 6) Modify the file startPolicyMgr.tra file by adding the below lines of code java.property.javax.net.ssl.keyStore=C:\XXX\XXX.jks java.property.javax.net.ssl.keyStorePassword=xxx java.property.javax.net.ssl.keyStoreType=JKS 7) Restart both the Proxy agent as well as PolicyManager.
Leave a Comment

Installing a custom feature in Tibco AMX Business Studio/AMX Administrator


Filed under: Tibco AMX Administrator SRIK @ 6:23 am

If you want to install a re-usable jar as a custom feature to your AMX runtime, here is how you can do it: Step to be followed : 1. From your jar, create a plugin project using(Tibco Business Studio) the Plug-in project from existing JAR archives wizard. In the manifest of this plugin project, ensure that all the packages you require are exported. 2. Once this plug-in project is created, you need to create a feature project using the Feature Project wizard. In this wizard, you need to pick up plugin you created in step 1. Node the feature ID. 3. Right click on this feature project and choose Export. 4. In the ensuing wizard, Deployable features. 5. Select the required feature in the next screen of the wizard.

6. Give a location for the archive file in the Destination tab. 7. Hit finish. 8. Locate the zip file that is created on your disk and extract the contents of the zip file into <AMX-HOME>/components/eclipse. 9. Now your jar is available to use for the design time. 10. Next, you need to provision this feature into your runtime. To do that, start the command prompt. 11. From (AMX-HOME)/tools/bin, execute the following command: tibcommander -Dfeature.name=(feature ID that you noted in step 2) -f (AMXHOME)/tools/scripts/addfeature.xml
Leave a Comment

December 22, 2010


How to update a service archive in Tibco AMX Administrator.
Filed under: Tibco AMX Administrator SRIK @ 1:31 pm

To update a previously deployed archive please using the following sequence: 1. Select the service assembly in the deploy to an environment perspective in ActiveMatrix administrator 2. Stop it 3. Undeploy it 4. Click Edit in the General Information section 5. Click Update and upload the new version of zip file 6. Click Save in the General Information section 7. Select the assembly in the list of service assemblies again by clicking on it 8. Deploy it (click on Deploy) 9. Start it (click on Start)

Leave a Comment

December 20, 2010


TIBCO ActiveMatrix Service Grid JDBC Driver Technical Note
Filed under: Tibco AMX Administrator SRIK @ 12:53 pm

Using JDBC Shared Resource


Configurations to be done at the following environments
Design Time / Eclipse Enviornment:

1. Create or open the project that will use custom JDBC driver. 2. Create a new Shared Resource of type JDBC. 3. Enter the JDBC Driver, Database URL, Username and Password for the resource. 4. Use the resource for database operations in your custom java implementation. 5. Package the Service Assembly.

Run Time / Admin and Node Environment

1. To test the driver connection from admin server copy custom JDBC driver files to \amxadministrator\2.0\lib\ext. 2. To make the driver available during service invocation copy custom JDBC driver jar files to \amx\2.0\server\lib\ext. 3. Start admin server and run time node/s. 4. Use Admin UI to upload the Service Assembly created in the design time. Leave a Comment

Difference between shared and jobshared variable?


Filed under: Tibco BW Interview Faq's SRIK @ 5:01 am

Shared Varialble : A Shared Variable resource allows you to share data across process instances. All process instances can read and update the data stored in a shared variable. This type of shared variable is useful if you wish to pass data across process instances or if you wish to make a common set of

information available to all process instances. For example, you may have a set of approval codes for incoming orders that change daily for security purposes. You can create a shared variable to hold the approval codes and create one process definition for setting the codes. You can then retrieve the shared variable in all processes that require the current approval codes. Job Shared Varialble : A Job Shared Variable resource is similar to a Shared Variable, but its scope is limited to the current job. A copy of the variable is created for each new process instance. This type of shared variable is useful for passing data to and from sub-processes without creating an input or output schema for the called process. You can use the Get Shared Variable and Set Shared Variable activities to access the data instead of mapping data to a called processes input or output schemas. New process instances receive a copy of the Job Shared Variable, so data cannot be shared across process instances. Therefore, if a called process has the Spawn configuration field checked, a new process instance is created and the process instance receives a new copy of the Job Shared Variable.
Leave a Comment

December 18, 2010


How do I pre append custom libraries (jar files) in AMX Admin ?
Filed under: Tibco AMX Administrator SRIK @ 6:33 am

Do you see APPEND.CLASSPATH or PREPEND.CLASSPATH in Administrator->BWSE>BW Settings or other tabs there. If not, just go to C:\tibco\bw\5.7\lib\com\tibco\deployment\bwengine.xml the approriate jars and re-create the service assembly. Redeploy the SA again and you should be able to changes these values if required. <property> <name>prepend classpath</name> <option> PREPEND.CLASSPATH</option> <default>c:/as400/jar1.jar</default> <description>changing the classpath</description> </propert> Please be sure to rebuild the SA once the change is done in the bwengine.xml file.
Leave a Comment

December 17, 2010


Fault tolerance in TIBCO AMX

Filed under: Tibco AMX Administrator SRIK @ 4:44 am

The goal of high-availability and no single point of failure can be acheived in matrix as below. 1. For runtime nodes, all the nodes in an environment are part of a cluster. You can deploy the same service on to more than one node. 2. For administrator, you can have more than one matrix administrator instance in an admin cluster and they point to a common underlying database. 3. The EMS server used for messaging bus, supports EMS FT, so you just have to specify the EMS FT url. This is true for SOAP/JMS services. 4. For the DB, you can use HA solutions like Oracle RAC and it can tolerate DB failure also. Again, you will specify the RAC url for the DB connection Please drop your suggesstions and comments : by SRIK Solutions Pvt Ltd.
Comments (1)

December 1, 2010
Tibco AMX Admin Building Rules:
Filed under: Tibco AMX Administrator SRIK @ 4:05 am

1. Start the web-based TIBCO ActiveMatrix Administrator. 2. Select or Go to Build & Configure Rules perspective. Put name as <Env_Name>_Nodes or <Env_Name>_Services and description and save it

3. Click on the Rules Tab on Build and Configure Rules.

4. Click on the New Button on Rule Library (see the screen below)

5. Click on the General Information Tab(see the screen below)

6. Choose Target Object(see the screen below)

7. Go to conditions (create conditions) (see the screen below)

8. Go to Set Actions (see the screen below)

9. Enable the rule (see the screen below)

Copy Rights All Reserved @ 2007 2010.


Leave a Comment

Pages: o About SRIK Solutions Blogroll o Documentation o Plugins o Suggest Ideas o Support Forum o Themes o WordPress Blog o WordPress Planet Categories: o Tibco Adapter o Tibco Admin o Tibco AMX Administrator o Tibco BPM o Tibco Business Connect o Tibco Business Events o Tibco Business Works o Tibco BW Interview Faq's o Tibco CIM

Tibco EMS Tibco EMS Interview Questions Tibco Hawk Tibco iProcess Suite TIBCO Rendezvous Tibco Training Tibco-AMX-BPM Uncategorized Search:
o o o o o o o o

Archives: o April 2011 o March 2011 o February 2011 o January 2011 o December 2010 o November 2010 o October 2010 o September 2010 Meta: o Register o Log in o RSS o Comments RSS o Valid XHTML o XFN o Blog at WordPress.com.

Theme: Shocking Blue Green. Blog at WordPress.com.

Tibco Blog November 28, 2010


Tibco iProcess Maintenance Jobs for IPEngine
Filed under: Tibco iProcess Suite SRIK @ 6:03 am

To make iProcess Engine stable We should regularly perform the Maintenance jobs: 1. Regularly Deleteing the Old procedure versions (Recommended to keep last 4 versions of procedures) 2. Purging the Closed cases on Periodically basis 3. Regular Index Rebuilding for iProcess Engine database 4. DBMS STATS Gather on database Schemas 5. Archiving the logs from $SWDIR/logs 6. Taking the Regular backups of IPE Engines 7. Weekly Restart of IPEngine
Leave a Comment

Tibco iProcess LDAP Configuration


Filed under: Tibco iProcess Suite SRIK @ 6:01 am

LDAP Configuration
Overview The iProcess Engine allows you to manage iProcess user, group, role and attribute data via any LDAP 3.3-compliant directory service, such as X.500, Microsoft Active Directory, Open LDAP or Oracle Internet Directory.

LDAP offers a solution to this problem by providing: A distributed, global directory. Fast, efficient, client/server-based access to the directory. Integrated user validation. How does Iprocess work with LDAP? IProcess user data (that is user, group, role and attribute data) is maintained as part of the LDAP directory. For each LDAP directory entry that represents an iProcess user, LDAP directory attributes are mapped to corresponding iProcess properties.

IProcess Engine can use these entries in the LDAP directory as possible iProcess users, rather than creating operating system accounts for each registered iProcess user. This information is kept as part of the iProcess database. In my opinion LDAP cannot keep all the information about the users in it. So please check before we proceed for LDAP in iProcess Engine. LDAPCONF Utility Menu LDAPCONF is a utility which allows you to manage the connection between the LDAP server and the iProcess Engine. LDAPCONF Menu ======================================== TIBCO iProcess LDAP Connection Administration Utility Copyright (c) 2001-2008, TIBCO Software Inc. ======================================== [1] Set Connection Information [2] Set Search Parameters [3] Set Attribute Mappings [4] Group Membership in MEMBER LIST format [5] View Connection Information [6] Test Connection [7] Return to LDAP DIT [8] Save [9] Synchronise [10] Enable Attribute Value Translation from UTF-8 [11] Quit Please enter your selection: [1] Setting the Connection between LDAP Server and iProcess Engine This option will prompt for the following details for the connection. LDAP Server Host Name LDAP Server Hostname here where LDAP directory resides Port Number on LDAP Host to connect Port Number to connect LDAP Distinguished name of the entry to bind as DN Name to bind as [2] Defining the Search Criteria This option will prompt for the following details. Distinguished Name: DN of the LDAP directory entry from which to start searching for iProcess data. Search filter (cn=*): Enter the filter criteria to be used to widen or refine the search. By default the search will find any entries that have a cn attribute.

[3]Attribute Mapping This option will prompt for the following details. User Name (sn) Enter the name of the LDAP directory attribute that maps to the iProcess user name. Groupname (groupname)Enter the name of the LDAP directory attribute that maps to the iProcess group name. RoleName (rolename) Enter the name of the LDAP directory attribute that maps to the iProcess role name. Description (description) Enter the name of the LDAP directory attribute that maps to the iProcess DESCRIPTION attribute. Language (language) Enter the name of the LDAP directory attribute that maps to the iProcess LANGUAGE attribute. Menu Name (menuname) Enter the name of the LDAP directory attribute that maps to the iProcess MENUNAME attribute. Sortmail( sortmail) Enter the name of the LDAP directory attribute that maps to the iProcess SORTMAIL attribute. iProcess Group User (groupusers) Enter the name of the LDAP directory attribute that contains the members of a group. iProcess Role User (roleuser) Enter the name of the LDAP directory attribute that contains the name of the iProcess user who is assigned to a role. Qsupervisors (qsupervisors) Enter the name of the LDAP directory attribute that maps to the iProcess QSUPERVISORS attribute. Userflags (userflags) Enter the name of the LDAP directory attribute that maps to the iProcess USERFLAGS attribute. [4] Group Membership in MEMBER LIST format This option will prompt for the following details. Member List Define whether LDAPCONF should read the value of an LDAP directory attribute as a list of iProcess user names,or as a list of LDAP Distinguished Names (DN) Adding Group to LDAP Directory To add an iProcess group to the LDAP directory, create or modify a directory entry as follows: 1. Assign the value GROUP to the attribute. 2. Assign a name for this iProcess group to the attribute. 3. Specify the groups membership, using the attribute. 4. Define any other mappings for iProcess properties or application-specific data that you require. Defining Group membership You can use the attribute to define iProcess group membership in a number of ways: An entry can contain one or more values. If multiple values are used, LDAPCONF includes the usernames from each entry in the group. All attribute values must be specified either : as iProcess user names or

as LDAP Distinguished Names (DN) that reference other entries in the LDAP directory, that in turn contain iProcess user names. You must configure LDAPCONF to read attribute values as either iProcess user names (MEMBER LIST format) or as LDAP DNs (LDAP DN format). You cannot combine both methods. See page 30 for more information about how to do this. [5] View Connection information To view current connection information, search parameters and attribute mappings. Result will be shown as following : DIT = iProcess GRP USERS FORMAT = LDAP DN CONNECTION :hostname = node1 portno = 329 credentials = cn=admin,o=aco,c=gb password = ******* SEARCH :base = o=aco,c=gb filter = cn=* ATTRIBUTE MAPPINGS :username = sn Groupname = groupname Rolename = rolename description = description language = language menuname = menuname sortmail = sortmail groupusers = groupusers roleuser = roleuser Qsupervisors = qsupervisors Userflags = userflags extra [1] = email extra [2] = telephone [6] Test Connection The iProcess Engine tests the connection and displays whether the connection attempt succeeded or failed. For example: Testing connection Connect successful.

If the attempt fails, information about the possible cause of the failure is shown. For example, the following error indicates a problem with the DN entry used to authenticate the connection. You should check the validity of the supplied name (and password). Testing connection SW_LDAP_connect() failed : Error whilst binding to connection (-1230) Press [ENTER] to continue If the connection attempt succeeds, the following prompt is displayed: Do you wish to download user information from LDAP (Y/N): If you enter N, the LDAPCONF menu is re-displayed. If you enter Y, LDAPCONF searches the LDAP directory using the current search root and filter criteria and displays the number of matching entries found. Example : Number of entries found : 10 Then You are then prompted whether to output the results of the search: in iProcess format (S) or LDAP directory format (L). iProcess Mapping/LDAP (S/L): s b. to the screen (S) or to a text file (F). Output to File or Screen (F/S): s The search results are displayed or written to the requested file. [7] Return to LDAP DIT Configure the iProcess Engine to obtain its user data either from its own database or from the LDAP directory. If you select this option: The iProcess Engine will obtain its user information from its own database. All user information downloaded from the LDAP directory is retained. You can create, modify and delete user information using SWDIR\bin\swutil or the TIBCO iProcess Administrator. You can still use iProcess Engines integral LDAP User Validation feature. The LDAP_DIT Flag

Selecting the Return to LDAP iProcess DIT option from the LDAPCONF menu toggles the value of the LDAP_DIT configuration flag in the SWDIR\etc\staffcfg file. This flag determines whether or not iProcess uses the LDAP directory to obtain its user information. If LDAP_DIT is set to: 1, the LDAP directory is used. 0, the LDAP directory is not used. (This is the default option). [8] Save Save the current connection information, search parameters, attribute mappings and LDAP_DIT flag setting to the iProcess database. [9] Synchronize Synchronize the iProcess Engines user data with the contents of the LDAP directory. If you have not already saved the user data, you are prompted to save any configuration changes you have made. Then the following prompt is then displayed: Perform Full or Partial Synchronization or Quit (F/P/Q): F to perform a full synchronization. This downloads all entries from the LDAP directory which are found by the current search criteria. P to perform a partial synchronization. This downloads only those entries which are found by the current search criteria and which have changed since the last synchronization was performed. (Every entry in the LDAP directory is timestamped with both its creation and modification time.) Q to return to the LDAPCONF menu without downloading any user data from the LDAP directory. [10] Enable/Disable Attribute Value Translation from UTF-8 This option is intended for use with LDAP servers that store directory information internally in UTF-8 format. This ensures that any attribute information that uses characters from multi-byte character sets (such as Chinese, Japanese, Russian and Korean) is downloaded correctly to the iProcess Engine. If you subsequently need to reconfigure the iProcess Engine not to translate downloaded attribute values from UTF-8, you can do so by selecting the same option from the LDAPCONF menu: [11] Quit Quit from the LDAPConf Menu. LDAPCONF Utility Commands CONNECT To set up the connection between the LDAP server and iProcess Engine we can run the following command:

$SWDIR/util/ldapconf CONNECT [-h hostname] [-port number] [-dn name] [-pwd password] Where: Hostname is the name of the machine where the LDAP server resides. Number is the TCP port number to connect to on hostname. This must be a valid numeric value greater than 1. The default value is 389, used for all LDAP servers. Name is a distinguished name (DN) entry that will be used to authenticate the connection to the LDAP server. Password is the password associated with name. SEARCH To set up the search base and filter criteria to use when searching the LDAP directory for entries to download to the iProcess Engine. $SWDIR/util/ldapconf SEARCH [-dn name] [-s filter] Where: Name is a distinguished name (DN) entry which defines the starting point for the search in the LDAP directory. Filter is the filter criteria to be used to refine or widen the search. Example: $SWDIR/util/ldapconf SEARCH -dn o=aco,c=gb -s cn=s* MOVESYSINFO To performs partial or full synchronization of the iProcess user directory with the LDAP directory. $SWDIR/util/ldapconf MOVESYSINFO -full|partial Where: Full requests the iProcess Engine to do a MoveSysInfo to perform a full synchronization with the LDAP directory. Partial requests the iProcess Engine to do a MoveSysInfo to perform a partial synchronization with the LDAP directory TEST To Test the current connection with the current search settings and attribute mappings. $SWDIR/util/ldapconf TEST [-f filename] [-s|l] Where: Filename is the name of the file to send the output of the command to. If omitted, information is output to the screen. s indicates that user, group, role and attribute information should be downloaded from the LDAP directory and displayed in iProcess format; -l indicates that it should be downloaded and displayed in LDAP format.

Configuring iProcess to use LDAP You can switch the iProcess Engine over to use the LDAP integral user validation API by using the following swadm command: $SWDIR\util\swadm set_attribute 0 ALL 0 LDAP_UV 1 You can turn this feature off by deleting the attribute, or setting its value to 0. Specifying How iProcess Validates Users Lines 15 and 16 of the SWDIR\etc\staffpms file define whether and how iProcess uses the integral User Validation API provided with the LDAPCONF utility. Specifying an External User Validation PackageLine 15 defines whether the iProcess Suite validates users against O/S user accounts (the default), or against an external validation package developed using the TIBCO iProcess User Validation API. This line is optional. If you are using the default method of validating users against O/S accounts, line 15 should be blank. If you want to validate users against an external validation package, line 15 must contain the full pathname of the user validation package (a DLL file on Windows, a shared library on UNIX). Note that: The pathname must contain a leading drive letter and UNIX style separators (/). Variables such as $SWDIR are not supported in this parameter. The following example (for a iProcess Engine for Windows) specifies that user validation will be performed against the swuvamod.dll file in the d:/iProcess/staff200/lib directory. d:/iProcess/staff200/lib/swuvamod.dll The following example specifies that user validation will be performed against the UVAPI.dll file in the C:/Tibco/iprocess_nod1/util directory; and that the proxy users are supplied by swadmin. C:/Tibco/iprocess_nod1/util/UVAPI.dll\N\swadmin\\\ Setting up the Proxy User If you are using iProcess Engine on a UNIX or Linux system, and you use UNIXRUN or UNIXEXEC script commands, you can define a proxy operating system user to perform the commands. If this value is missing, no proxy OS user is defined and the iProcess Engine service user will be used. A configurable proxy OS user is provided in line 16 of the file $SWDIR/etc/staffpms. This line is optional. If you are not using the LDAP integral user validation API, line 16 should be blank.
Leave a Comment

Tibco iProcess Email Configuration


Filed under: Tibco iProcess Suite SRIK @ 5:54 am

Login as iProcess Background User Go to $SWDIR/libs Edit the file eai_mail.cfg SMTP Server=[Email SMTP servre] From=[EmaiID]@[Domain].com e.g. Alerts@MyHost.com Port=25 #Make sure that above Email ID is valid. RetryMsgCount=5 Encoding=UTF-8 Save the above values in file and comment all the unnecessary parameters/values. Now Run the following command to register the Email $SWDIR/util/sweaireg REG EAI_MAIL -m [HostName] -l $SWDIR/libs/eai_mail_11_0_1.ear -i $SWDIR/libs/eai_mail.cfg -y Wow!! Email Registration is done!!
Leave a Comment

November 24, 2010


Tibco Hawk Rule base to check for memory usage for a particular Queue
Filed under: Tibco Hawk SRIK @ 4:11 am

Rule base to check for memory usage for a particular Queue. Please follow the screen shots 1. Select the JMS controller microagent and mention the required Queue name to be monitored.

2.

Select the condition for 80% threshold limit. Pending message size >= 83886080 (80% of total memory) 3

Then provide the Alert message details and mail alert details. DL for prod is : sriksolutions@gmail.com Prod Box is :
Your Unix Box Name

Queue name is : EngineeringAndTechnology.sriksolutions.com Note : This rule is already applied to Dev/QA box : Machine Name Rulename : QueueSize
Leave a Comment

Steps for Granting user access to Tibco AMX admin


Filed under: Tibco AMX Administrator SRIK @ 3:53 am

1) Login to Tibco AMX Administrator 2) Select Perspective:Configure Enterprise Assets > Users & Groups > Permissions : Select of Tibco Active Matrix Administrator Desktop , Configure Enterprise Assets, Environment Definition, Environment Details & all sub items under it which is till policy managers View Permission (Do NOT remove existing permission; Do NOT select the check box) 3. Perspective:Configure Enterprise Assets > Environments View Permission ( view permission will ensure that user will not be able to create nodes ) 4. Perspective: Configure an Environment > Nodes Edit Permission ( Users will be able to deploy, undeploy, start, stop SAs mapped to the node) 5. Perspective : Deploy to an Environment > SAs - Owner Permission ( Users will be able to delete existing SAs, upload new SAs)
Leave a Comment

November 17, 2010


Not able to generate web service using service wizard in Tibco BW Designer
Filed under: Tibco Business Works SRIK @ 5:27 pm

Problem Like this :

When we want to generate a Concrete WSDL by using Abstract WSDL in Tibco Designer. (Steps : First Select the Abstract WSDL , then From Menu Select Tools > Generate Web Service > From WSDL ). After that Not able to generate Concrete WSDL. To know more information on this issue. From Menu Select Window > Show Console. -> Where the error in the Console is action parse error in group MOPS line 3; template context is [service] . line 1:1: unexpected token: serviceResource Solution Description : Need to add these lines to designer.tra C:/tibco_home/be/3.0/lib/ext/stringtemplate.jar;C:/tibco_home/bw/5.8/lib/palettes/stringte mplate.jar; If BE 3.0 installed in the same environment? If this is the case then open designer.tra. Look for CUSTOM_CP_EXT env variable. BE 3.0 jars might be having high precedence over TPCL jars. Just give low precedece to BE 3.0 jars and it should work(cut be 3.0 related entries from start and paste at the end).
Leave a Comment

November 16, 2010


Configure Environment and Nodes in Tibco AMX Administrator
Filed under: Tibco AMX Administrator SRIK @ 3:02 pm

The steps to create service environments are Configure an ActiveMatrix Administrator server Start the ActiveMatrix server Create an ActiveMatrix environment Create an ActiveMatrix Node Prerequisites TIBCO EMS 5.0.0 Hibernate 3.2.2 TIBCO Active Matrix Service Grid 2.2.0

Configure Environment and Node Create an ActiveMatrix Administrator Server First, you will create an ActiveMatrix server using the wizard. The Administrator server requires a database with a JDBC connection. We will use the lightweight Hibernate database that is shipped with ActiveMatrix. Steps 1. Create ActiveMatrix Administrator instance __Start HSQLDB Go to Start >Programs >TIBCO >ActiveMatrix 2.1 >Start HSQLDB Server Open the Services window (Control Panel > Administrative Tools > Services) __Start EMS: Confirm EMS Server service is running __Start TIBCO Management Daemon 2.0 Service __Start the Administrator Server Creation Wizard Go to Start > Programs > TIBCO > TIBCO ActiveMatrix 2.1 > Administrator Server Creation Wizard __ Launch the Administator Server wizard and configure Administrator Server instance

Keep the defaults for Server name, cluster name and ports Authentication Realm: Database Realm, click Next Configure the database credentials:

__Database Driver: org.hsqldb.jdbcDriver __Database URL: jdbc:hsqldb:hsql://localhost:1234/amx __Username: sa __Password: <leave blank> __Verify the parameters and click Next __Enter the following credentials

__Username: root __Password: root __Click Next

Configuration details for AMX Database:

__Check: User Configuration details from Database Authentication Realm __Click Next

__Uncheck Create Default runtime node, click Next __Click Finish when done.

Note: This creates the ActiveMatrix Administrator instance 2. Start ActiveMatrix Administrator instance __ Open Windows Services, locate the TIBCO ActiveMatrix Administrator Server service and start it OR __Start from command line. Double-click: c:\tibcoam\amxadminstrator\2.1\bin\amx_admin.bat Note: Wait for the message, Server [Instance Name] started before continuing. This may take a few seconds 3. Log into ActiveMatrix Administrator. _Log in to ActiveMatrix Administrator as root/root Open Internet Explorer and type in the following url: http://localhost:8120/amxadministrator/admin.jsp Username: root Password: root _Click Login 4. Using AMX Administrator, create a new ActiveMatrix Environment.

_In the Perspective list, click Configure Enterprise Assets _Under Environment, click the New button

Name: TestEnv Description: For AMX Class Click Save

5. Add a messaging bus to the Environment. Note:: An AMX Environment uses EMS for communication between the nodes. You must configure an EMS server for this purpose __Click on the newly created Environment

A submenu appears at the bottom. Select Messaging Bus Tab Now click Add

__A new menu appears on the right. Enter these details


Name: EMSServer Connection Type: Direct (default) EMS Username: admin and Password: <leave blank> Provider URL: http://localhost:7222 (default) Save

6. Enable your machine for this Environment. _Click the Machines tab __Click Edit __Choose YES in the Enabled column __Click Save, to save your changes __Verify Machine settings by clicking Machines, in the Main Menu __Notice that your machines status is Bound and Available __Note the JMX Ports: 9999 and 9998 Note: To discover other machines for your Environment, you must use the Discover option, in this tab 7. Create a JMS Shared Resource for monitoring your Environment.

Note: The shared resource definition is needed, before you can configure monitoring and management for your Environment. _Click on Shared Resource Definitions tab (top menu) _Choose New >JMS and enter these details

Name: JMSMonitoring Username: admin, Password: (leave it blank) Connection type: Direct (default) Provider URL: tcp://localhost:7222

__Test Connection and Save 8. Create a JDBC Shared Resource for your Environment. __Still in Shared Resource Definitions tab, choose New >JDBC

Name: JDBCMonitoring JDBC Driver: org.hsqldb.jdbcDriver Database URL: jdbc:hsqldb:hsql://localhost:1234/amx Username: sa Password: <blank>

__Test Connection and Save your changes 9. Enable your JMS and JDBC Resources for this Environment. __Click the Environment Definition tab __Select your environment and then choose Shared Resource Definitions tab __Click Edit __For JDBCMonitoring and JMSMonitoring, set Enabled = YES __Save your changes 10. Enable monitoring and logging for this Environment. _Click the Administrator Cluster tab _Enable Monitoring __Click Monitoring Configuration and then Edit

Enable Monitoring = YES


JMS Configuration: Choose JMS Configuration >JMSMonitoring Metrics Manager Server: Select your server (only one in the list) Save

__Enable Logging: Log Services tab: Click New


Name: DefaultLogService JMS Connection: JMSMonitoring QueueName: DefaultLogServiceQueue Destination: DB (choose JDBCMonitoring from dropdown list) Selected Models: o BaseEventFormat o BWEngineEventFormat o EngineEventFormat

Click Save button __Highlight the DefaultLogService and click Start 11. Configure a new Node in the Configure an Environment Perspective. Analysis: A node is a basic unit in an ActiveMatrix environment representing one virtual machine. Typically, a node is associated with a jvm engine. In this step, you will create a node for your environment. _Choose the Configure an Environment Perspective from the list _In Nodes, click New

__Name: MyNode __Machine Name: Select your machine __Windows Service?: NO __Product: C:\TIBCO\amx\2.0.2.0.2.009 __Messaging Server: EMSServer __Management Port: 8130

_Click the Save button 12. Install the Node and run it. Analysis: A typical order in the ActiveMatrix environment to get a node to a

Running state is (1) Create, (2) Install and (3) Start. In this step you will start the Node created from the previous step. _The Install button is enabled. Click on it Note: After a few seconds, click the Refresh button on the same screen (right corner), Node status is Installed/Stopped _Click Start __This action takes a couple of minutes __Click Refresh, and verify that the Node is Running __Logout of ActiveMatrix Administrator when done
Leave a Comment

November 14, 2010


How to Convert Tibco BusinessWorks .Ear file to Tibco AMX Service Assembly (SA.zip) ?
Filed under: Tibco AMX Administrator SRIK @ 8:19 am

Solutions Description : By Using Command Line : Ear2SA.exe <EAR_fileName> <output_Directory> where, EAR_fileName is the absolute path of the EAR file and output_Directory is the absolute path of the directory where the service assembly archive created will be placed. If the output_Directory is not specified, the working directory, ENV_HOME\amx\extensions\bw\5.7\bin , is taken as the default output directory. Example as follows : C:\tibco\amx\extensions\bw\5.8\bin>Ear2SA.exe Invalid Command. Correct usage: EAR2SA.exe <EAR PATH> [<SA LOCATION>] [-saversion <X.Y.Z>] [-suve rsion <X.Y.Z>]

C:\tibco\amx\extensions\bw\5.8\bin>Ear2SA.exe C:\Documents and Settings\TestUser\ Desktop\AMX Examples\Application_Ear.ear log4j:WARN No appenders could be found for logger (com.tibco.security.TIBCOSecur ity). log4j:WARN Please initialize the log4j system properly. Console Output : true Started : false =============================================================== SA Archive creation started.. =============================================================== =============================================================== SA Archive created and located at C:\tibco\amx\extensions\bw\5.8\bin\Application _Ear.zip =============================================================== C:\tibco\amx\extensions\bw\5.8\bin>
Leave a Comment

November 13, 2010


How to Setup SPM Profile in Tibco AMX Administrator
Filed under: Tibco AMX Administrator SRIK @ 1:19 pm

1. 2. 3. 4.

Login to Tibco AMX Administrator using Credentials. Select Build and Configure Rules perspective. Go to SPM Profiles tab Click edit to edit the profile and

a. Enter DL name in Address field. You can enter multiple email addresses comma separated. b. Select format as HTML c. Frequency Every Message d. Destination Name can be anything e.g. work/home e. Language English

f. 5.

Time zone EST

g. Mark the one as default to which you want to send communications Save the profile information

Leave a Comment

November 12, 2010


How do I generate a concrete WSDL in Active Matrix Administrator ?
Filed under: Tibco AMX Administrator SRIK @ 2:19 am

In your environment: 1 .Login to Tibco AMX Administrator. 2. Goto the Configure an Environment perspective and choose the Environment in which your Service Assembly is deployed. 3. Select the node on which you have deployed your SOAP service unit. 4. Choose the Default Connector section and note the Host and the Port. 5. Now open the following URL in your browser : http://<Host>:<Port>/inspection.wsil. The page that opens up will have a list of Services (<service> tags) running on that node. 6. Scroll down and towards the end you will have the service exposed via the SOAP binding. This service tag will have the endpoint as well to the Concrete WSDL of the form: http://<Host>:<port_as_defined_in_your_HTTP_shared_resource>/<endpoint_as_define_during _design_time>?wsdl For example: if you have everything running on localhost then you can usually access: http://%3cyour-machine-name%3e:10866/inspection.wsil If you scroll down and see the soap service, it will have the details of the concrete WSDL; something like location as shown below: <service> <abstract>Service: Service1</abstract> <abstract>Endpoint: Greet_EP</abstract> <description location=http://0.0.0.0:8011/greet?wsdl referencedNamespace=http://schemas.xmlsoap.org/wsdl//> .

. . . </service>
Leave a Comment Older Posts

Pages: o About SRIK Solutions Blogroll o Documentation o Plugins o Suggest Ideas o Support Forum o Themes o WordPress Blog o WordPress Planet Categories: o Tibco Adapter o Tibco Admin o Tibco AMX Administrator o Tibco BPM o Tibco Business Connect o Tibco Business Events o Tibco Business Works o Tibco BW Interview Faq's o Tibco CIM o Tibco EMS o Tibco EMS Interview Questions o Tibco Hawk o Tibco iProcess Suite o TIBCO Rendezvous o Tibco Training o Tibco-AMX-BPM o Uncategorized Search:

Archives: o April 2011 o March 2011 o February 2011

o o o o o

January 2011 December 2010 November 2010 October 2010 September 2010 Register Log in RSS Comments RSS Valid XHTML XFN Blog at WordPress.com.

Meta:
o o o o o o o

Theme: Shocking Blue Green. Blog at WordPress.com.

October 31, 2010


How to handle corrupted message in EMS datastore?
Filed under: Tibco EMS SRIK @ 7:30 am

Problem Description When a message is corrupted in the EMS database, you may notice the following errors in the EMS log file: SEVERE ERROR: Exception trying to read message from store. ERROR: Exception trying to create message from store: IO failed. SEVERE ERROR: Exception trying to create valid messages record, Invalid message. SEVERE ERROR: Persisted message possibly corrupt. SEVERE ERROR: Exception trying to create valid messages record, Invalid message. When your client tries to consume the message, you may get a javax.jms.JMSException: Corrupted incoming data message exception. When a corrupted message is sent to a client and the client application cannot process the corrupted message properly, the client will block successive messages sent to it. These messages will remain queued on the server and will not be consumed by the client. Possible Reasons for Generating Corrupted Messages in the EMS Datastore 1. A hardware problem with the physical disk: Media error 2. Forced unmount of a physical disk when the disk is in use, or a hard disk in operation having been unplugged. 3. Locking problem, the record in the db file has been modified by different applications/threads of the application at the same time. 4. The EMS server receives a corrupt message. 5. The machine was terminated abruptly. For example: a running system in operation has been unplugged, etc. Solution When one or more messages are corrupted and a client cannot receive the corrupted messages, you can do the following to delete the corrupted messages: 1. If you have already enabled the track_message_ids then you should try to remove the corrupt message as follows. To enable track_message_ids, in EMS main configuration file, set: in tibemsd.conf track_message_ids=enabled.

a) Use the tibemsadmin command (available in EMS_Home\bin directory) to set server console_trace = +MSG (or set log_trace if that is more appropriate). b) Use the tibemsadmin command to set addprop queue trace. c) When the server delivers the corrupted message to the consumer, the server should print the message ID. d) Use the tibemsadmin command delete message with that message ID to remove the corrupted message. e) Undo steps a) and b), if needed.
Leave a Comment

How to Configure EMS 5.x Server with Database Datastore?


Filed under: Tibco EMS SRIK @ 6:59 am

EMS 5.x can be configured to use a database to store messages. The following steps have been tested on a Windows host to configure EMS 5.x with a database. For other platforms, the steps will be similar. Setup Steps: 1. Install EMS 5.x 2. Download and install JDK 1.5 or later 3. Download and install Hibernate from the link provided at the EMS 5.x download on http: download.tibco.com. 4. Download the corresponding database JDBC drivers. They can be found on the Internet. The corresponding jar files for the JDBC need to be added to dbstore_classpath in EMS main configuration file. For example: 1). MySQL InnoDB MySQL Connector: mysql-connector-java-5.0.6-bin.jar 2). Microsoft SQL Server

Microsoft JDBC Driver for SQL Server: sqljdbc.jar 3). Oracle 9i and 10g Oracle JDBC Thin Driver: ojdbc14.jar or ojdbc5.jar 4). IBM DB2 Server 8.1 and 9.1 DB2 Universal JDBC Driver: db2jcc.jar and db2jcc_license_cu.jar 5. Modify the sample EMS main configuration file used for database: c:\tibco\ems\5.0\samples\config\tibemsd-db.conf: Modify the variables: dbstore_classpath, dbstore_driver_name, dbstore_driver_dialect, jar_library to reflect your own settings and database. Here is an example which uses the Oracle 10g database: ============================================== dbstore_classpath = c:\tibco\components\eclipse\plugins\com.tibco.tpcl.org.hibernate_3.2.5.001\hibe rnate3.jar;c:\tibco\components\eclipse\plugins\com.tibco.tpcl.org.com.mchange.c3 p0_0.9.1.001\c3p0-0.9.1.jar;c:\tibco\EMS\5.0\bin\antlr-2.7.6.jar;c:\tibco\EMS\5. 0\bin\asmattrs.jar;c:\tibco\EMS\5.0\bin\asm.jar;c:\tibco\EMS\5.0\bin\cglib-2.1. 3.jar;c:\tibco\EMS\5.0\bin\commons-collections-2.1.1.jar;c:\tibco\EMS\5.0\bin\co mmonslogging-1.0.4.jar;c:\tibco\EMS\5.0\bin\dom4j-1.6.1.jar;c:\tibco\EMS\5.0\bi n\ehcache1.2.3.jar;c:\tibco\EMS\5.0\bin\jta.jar;C:\tibco\EMS\5.0\databaselib\oj dbc14.jar;C:\tibco\EMS\5.0\bin\ojdbc14.jar dbstore_driver_name = oracle.jdbc.driver.OracleDriver dbstore_driver_dialect = org.hibernate.dialect.Oracle10gDialect jre_library = C:\jdk1.5.0_06\jre\bin\server\jvm.dll ============================================== 6. Create database users for EMS usage in the database. The users should have permissions to create, alter, delete, update for table, index and sequence.

7. Modify c:\tibco\ems\5.0\samples\config\stores-db.conf to put your own database store information: Example, in stores-db.conf, defines oracle database information: $sys.failsafe type=dbstore dbstore_driver_url=jdbc:oracle:thin:adminfs/admin123@//osrv_1:1521/orclperf dbstore_driver_username=adminfs dbstore_driver_password=admin123 8. Modify the file queues.conf or topics.conf to define where the messages will be stored: Example, in the file queues.conf: TIBCO.quotes maxbytes=10MB,trace,store=$sys.failsafe 9. Use the schema export tool to export the EMS schema into database: Example: java -jar c:\tibco\ems\5.0\bin\tibemsd_util.jar -tibemsdconf c:\tibco\ems\5.0\samples\config\tibemsd-db.conf -createall -export See the TIBCO Enterprise Message Service Users Guide, Chapter 5, entitled Running the EMS Server for details about the schema export tool. 10. Start the EMS server using c:\tibco\ems\5.0\samples\config\tibemsd-db.conf
Leave a Comment

How to Secure the Database Password in EMS 5.x Configuration file?


Filed under: Tibco EMS SRIK @ 6:50 am

When defining the database stores in EMS 5.x, you will need to define the following parameters in stores.conf: dbstore_driver_url = JDBCURL dbstore_driver_username = username dbstore_driver_password = password

The database password can be entered as clear text for two parameters: dbstore_driver_password and dbstore_driver_url. 1. dbstore_driver_password You can also use a mangled password for the dbstore_driver_password. That is, you can use the tibemsadmin tool to mangle a database password and define the mangled password for dbstore_driver_password. For example, you can run the tibemsadmin command to mangle a clear text password: =================================================== tibemsadmin.exe -mangle TIBCO Enterprise Message Service Administration Tool. Copyright 2003-2008 by TIBCO Software Inc. All rights reserved. Version 5.0.0 V27 4/29/2008 Enter phrase to mangle: Confirm phrase to mangle: $man$-RV84410jfkIKs3GET2dmcc5MPs =================================================== In stores.conf, you can define the mangled password for dbstore_driver_password: dbstore_driver_password=$man$-RV84410jfkIKs3GET2dmcc5MPs 2. dbstore_driver_url When defining dbstore_driver_url for an Oracle database, the URL format is entered as following: jdbc:oracle:thin:/@:/{remote database name} If you dont want to enter the clear text database password within the URL, you can define the Oracle service name (aliase name) for the database using the following syntax: dbstore_driver_url=jdbc:oracle:thin:@:/{dbservice name} This way you dont need to define dbusername and dbpassword in the dbstore_driver_url parameter.

Leave a Comment

Types of Domain
Filed under: Tibco Admin SRIK @ 6:23 am

Introduction
This article describes the differences between the two types of domain data storage that can be used:

File Database

Note that there are two types of transports available to a domain:


RV EMS. If this option is chosen for domain transport then a database must be used for domain storage.

Setting the Domain Storage Type


The decision to set the storage type is made when the domain is created.

Using the Domain Utility GUI

The checkbox highlighted below determines whether database or file storage is used.

After this checkbox is selected, a later screen will gather the database connection details and provide the opportunity to test the database connection.

Using the Domain Utility command line executable (domainutilitycmd)

To create a database based domain, the following section of the CreateDomain.xml file should be uncommented (the < and > markers removed) and filled in as appropriate. If a file based domain is to be used, then this section should be left commented.
<! uncomment the following for DB configuration ><!

<DatabaseConfiguration> <DatabaseUrl>jdbc:tibcosoftwareinc:sqlserver://localhost:1433;databaseName=eaidb </DatabaseUrl> <DatabaseUsername>sa</DatabaseUsername> <DatabasePassword>sa</DatabasePassword> <JdbcDriver>tibcosoftwareinc.jdbc.sqlserver.SQLServerDriver</JdbcDriver>

<DatabaseMinConnections>0</DatabaseMinConnections> <DatabaseMaxConnections>5</DatabaseMaxConnections> </DatabaseConfiguration> >

File Based Domain


As the name implies, the domain data is stored in the files on a system drive. Warning: Although these files are written in XML, they should not be manually edited as that can cause corruption of the domain rendering it inoperable.

Location of Files
By default these files are stored in the directory: <TIBCO HOME>/administrator/domain/<domainName>/data However this can be altered when the domain is created.

Using the Domain Utility GUI

On the Create New Domain task, check the Show Advanced box

Then scroll down and set the Domain Home values as required.

Using the Domain Utility command line executable (domainutilitycmd)

The CreateDomain.xml file can be altered to set the domain home files as needed by setting the following XML parameters.
<TRADomainHome/>

<AdminDomainHome/> The following table provides some details regarding the different files that may be found in this directory:
File Name SYS_<domain name>.dat Description This file contains details of the applications deployed,deployment history and plugins used. This file contains the domain access control data: users, roles, and the permissions associated with them. This directory contains binary data for the domain.

AUTH_<domain name>.dat

SYS_PJBtemp.dat.files

Note that this directory contains subdirectories with names like:plicationConfiguration

ationConfiguration This is by design. There is an FAQ regarding this FAQ1-9DCF6M


Other files may also be found in this directory some example are below APP_<domain name>_HawkConfig.dat APP_<domain name>_MonitoringManageme Data linked to domain plugins. nt.dat APP_<domain name>_Uddi_App_Domain.dat <domain name>-<Application Data associated with a application deployed on name>.dat the server (where the application transport is <domain name>-<Application either HTTP or RV) name>.dat.files

Benefits

It is not database dependent

Limitations

When Administrator starts up, the entire SYS and AUTH dat files are read into memory. If there are a large number of deployments or a large deployment history then this can slow down the Administrator upon start-up. This can be worked around by ensuring the application deployment histories are kept to a minimum. However it does limit the number of applications that can effectively be deployed. During deployment, the entire SYS dat file is rewritten a few times which could potentially slow down deployment. A domain update (including deployments) means that the whole dat file (SYS, AUTH or both) has to be rewritten to disk. This means there is the possibility of corruption if there is a write or disk failure.

Database Based Domain


The domain data is stored in a database. The exact database schema depends upon factors such as the plugins that have been installed and the type of password policy used. Hence the schema is not publicly available and the database user must have permission to create new database objects.
Leave a Comment

October 30, 2010


How to detach attachment file from Lotus Notes in BW Receive Mail Activity ?
Filed under: Tibco Business Works SRIK @ 8:07 am

Solution Description : Add the property codes below in designer.tra (under <TIBCO-HOME>\designer\5.6\bin), restart the designer and retest. Trace.Task.*=true Trace.Debug.*=true java.property.mail.debug=true java.extended.properties=-Dmail.mime.base64.ignoreerrors=true bw.plugin.mail.receiverHandleDiscreteTypes=true bw.engine.showInput=true bw.engine.showOutput=true
Leave a Comment

Adding JAR path in class.path.extended varaiable Using script ?


Filed under: Tibco Business Works SRIK @ 8:06 am

I have created an EAR file and deployed in Administrator. I need to add a jar to the class.path.extended variable which is specific to my EAR file. Solution Description : We can do this in two ways. 1. We can specify the jar path in prepend to classpath under server settings tabs while deploying thru Admin GUI.

2. Edit the BWEngine.tra to add this jar so that the jar will be added to the classpath when you deploy your EAR.
Comments (1)

Do all web services have to be assigned a port?


Filed under: Tibco Business Works SRIK @ 8:05 am

If web service is designed to use HTTP(SOAP over HTTP) as transport then for sure it will need port. You can use same port for more than one web service but make sure that you use different SOAP action or URL for each web service. If u want to use JMS(SOAP over JMS) as transport then you will need EMS but port is not required for web services. It will need queues/topics for each web service.
Leave a Comment

How to create web service in bw ?


Filed under: Tibco Business Works SRIK @ 6:54 am

Step 1: First create a XML schema. Then take the wsdl pallete configure input messasge,output message,and port type(which contain operation). This wsdl is called abstract wsdl. To make this concerete wsdl we have to take soap event source or service pallet. If you take soap event source we have to add binding to this which is called Http coonection. In soap event source we can add one operation but if you use service pallet you can add more operation. Step 2 : The another way Create WSDL with required Messages and configure Porttype with operations in it. Now create HTTP Shared Connection using HTTP palette.

Now select WSDL and right click on WSDL. Select Tools Or Multi-User >Generate Web Service>From WSDL menu. It will popup dialog.Enter HTTP transport and click Generate. This will create BW SOAP Service. Make sure to implement Operation processes for generated Service. Above step will generate BW Service Agent resource. Go to its WSDL tab. That will be your concrete WSDL. Save that WSDL in project. Take new BW process and drop Soap Request Reply activity from SOAP palette and configure it with concrete WSDL. This will be your BW Soap Client. Hope this will help you. Thx SRIK Solutions Pvt Ltd.
Leave a Comment

How see the complete SOAP response message in designer ?


Filed under: Tibco Business Works SRIK @ 6:24 am

Trying to call a WebService via the SOAP Request/Reply activity within BusinessWorks and I want to see the complete SOAP response message in designer, how can this be achieved ? Solution Description : If you are running this project from designer then add these properties to designer.tra or if you are running from bwengine mode or deploying in Tibco administrator then add to bwengine.tra. java.property.com.tibco.plugin.soap.trace.inbound=true java.property.com.tibco.plugin.soap.trace.outbound=true java.property.com.tibco.plugin.soap.trace.filename=c:/soap.txt java.property.com.tibco.plugin.soap.trace.pretty=true

Trace.Task.*=true Trace.Debug.*=true
Leave a Comment

Hawk rule for monitoring queue


Filed under: Tibco EMS SRIK @ 6:06 am

You can use the ems admin API to get the queue stats and check against the flowcontrol value to find out if it exceeds 80%. Call the API using a script from hawk & send mail when it exceeds. Please find the below code. /* * Copyright 2007-2010 SRIK Solutions Pvt Ltd Inc. * All rights reserved. * For more information, please contact us : * * */ import java.util.*; import javax.jms.Topic; import javax.jms.Queue; import javax.jms.Destination; import com.tibco.tibjms.admin.*; // // The tibjmsServerAdministrator class is used by the tibjmsPerfMaster class // to change various settings in the EMS server. // public class tibjmsServerAdministrator { TibjmsAdmin[] _admin = null; String queue = null; String topic = null; /** * Creates an admin client on the specified server * and then walks any routes to other servers creating * admin clients on the discovered servers as well. * * @param serverUrl server URL on which to connect * @param userName the administrator name

* @param password the administrator password */ public tibjmsServerAdministrator( String serverUrl, String userName, String password) { Map map = new HashMap(); addAdmin(serverUrl, userName, password, map); _admin = new TibjmsAdmin[map.size()]; map.values().toArray(_admin); } private void addAdmin(String serverUrl, String userName, String password, Map map) { try { System.err.println(connecting as +userName+ to +serverUrl); TibjmsAdmin admin = new TibjmsAdmin(serverUrl,userName,password); ServerInfo si = admin.getInfo(); // enable statistics si.setStatisticsEnabled(true); admin.updateServer(si); if (!map.containsKey(si.getServerName())) { map.put(si.getServerName(), admin); RouteInfo[] ri = admin.getRoutes(); for (int i = 0; i < ri.length; i++) { if (!map.containsKey(ri[i].getName()) && ri[i].isConnected()) addAdmin(ri[i].getURL(), userName, password, map); } } else { admin.close(); } } catch (Exception e) { e.printStackTrace(); System.exit(-1); } }

/** * Create a topic on all servers. * * @param name topic name * @param failsafe failsafe setting * @param flowControl flow control setting */ public void createTopic(String name, boolean failsafe, long flowControl) { try { TopicInfo ti = new TopicInfo(name); ti.setGlobal(_admin.length > 1); ti.setFailsafe(failsafe); ti.setFlowControlMaxBytes(flowControl); System.err.println(creating topic +name); for (int i = 0; i < _admin.length; i++) { _admin[i].destroyTopic(name); _admin[i].createTopic(ti); } topic = name; } catch (Exception e) { e.printStackTrace(); System.exit(-1); } } /** * Create a queue on all servers. * * @param name queue name * @param server name of queues home server * @param failsafe failsafe setting * @param flowControl flow control setting * @param prefetch prefetch setting */ public void createQueue(String name, String server, boolean failsafe, long flowControl, int prefetch) { String fullName = name; if (server != null) fullName = name + @ + server;

try { QueueInfo qi = new QueueInfo(fullName); qi.setGlobal(_admin.length > 1); qi.setFailsafe(failsafe); qi.setFlowControlMaxBytes(flowControl); qi.setPrefetch(prefetch); System.err.println(creating queue +fullName); for (int i = 0; i < _admin.length; i++) { _admin[i].destroyQueue(name); _admin[i].createQueue(qi); } queue = name; } catch (Exception e) { e.printStackTrace(); System.exit(-1); } } /** * Return the number of receivers from all servers * for a particular destination. * * @param dest the destination * @return the number of receivers for the destination */ public int getNumberOfReceivers(Destination dest) { int numReceivers = 0; try { for (int i = 0; i < _admin.length; i++) { DestinationInfo info; if (dest instanceof Topic) info = _admin[i].getTopic(((Topic)dest).getTopicName()); else info = _admin[i].getQueue(((Queue)dest).getQueueName()); ConsumerInfo[] ci = _admin[i].getConsumersStatistics(null, null, info); if (ci != null) numReceivers += ci.length;

} } catch (Exception e) { e.printStackTrace(); System.exit(-1); } return numReceivers; } /** * Check if flow control is enabled for all servers. * * @return true iff flow control is enabled on all servers */ public boolean isFlowControlEnabled() { boolean flowControlEnabled = true; try { for (int i = 0; i < _admin.length; i++) { ServerInfo si = _admin[i].getInfo(); if (!si.isFlowControlEnabled()) flowControlEnabled = false; } } catch (Exception e) { e.printStackTrace(); System.exit(-1); } return flowControlEnabled; } /** * Remove the destination from all servers. */ public void cleanup(String controlTopic) { try { for (int i = 0; i < _admin.length; i++) { if (topic != null) {

TopicInfo[] info = _admin[i].getTopics(topic); for (int j = 0; j < info.length; j++) { if (!controlTopic.equals(info[j].getName())) _admin[i].destroyTopic(info[j].getName()); } } if (queue != null) { QueueInfo[] info = _admin[i].getQueues(queue); for (int j = 0; j < info.length; j++) { _admin[i].destroyQueue(info[j].getName()); } } } } catch (Exception e) { e.printStackTrace(); System.exit(-1); } } }
Leave a Comment Older Posts

Pages: o About SRIK Solutions Blogroll o Documentation o Plugins o Suggest Ideas o Support Forum o Themes o WordPress Blog o WordPress Planet Categories: o Tibco Adapter o Tibco Admin o Tibco AMX Administrator o Tibco BPM o Tibco Business Connect o Tibco Business Events o Tibco Business Works

Tibco BW Interview Faq's Tibco CIM Tibco EMS Tibco EMS Interview Questions Tibco Hawk Tibco iProcess Suite TIBCO Rendezvous Tibco Training Tibco-AMX-BPM Uncategorized Search:
o o o o o o o o o o

Archives: o April 2011 o March 2011 o February 2011 o January 2011 o December 2010 o November 2010 o October 2010 o September 2010 Meta: o Register o Log in o RSS o Comments RSS o Valid XHTML o XFN o Blog at WordPress.com.

Theme: Shocking Blue Green. Blog at WordPress.com.

You might also like