TIBCO Interview QuestionsWhat is the role of TRA (Tibco Runtime Agent)?
There are two main functions of TRA:
TIBCO Run-time Agent (TRA) is responsible for starting and stopping of processes running on a machine.
TRA provides run-time environment for TIBCO applications.
TRA runs on every TIBCO machine in the background.
Explain What is alias file in TIBCO?
TIBCO Designer allows to create alias to resources that can be reused across projects.
Alias are used in 2 resources
-AliasLibrary- Used to alias file system resources like the jar files needed in the project.
-Library builder- Used to alias shared resources like Schemas, SSL Certs, BW processes needed during design time.
What type of resources in TIBCO EAR file?
Following type of resources are typically added in EAR file in TIBCO:
Local Project Resources (Processes, Schema, Connections, Services, Variables etc)
Library Builder Resources Files.
Files referred in designer CLASS-PATH
Files under Designer Installation directory
What is vcrepo.dat and when this file is created in TIBCO?
Vcrepo.dat file is used to store certain properties like TIBCO RV encoding, display name; description etc. vcrepo.dat file gets created automatically when a TIBCO BW project is saved for the first time. This file can be used for identification purposes.
While debugging TIBCO BW processes, which activity can be used to write complete schema information to a file?
Ans: TIBCO provides Inspector activity which can be used for debugging purposes while developing applications in TIBCO designer. Inspector activity can be used to write all output information of designer activities to a local file including process variables and other details.
How Restful web services can be developed in TIBCO?
Ans: TIBCO provides a Plugin for REST and JSON which can be used to develop Restful web services in TIBCO designer.
Can we have backward transitions in TIBCO BW Processes?
Ans: In TIBCO Designer Processes, transitions between activities are always uni-directional. This means that we can’t go back to a previous transition from any point.
What are different Panels of TIBCO designer window and what is the purpose of each?
There are following four types of panels available in TIBCO designer window:
Project Panel: This panel shows project hierarchy.
Design Panel: This panel is used to design new BW Processes in TIBCO.
Palette Panel: This Panel has all the available Palettes with bundled activities which can be dragged and used in design panel during process development.
Configuration Panel: Configurations including input, output details for any activity are specified in the configuration panel.
What are the three levels of validations that can be performed in TIBCO designer?
Following are the three levels of validations supported by TIBCO BW:
-Activity level validation
-Process level validation
-Project level validation
What is difference between fault tolerant and Load balanced deployment in TIBCO?
Load balancing is done between two or more servers where the load is distributed between servers to avoid any server crashes due to heavy load on a single server.
Fault tolerance is achieved between two servers where one server acts as a primary and the second server acts as a secondary/backup server for the primary server. Whenever failure occurs for primary server, the backup secondary server becomes the primary server.
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: Information is stored in a local file which in case of engine crash/failure and same information is used to resume the process flow once engine is up. This mechanism works only in case of single server or load balancing approach.
-Database: Information is stored in a database table which is used to resume engine later. Fault tolerant engines can recover from a checkpoint only when database is used.
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
-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.
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.
How you perform performance tuning on BW engine?
-Java heap size
What are included in EAR file?
What are the maximum, we can configure in FT mode for EMS?
At any point of time, can configure only two servers in FT.
What is the use of Critical section Group?
Critical section groups are used to synchronize process instances so that only oneprocess instance executes the grouped activities at any given time
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
How you send messages in a sequence order in ems?
By using Sequence Key property
Where do you configure database connection for EMS?
In Stores.Config file.
How to set message priorities on the destinations using tibco EMS?
By specifying priority index at receiving end
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.
In Mapping using XSLT, what is meang of (..) in the statement?
Can you deploy a BW engine on system which has only TRA?
What are the main parts of JMS message?
What is difference between Alias Library and Library Builder?
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.
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 MemorySaving 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 activity and cleanup all unused content.
Can we have 2 processes running on the same Http Connection and same Port No.?
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.
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.
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 unhanded 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.
Is there any restriction on number of Activities in a process definition?
In general, there is no limitation to activities in process definition.
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
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 X Path, and only data from the incoming event is available for use in this XPath expression.
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
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 aprocess 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
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 unhanded error occurs in the group, you only need one error transition instead of an error transition for each activity. This behaviour is similar to a try...catch block in Java.
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
What are the different types of variables are available? And explain them?
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.
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.
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.
Difference between shared variable and job shared variable?
Shared Variable resource allows you to share data across process instances. Allprocess 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.
What is coercion and what is the use of it?
Coercion 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.