Dear Readers, Welcome to TIBCO Interview Questions have been designed specially to get you acquainted with the nature of questions you may encounter during your Job interview for the subject of TIBCO. These TIBCO Questions are very important for campus placement test and job interviews. As per my experience good interviewers hardly plan to ask any particular questions during your Job interview and these model questions are asked in the online technical test and interview of many IT companies.
Tibco is an organization which provides Intergration software to software industry.
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
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
• GUI mode
• Console mode
• Silent mode
Integration can be at different application layers:
• X:Patch
• Y:Major
• Z:Minor
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.
A 'Pick First Group'.
• File sharing
• VSS
• Perforce
• XML Canon
• ClearCase
• iPlanet
• CVS
• PVCS
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.
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).
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
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
The Java Transaction API (JTA) UserTransaction type allows:
• JDBC
• JMS
• ActiveEnterprise Adapter (using JMS transports)
• EJB activities
to participate in transactions.
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.
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.
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.
The maximum/minimum of threads available for incoming HTTP : 75/10
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.
Define 3 transitions from JDBC update with condition on the no of updates and call appropriate child processes.
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.
Encodings supported by designer are
• ISO8859-1(Latin-1)
• UTF-8
The 4 main panels of the Designer window are:
• Project panel
• Palette panel
• Design panel
• Configuration panel
Project -> Validate for deployment
Designer preferences stored are stores in a file called 'Designer <ver>.prefs' in the user home directory.
• 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.
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.
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.
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.
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'.
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.
No. There can be only one Error and one Success if no matching condition transition out of each activity.
'No Action' group used to have a set of activities having a common error transition
The 'Assign' activity can be used to set the value of a 'User defined process variable'.
• $_globalVariables
• $_processContext
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.
The three scenarios are:
• Shared Variables across BW engines.
• Locking across groups in multiple BW engines.
• Wait Notify across BW engines.
We can use Repeat on Error until true
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)
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.
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.
Types of adapter services are :
• Subscriber Service
• Publisher Service
• Request-Response Service
• Request-Response Invocation Service
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.
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
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)
• 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).
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.
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.
• XML
• HTML
• Text
$_error variable is available in the node following the error transition. It captures the error message, error code etc.
• 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.