TIBCO Interview Questions at IBM
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)and Tibco says that it has been used in financial services, telecommunications, electronic commerce, transportation, manufacturing, and energy.
Active Enterprise is Tibco's integration server package that supports both message-bus and hub-and-spoke integration server models. The message-bus model connects the different applications to a common backbone using application adapters. The hub-and-spoke model connects all applications to a central server. Tibco's latest addition to Active Enterprise is Business Works, which uses Web Services technology.
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.
What are the revision control system options available in TIBCO designer?
* File sharing
* XML Canon
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.
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).
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
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
What activities are supported in JTA Transaction?
The Java Transaction API (JTA) UserTransaction type allows
* ActiveEnterprise Adapter (using JMS transports)
* EJB activities
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.
What are the maximum/minimum of threads available for incoming HTTP ?
The maximum/minimum of threads available for incoming HTTP : 75/10
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 application, starting/stopping process engines etc.
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 file’s 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.
What are the mandatory configuration parameters for FTP Connection & FTP with firewall ?
The mandatory configuration parameters for FTP Connection
* FTP host
* Username & Password
If Firewall is enabled in addition the proxy host and port are required.
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.
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.
What are the encodings supported by designer ?
Encodings supported by designer are
How do you determine if there are broken references in the project?
Project -> Validate for deployment
Where are the Designer preferences stored ?
Designer preferences stored are stores in a file called 'Designer .prefs' in the user home directory.
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
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 memory till it completes execution. By default it is enabled.
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.
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'.
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.
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.
When is a 'No Action' group used ?
'No Action' group used to have a set of activities having a common error transition
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'.
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.
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.
* 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.
Which are the two process variables available to all activities with inputs ?
What are the types of adapter services ?
Types of adapter services are :
* Subscriber Service
* Publisher Service
* Request-Response Service
* Request-Response Invocation Service
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.
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 process
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.
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.
What are the output formats for XSLT?
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 success 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.