Tibco Interview Question

Tibco Interview Question

1.What is the critical section in TIBCO Business works and what is it used for? 

Critical section is used to sync process instances so that only once 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. Particularly used for controlling access to shared variables. Critical section is one of the group actions. Others are iterating, repeat until true, repeat on error until true, while true, pick first and transaction. If we select critical section as the group, then we get two options. Single group and multiple groups.

Single Group

If you wish to synchronize process instances for a single process definition in a single process engine (only one ear(instance) is deployed), perform the following:

Create a group around the activities you wish to synchronize.

Specify Critical Section for the Group Action field.

Specify Single Group for the Scope field.

Only one process instance at any given time will execute the activities contained in the Critical Section group.

Multiple Groups

If you wish to synchronize process instances for multiple process definitions, or if you wish to synchronize process instances across multiple process engines, perform the following:

Create a Lock shared configuration resource and specify a name for the resource.

To perform the synchronization across multiple process engines, check the Multi-Engine field of the Lock resource. When the process instances are executed by the same process engine, locking is performed in memory. When the process instances are executed across multiple engines, the process engines must be configured to use a database for storage, and a database transaction is performed to ensure that only one process instance is executing the critical section group at any given time.

Create a group around the activities you wish to synchronize.

Specify Critical Section for the Group Action Field.

Specify Multiple Groups for the Scope field.

Use the Browse button in the Lock Object field to locate the Lock shared configuration resource you created in Step 1.

Perform steps 3 to 6 for any process definitions you wish to synchronize. Make sure you specify the same Lock shared configuration object for all Critical Section groups.

2.If there are three activities in the critical section, jdbc update then a write file and then again jdbc update. If the second jdbc update fails, then what will happen to the file written by write file activity?

The contents of the file will persist.

3.What are different types of transaction groups supported in TIBCO BW? 

Iterate, repeat until true, repeat on error until true, critical section, transaction, pick first, while true.

Can two queue receivers listen to the same queue? If yes, if the message arrives on the queue, when receiver receives it?  

The queue which has made connection first. First come first serve.

4.If the message has hit the queue, and there are no receivers for it, and the receiver comes alive after 6 hours, what happens to the message?

Message stays on the queue.

5.If there are five messages and prefetch property is set to 4 then what happens? 

Fetches 4 messages

6.What all palettes you have worked in TIBCO BW? 

File palette, generall activities palette, jdbc palette, http palette, jms palette, parse palette, service palette, soap palette, wsdl palette.

7.What are the different types of variables available in TIBCO?

There are three types of variables available in TIBCO. They are:

Global variables: Global variables are used for assigning constants a value which is used over a project

Process variables: Process variables are again of four types.

They are:

Activity output

Predefined process variables

Error variables

User defined process variables.

Predefined process variables include $_GlobalVarialbes and $_ProcessContext

shared variables – User defined process variables could be defined at a process definition level and assigned a value by using an assign activity.

8.What are the different acknowledgment modes for a message? 

There are 6 modes of acknowledgement. They are:

Auto – message is acknowledged automatically

Client – use confirm activity for acknowledgement

TIBCO EMS Explicit – use confirm activity for acknowledgement, only available for TIBCO EMS

TIBCO EMS no ack

Dups ok – message is acknowledged automatically on its receipt

Transactional – when a transaction is included in a process definition. The message is ack when the transaction commits.

9.What is prefetch and failsafe?

Prefetch is fetching the messages from the server before receiver calls. Failsafe property enables to write persistence messages to the file with synchronous i/o calls.

10.How do you send a response from a web service?

We write to output to the queue from which we received the request.

11.What is the difference between soap event source and service palette?

Soap event source is used for single operation, single end. Service palette is used for multiple operations, multiple end bindings like http, jms.

12.If you want to count the number of times a job is called, how will you go about doing it? 

Use job shared variable in a critical section.

13.If there are hundred messages lying on the queue, what will you do and which activity will you use to retrieve one message at a time? 

JMS Queue receiver with confirm activity. Sequencing key in a misc tab of the configuration could also be used.

14.What is the sequencing key in the misc tab used for?

It is used to call process instances in the order they are created.

15.What happens if I put a static value say ‘nitin’ in the sequencing key?

All the processes which have this key in their sequencing key field will be executed in the order they were created.

16.What is SQL direct? What is it used for? 

SQL direct is used to execute command dynamically using output of other activities. This activity allows you to execute commands which other activities in the JDBC don’t allow, like DDL command create table.

17.Can you change a value of a global variable at runtime?

You can change the value of a global variable when you deploy your project in TIBCO Administrator.
See the section on modifying runtime variables in TIBCO BusinessWorks Administration for more information on using TIBCO Administrator.

You can also specify values for global variables when starting a process engine on the command line. To do this, specify the following as a command line argument when starting the process engine:

-tibco.clientVar.<variablePathAndName> <value>

where variablePathAndName is the name of the variable you wish to set, including the path to the variable if it is contained in a folder. Value is the value you wish to set the variable to.

For example, if you have a global variable named item1 contained in a folder named myGroup and you wish to set its value to 500, add the following argument to the command line when starting the process engine:
-tibco.clientVar.myGroup/item1 500

18.What are the modes of TIBCO BW Installations?

GUI mode

Console mode

Silent mode

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




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

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.

Supplies the run-time environment, that is, all shared libraries including third-party libraries.

21.What are the resources that gets included in the EAR file, created by the TIBCO Designer?

An EAR file can contain local project resources, Library Builder resources, and files as specified in Alias Library resources. In addition, the TIBCO Designer class path may include references to other files that are included in the EAR file.

22.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 messages—a 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.

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

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


Java Transaction API (JTA) UserTransaction

XA Transaction

25.What activities are supported in JTA Transaction?

The Java Transaction API (JTA) UserTransaction type allows:



ActiveEnterprise Adapter (using JMS transports)

EJB activities

to participate in transactions.

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

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

28.What are the three scenarios where BW engine must 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.

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

30.When is a ‘Generate Error’ activity useful?

When you handle an error inside a called sub-process or group and want to re-throw the error to the caller (happens by default if you don’t handle the error in the called process)


31. Will Active Enterprise Adapter Palette Activities Override The Existing Transport Type Of Adapter Service?


32. Does Adapter Service Support Rvcmq Transport For Publishing?


33. What Is The Difference Between Invoke An Adapter Request-response Service Activity And Adapter Request-response Service Activity?

Invoke an Adapter Request-Response:

Request a response from external application to Adapter service

Adapter Request-Response Server activity:

Request a response from adapter service to external application

34. Does Copy File Activity Allow Copying Directories To New Location?

Yes.  The Copy File activity allows you to copy files and directories to a new location.

35. Does Copy Create File Activity Allows Creating New Directories?

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

36. What Is The Difference Between Concrete Wsdl And Abstract Wsdl?

The Abstract WSDL describes the interface of the web service which includes the format of request and response messages of each operation.

The Concrete WSDL describes the abstract WSDL plus transport information. Concrete WSDL contains messages, operations and transport specific information (JMS or Http), which is used by SOAP client.

37. What Is The Difference Between Ems And Rv?


A producer sends a message to the central server. The server stores the message until it has delivered it to each consumer

Producer to server; server to consumers.

Store and forward queue protocol.

The central server stores all messages and delivery state for all its clients; it requires disk resources in proportion to total throughput volume.

Disk failure on a server host computer can be catastrophic, affecting all messages from every client. Many installations protect against disk failure using safeguards such as disk mirroring.

The central server is the master of overall delivery state.


A producer sends a message to consumers. The producer stores the message until each consumer has acknowledged receipt


Stream-oriented protocol.

Each producer stores its outbound messages and some delivery state; it requires disk resources in proportion to its outbound volume.

Disk failure on a peer host computer affects only the messages that its programs produce or consume. However, disk mirroring for each individual peer is often impractical.

38. How You Perform Performance Tuning On Bw Engine?

Max jobs

Flow limit

Activation Limit

Java heap size

39. What Are Included In Ear File?

Library builder

Alias library

Process Definitions

Shared resources

40. What Are The Maximum, We Can Configure In Ft Mode For Ems?

At any point of time, can configure only two servers in FT.

41. What Is The Use Of Critical Section Group?

Critical section groups are used to synchronize process instances so that only one process instance executes the grouped activities at any given time.

42. How Do You Use Xslt File?

The Transform XML activity allows you to transform an input XML document into the output specified by the given XSLT File shared configuration resource.

43. How You Send Messages In A Sequence Order In Ems?

By using Sequence Key property

44. Where Do You Configure Database Connection For Ems?

In Stores.Config file.

45. How To Set Message Priorities On The Destinations Using Tibco Ems?

By specifying priority index at receiving end

46. Is That Possible To Change Process Or Shared Variable During Runtime?



Yes, it's possible to change process or Shared variables at run time using assign and Set shared Variable activity.

47. In Mapping Using Xslt, What Is Meang Of (..) In The Statement?

Parent loop.

48. Can You Deploy A Bw Engine On System Which Has Only Tra?


49. What Are The Main Parts Of Jms Message?




50. What Is Difference Between Aliaslibrary And Librarybuilder?

A Library Builder activity is used to create a design time library which can used to share a set of TIBCO BW processes or resources across projects during the development phase.

An Alias Library is used to access some java classes which are part of a jar file.

51. What Is Bw Memory Management?

Memory saving mode can reduce the memory used by actively running process instances as well as potentially improve the performance of checkpoints. By default, memory saving mode is disabled, but you can enable garbage collection on specific process instances by setting the Enable Memory Saving Mode.  property to true. You can enable memory saving mode for all process instances by setting the Enable Memory Saving Mode property to true Enable Memory Saving Mode. = true

Try this property adding your Deployment Tra file or BW Engine.Tra file and Redeploy it. But memory saving is very limited though, make sure if your process is claiming more heap and/or reaching to out of memory exception, there is something wrong with process design, verify each actitivity and cleanup all unused content.

52. Can We Have 2 Processes Running On The Same Http Connection And Same Port No.?


53. Do We Have To Redesign The Project If We Make Some Changes In Xsd's Like Enumeration Changes Or Just Update Them?

If you modified any property (Enumeration..etc) for any field in in Schema, you need not re-design your project. It's just property, it automatically imported where ever you’re using (diff process) this schema.

54. What Is Difference Between Soap Event Source And Service Activity?

Soap Event Source supports only one operation to be implemented, if you have a need to have multiple operations in one place, you can use services as it supports multiple operations in one place.

55. What Is Check Point? What Is The Use Of It?

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.

56. Is There Any Restriction On Number Of Activities In A Process Definition?

In general, there is no limitation to activities in process definition.

57. How To Read Excel File In Process?

You can save the excel file as .csv file and you can use the same csv format by giving the column separator and line separator.

You can use JDBC Excel driver, or JDBC-ODBC Bridge and then ODBC Excel driver. Both methods allow read/write of excel files using SQL

58. What Is The Purpose Of Event Candidate Key?

Expression used to evaluate whether the incoming message is appropriate for this process. This expression is specified in XPath, and only data from the incoming event is available for use in this XPath expression.

59. What Is The Use Of Event Time Out?


The amount of time a message will wait (in milliseconds) if it is received before this task is reached in the process. If the event timeout expires, an error is logged and the event is discarded.

If no value is specified in this field, the message waits indefinitely. If zero is specified, the event is discarded immediately, unless this has already been reached.

60. How Do You Achieve To Store Data From Group Activities For Each Iteration?

If you wish to store data from each successive iteration of a loop, you can create a process variable and use the Assign activity in the loop to store or alter data for each iteration. For Iterate and Repeat until True loops, you can optionally accumulate the output of each execution of one activity in the group into a list. This list becomes the group’s output and the list is available to subsequent activities in the process definition.

61. What Is The Use Of “no Action Group”?

You can group a set of related activities, with a common set of transitions into and out of the group. If you do not wish for the activities in the group to repeat, specify the group action to be none. No action groups are primarily useful for specifying a single error transition out of the group so that if an unhandled error occurs in the group, you only need one error transition instead of an error transition for each activity. This behavior is similar to a try...catch block in Java.

62. Why You Need “pick First Group”?

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 time out and cancels.

63. What Are The Different Types Of Variables Are Available? And Explain Them?

Global Variables: These variables allow you to specify constants that can be used throughout the project. The constants can be specified and changed while designing and testing your project. You can also specify different values for each deployment of your project.

Process variables: These variables allow you to access various data in your project. For example, there are predefined process variables containing the process ID, project name, and other information. You can also create user-defined process variables for containing process-specific data.

Shared variables: These variables allow you to specify data for use across multiple process instances. Because multiple process instances can access the same variable, you can also synchronize access across processes when setting or retrieving the shared variable.

64. Difference Between Shared Variable And Job Shared Variable?

Shared variable: 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

Job shared variable: 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.

65. What Is Coercion And What Is The Use Of It?

Coercions allow you to specify a type for Process Data elements that are not a specific datatype. For example, a choice element can be coerced into one of the possible data types for the element, or an element of datatype any can be coerced into a specific data type.

66. What Is Tibco?

Tibco is an organization which provides Intergration software to software industry.

67. What Are The Different Modes Of Service Invocation In Tibco?

Services can be invoked in several ways.

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

A request-response oriented operation, in which client needs to wait the response. In a request-response service,communication flows in both directions

68. What Are The Tibco Bw Activities That Can Participate In Transactions?

There are some specific TIBCO BW activities are supported in transaction not all.

JDBC activities

EJB activities

JMS activities

ActiveEnterprise Adapter activities that use JMS transports

TIBCO iProcess BusinessWorks Connector activities

69. What Are The Modes Of Tibco Bw Installations ?

GUI mode

Console mode

Silent mode

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




71. Compare Spotfire & QlikView




Deployment time



Big Data deployment

Very Good


Data Interactivity


Very Good


Limited by hardware

Limited by RAM

72. What is TIBCO Spotfire?

Spotfire’s Enterprise Player, when combined with Core Lab’s RAPID database, allows our clients to perform analytics on the data sets being generated in our Joint Industry Projects. Each active Joint Industry Project has a Spotfire Analytical Template associated with it which allows our clients to investigate the various data sets through tabular and graphical displays.

Each display can be filtered by a wide variety of data types stored in our RAPID database such as formation, country, geologic basin, porosity, permeability, geochemistry parameters, etc. Spotfire is extremely easy to use and provides a powerful resource in reservoir evaluation.

Go through this insightful blog to learn more about TIBCO Spotfire.

73. Is TIBCO Spotfire a Core Lab product?

The Spotfire Enterprise Player is a product of TIBCO, which Core Lab licenses for use in conjunction with our Joint Industry Projects. The Analytical Templates themselves are a product of Core Laboratories. In order to facilitate the transfer of data from our RAPID database to our Spotfire Analytical Templates, Core Lab developed RAPIDLink which automatically delivers all data to which a client is entitled.

74. What is S Programming Language?

The award-winning S programming language is at the core of both TIBCO Spotfire S+ and R. The only language created specifically for exploratory data analysis and statistical modeling, the S programming language allows you to create statistical applications up to five times faster than with other languages.

Object-oriented, interpreted 4GL language.

Interactive exploration and fast prototyping.

Rich data structures: vector, matrix, array, data frame, list and many more.

User-defined functions, objects, classes, methods and libraries.

Library of over 4000 functions for data manipulation, graphics, statistical modeling, and integration.

CSAN library of available packages.

75. What is Spotfire Analytics?

Spotfire Analytics is an enterprise Analytics platform that helps business and technical users quickly to get an actionable insight.This allows customers to perform in-depth analysis of their data through the use of predictive and complex statistics.

Looking to master Spotfire? Go through this Spotfire training!

76. What is the use of Spotfire Analytics?

TIBCO Spotfire Analytics provides an incredibly fast and flexible environment for analysing critical data to help you and your organization make better and smarter decisions. With powerful in-memory analysis, predictive modelling and a highly visual and intuitive interface, Spotfire gives business and technical professionals the ability to rapidly explore their data, helping them find key insights to give them a unique competitive edge.

Spotfire Analytics is a single platform that spans the spectrum from rapid ad-hoc analysis to building custom analytic applications, from analysing spreadsheet and database data to real-time and event-driven data, and from desktop-based data exploration to widely distributed web-based interactive dashboards. Incorporating powerful statistics, Spotfire is the most powerful analytic platform in the world, giving individuals and organizations an immediate information advantage over their competitors.

77. What are the features of Spotfire?

Analyse and explore data with intuitive, interactive visualizations

Bar charts, scatter plots, treemaps, box plots, map charts etc.

In-Memory data architecture provides incredible speed and flexibility

Direct access to corporate and local data sources, including spreadsheets

SAP BW, SAP R/3, Oracle E-Business Suite, Salesforce.com, any ODBC database etc.

Excel, csv, any flat data file

Create and distribute analytic applications for the Web

Zero Footprint Client; no coding required

Easily creates sophisticated statistical analysis

Tight integration between S+ statistical package and Spotfire

Analyse event-driven and real-time data

Tight integration with TIBCO infrastructure products

78. Describe the main features of TIBCO Spotfire 6.5?

Faster, Easier Use of Data

Create Spotfire applications that interact directly with complex big data sources while hiding the complexity from end users

Access huge volumes of information quickly and easily

Create complex applications faster and leverage existing database skill sets

Richer Location Analytics

Visualize sophisticated location source data directly in Spotfire

Get access to existing Esri and WMS data sources for richer data visualization

Bring GIS and data analysis strategies together seamlesslyNewSpotfire Desktop

The most complete desktop analytics authoring for Excel users, business analysts, R- knowledgeable analysts, and data scientists

Full Spotfire desktop authoring for a single user

Connect to the wide array of Spotfire direct connect data sources

79. What is Spotfire Cloud?

Spotfire Cloud is the leading data visualization and cloud-based business analytics software available today. Spotfire enables users to create beautiful, interactive visualizations from their laptop or tablet. While traditional business intelligence tools force the user to know what  to ask first, Spotfire allows users to explore trends, outliers and previously undiscovered insights in their data.

80. What are Spotfire Shared Folders?

Spotfire Cloud allows you to share what you discover instantly. In order to share Spotfire analysis files, you must save the file to a folder in your library. Personal users create folders in their online library; Work Group users can create folders in both their online or desktop libraries. Folders can be public, shared (by you or with you) or private depending on your subscription type.

81. What is TIBCO Certified Messaging?

TIBCO certified messaging is an approach to guarantee delivery of every message from sender to its intended recipient. TIBCO certified messaging works on the principle of registration and acknowledgement.

82. What Is An Administration Domain?

An Administration Domain is a collection of Users, Machines, Applications and Services. An Administration Domain is managed by Administration Server, which is assisted by a Hawk Agent running on each machine in the domain.


83. What Are The Available Deployment Choices?

There are two deployment choices:

Using Local Application Data

Using Server-Based Application Data

For the Transport Type “RV”, you can chose between “Using Local Application Data or Using Server-Based Application Data” deployment choices.

For the Transport Type “RV”,  by default it will be “Using Local Application”

84. What Is Main Difference Using Local Application Data Vs Using Server-based Application Data Deployment Choices?

In “Using Local Application Data” the project files are created under TIBCO_HOMEtradomain<Domain_Name>datafiles on each of the target machines. This allows the applications to run independently of the administration server.

In “Using Server-Based Application Data” a repository instance for the application is created on the administration server and the repository instance is referenced in each application’s instance’s property file. This consumes lot of memory, CPU & Threads.

85. Does Secondary Administration Servers In An Ems-based Admin Domain Have Write Access?

Yes, In an EMS-based Administration domain the Secondary Administration servers acts exactly like the the Primary servers. You can deploy, delete, modify applications. For RV- based domain secondary server will have only read access.

86. Where Does The Administration Server Properties Are Stored?

tibco admin_.tra file contain the properties which is located under TIBCO_HOME administrator domain in folder.

87. Which Web Server Used By The Tibco Administrator?


88. Where Does The Tomcat Logs Are Stored?

Separate logs are stored for just Tomcat at location TIBCO_HOME administrator <Domain_Name>tomcat logs A new set of files is created each day you use the software.


89. Where Does The Administration Server Logs Are Stored?

Admin server logs are stored in Administrator.log file located in TIBCO_HOMEtradomainlogs.

90. Where Does The Hawk Agent Logs Are Stored?

Hawk agent logs are written to the tsm.log and HawkAgent.log and stored in TIBCO HOME tra domain<Domain_Name>logs.

tsm.log includes the high-level Hawk Agent messages.

HawkAgent.log includes the lower-level Hawk Agent messages.

91. Where Does The Deployed Application Logs Are Stored?

Deployed application logs are written to Application_Name.log and stored in TIBCO HOMEtrak <Domain_Name>application logs

92. Where Does The Domain Utility Logs Are Stored?

Domain Utility logs are written to the log file names domain utility.log and it stored in TIBCO_HOMEtraver>logs. The log contains information about user selections in TIBCO Domain Utility.

93. What Are The Storage Options Available For Business Works Processes?

File System (Default) or Database. Using the TIBCO administrator you can configure the location where BW process running on the server store the internal information.

To select File/Datase  storage option navigate in the admin GUI as below :

Application_Name> ConfigurationBuilder>Process Archive.par>Adavanced>TIBCO essWorks Checkpoint Data Repository

94. Advantage Of Using Database For Storage Of Bw Process Information?

Some of the functionality mentioned below are not available with File system. Should use Database if process required below functions.

If shared variables is used to pass information across multiple process engines.

Duplicate detection of messages across multiple engines after a recovery from a checkpoint.

Using critical section groups across multiple engines requires a database for storage.

Wait/Notify activities can be used to pass data between services running on different machines.

95. What Are The Default Values For Max Job, Flow Limit & Use Activation Limit?

Max Job=0, Use Activation Limit= Checked, Flow Limit=0.

This combination will create unlimited number of Process Instances and Will load unlimited number of jobs into memory. This choice should be chosen when you have enough resources & memory available.

Note:Use Activation Limit= Checked has no effect when Max Jobs=0.

96. What Value Combinations For Max Job, Flow Limit & Use Activation Limit Will Executes The Processes In A Sequential Manner?

Max Job=1, Use Activation Limit= Checked, Flow Limit=N

Max Job=1, Use Activation Limit= Checked, Flow Limit=0

Note:above settings will create a lot of overhead, if you want to achieve the sequential execution a better way is to define the Sequencing key on the Misc. tab of the Process starter palettes.

97. Where Do We Set Maxjob, Use Activation Limit And Flow Limit Parameters In Admin Gui?

To set these parameters navigate in the admin GUI as below :

Application_Name>ConfigurationBuilder>ProcessArchive.par>Adavnced>TIBCOBusinessWorks Configurations.

You can change theses values for each of the process starter defined in the archive file.

98. What Are Blocking & Non-blocking Activities?

Depending on whether an activity run on its own private thread or engine thread when it is waiting on an event or when it executed sleep command, can be classified as Blocking & Non-Blocking. Blocking Activities are those which runs on Engine Thread always and Non-Blocking Activities are those which runs on Engine Thread when it’s ready execute else it will run on Private Thread.


99. What Happens When A Primary Server Fails In A Fault-tolerant Group Of Process Engine?

The primary servers starts the process starters and executes the services & The Secondary server will be stand by. When Primary server fails, the secondary server resume the role of the primary server and it restarts the process starters and services are restarted from their last checkpoint.

100. How Does The Primary And Secondary Servers Communicate About Their States?

Primary and secondary server engines send the heartbeats to notify each other about their current state. Heartbeats are sent every 10000ms (default), heartbeat interval  and if the heartbeat not received then the secondary server waits until activation interval 35000ms (default).

Note: Activation interval is 3.5 times of Heartbeat interval.

101. What Is The File Is Used To Define Custom Engine Properties?

In bwengine.xml  custom properties for the process engine can be defined. This file is located on VW engines in tibco_home wlibcomtibcodeployment.

102. A Member Of Which User Group Can Reset The Admin Console Password For Other User?

Only a member of “Super User” group can reset password.

103. What Is The Max Deployment Revision?

It indicates the number of revisions to keep in history. By default it is set to -1, you can change to the required value.

104. Can Fault Tolerance For Adapter Services Set In Tibco Admin?

Fault tolerance options can be set only for TIBCO BusinessWorks processes. TIBCO Adapter services cannot be assigned fault tolerant options.

105. Explain The Difference In The Peer Vs Master & Secondary Relationships Ft Groups?

In Peer relationship FT group, If all the engines are peers, when the machine executing the current processes fails then the another peer engine resume processing for the first engine and it process until it fails and other engine resume it’s role.


In the Master & Secondary Relationships FT group, the secondary engine takes role of primary and executes the process until the primary server is back, & then resume secondary role and gets into standby mode. Meaning, primary engine executes processes always as long as it’s up & running.

106. What Are The Messaging Models Does Ems Support?

Point-to-Point (Queue)

Publish and Subscribe (Topic)

Multicast (Topic)

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

108. What Are The Ems Destination Features?

Secure Property

Trace Property

Store Property

Redelivery policy

Flow control

Exclusive property for queues

109. 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 Map Message and Stream Message body types. These extensions allow EMS to exchange messages with TIBCO Rendezvous and Active Enterprise formats that have certain features not available within the JMS Map Message and Stream Message.

110. What Is Structure Of Jms Message?

Header (Required)

Properties (optional)

Body (optional)

111. 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 message’s 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.

112. What Are The Messages Bodies Are Supported By The Ems?

Map Message

Text Message

Stream Message

Bytes Message

Object Message

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


114. What Are The Different Delivery Modes Available In Ems?


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


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.


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.

115. If A Persistent Message Is Published On To A Topic, Does These Messages Will Store On Disk If Topic Doesn’t 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.

116. What Are The Different Types Of Acknowledgement Modes In Ems Message Delivery?








Local transitional

117. What Are The Different Types Of Messages That Can Be Used In Ems?





XML test


Object ref


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

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

120. How Many Modes Are The Messages Written To Store File?

Two Modes:

Synchronous and Asynchronous.

Default is asynchronous.

121. What Is Tibemsd.conf?

It is the main configuration file that controls the characteristics of the EMS server.

122. Name Destination Properties And Explain Them?

Global, secure, maxmsgs, maxbytes, flow control, sender name, sender_name_enforced, trace, maxRedelivery.

123. What Are The Different Modes Of Installation In Ems?

GUI mode

Console mode

Silent mode

124. What Are The Messaging Models Supported By Jms?




125. What Is The Use Of Routes? What Kind Of Destinations Can Be Used In Routes?

Topics and queues m-hops.

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

127. In How Many Ways Can A Destination Be Created?

Static-created by server.

Dynamic-created by client.

Temporary destinations.

128. 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 can’t publish to them. Where as in case of queues we can’t either send /receive.

129. Tell Me About Flow Control On Destinations?

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

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

131. Name 3 Configuration Files And Tell Me What It Consists Of?






Groups.conf, users.conf, transports.conf

132. Name Some Administrative Level Destination Properties?






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

134. What Are The Permissions That You Can Grant To Users To Access Queues?




135. What Are The Permissions That You Can Grant To Users To Access Topics?




Use durable

136. Tell Me About Multi Casting 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.

137. What Are The Advantages And Disadvantages Of Multi Casting?

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 can’t be used to send messages between servers.

138. Suppose, You Got An Error While Accessing A Queue, That You Don’t 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.

138. What Is Jms Queue Requester?

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.

139. What Is Jms Topic Requester?


The JMS Topic Requestor activity is used to communicate with a JMS application’s request-response service. This service invokes an operation with input and output. The request is sent to a JMS topic and the JMS application returns the response to the request.