You are on page 1of 61

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


$_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'.


--------------------------------------------------------------------------------------------------------------------------------------

1.What are the modes of TIBCO BW Installations ?


Answer:

GUI mode
Console mode
Silent mode

2. Will Active Enterprise Adapter Palette activities override the existing transport type
of adapter service?
Answer:

Yes.

3. Does Adapter service support RVCMQ transport for publishing?


Answer: No
4. What is the difference between Invoke an Adapter Request-Response Service Activity
and Adapter Request-Response Service activity?
Answer: Invoke an Adapter Request - Response:
It Requests a response from external application to adapter service.
Adapter Request-Response Server Activity:
It Requests a response from adapter service to external application.
4. Does Copy File activity allow copying directories to new location?
Answer: Yes, The Copy File activity allows you to copy files and directories to a new
location.
5. Does Create file activity allows creating new directories?
Answer: 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.
6. What is the Difference between Concrete WSDL and Abstract WSDL?
Answer: 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.

7. What is the Difference between EMS (Enterprise Messaging Service) and Rv


(Rendezvous)?
Answer: EMS (Enterprise Messaging Service):
1. A Producer sends a message to the central server. The server stores the message until it has
delivered it to each consumer.
2. Producer to server; Server to consumers.
3. The central server stores all messages and delivery state for all its clients. It requires disk
resources in proportion to total throughput volume.
4. Disk failure on a server host computer can be catastrophic, affecting all messages from
client. Many installations protect against disk failure using safeguards such as disk mirroring.
5. The central server is the master of overall delivery state.
Rv (Rendezvous):
1. A producer sends a message to consumers. The producer stores the message until each
consumer has acknowledged receipt.
2. Peer-to-peer.
3. Stream-oriented Protocol.
4. Each producer stores its outbound messages and some delivery state; It requires disk
resources in proportion to its outbound volume.
5. 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.
8. How you perform Performance Tuning on BW engine?
Answer: Using this we can perform Performance tuning in BW engine.

Max Jobs
Flow Limit
Activation Limit
Java heap Size

9. What are include in EAR file?


Answer:

Library builder
Alias Library
Process Definitions
Shared Resources

10. What are the maximum, we can configure Faul tolerance mode for EMS?
Answer: At any point of time, we can configure only two servers in FT.
11. What is the use of Critical Section Group?
Answer: Critical Section groups are used to synchronize process instances so that only one
process instance executes the grouped activities at any given time.
12. How do you use XSLT file?
Answer: The transform XML activity allows you to transform an input XML document into
the output specified by the given XSLT File shared configuration resource.
13. How you send messages in a sequence order in ems?
Answer: By using Sequence Key Property.
14. Where do you configure database connection for EMS?
Answer: In Stores.config file.
15. How to set message priorities on the destinations using tibco EMS?
Answer: By specifying priority index at receiving end.
16. Is that possible to change process or shared variable during run time?
Answer: Yes, Its possible to change process or shared variables at run time using assign and
set shared variable activity.
17. In Mapping using XSLT, what is the meaning of (..) in the statement?
Answer: Parent loop
18. Can you deploy a BW engine on system which has only TRA?
Answer: No
19. What are the main parts of JMS message?
Answer:

Header
Body
Properties

20. What is the Difference between Alias Library and Library Builder?

Answer: A Library builder is used to create a design time Library which can be 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.
21. What is BW Memory Management?
Answer: 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 EnableMemorySavingMode property to true. You can enable memory saving
mode for all process instances by setting the EnableMemorySavingMode property to true,
EnableMemorySavingMode = true.
Try this property adding your deployment TRA 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 out of memory exception, there is something wrong process design, Verify
each activity and cleanup all unused content.
22. Can we have 2 processes running on the same Http Connection and same Port No.?
Answer: No
23. Do we have to redesign the project if we make some changes in XSD'S like
enumeration changes or just update them?
Answer: If you modified any property (Enumeration.. etc) for any field 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.
24. What is the difference between SOAP Event Source and Service Activity?
Answer: By using SOAP Event source activity we can perform only one operation, if you
need to have multiple operations in one place, you can use Service Activity, as it supports
multiple operations in one place.

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

Answer: Integration can be at different application layers:

X:Patch
Y:Major
Z:Minor

26. What is the role of TRA?

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

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

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

28. What are the revision control system options available in TIBCO designer?
Answer:

File sharing
VSS
Perforce
XML Canon
ClearCase

iPlanet
CVS
PVCS

29. What are the different modes of service invocation?

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

30. What is vcrepo.dat?

Answer: 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).
31. What are the TIBCO BW activities that can participate in transactions?

Answer: 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

32. What are the different types of Transactions TIBCO provides?

Answer: 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

33. What activities are supported in JTA Transaction?

Answer: The Java Transaction API (JTA) UserTransaction type allows:

JDBC
JMS
Active Enterprise Adapter (using JMS transports)
EJB activities

34. What activities are supported in XA Transaction ?


Answer: 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.
35. What are the possible Error output's of Read File activity?

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

36. What is the purpose of the inspector activity ?

Answer: 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.
37. What are the maximum/minimum of threads available for incoming HTTP ?

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


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

Answer: 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.
39. What are the mandatory configuration parameters for FTP Connection & FTP with
firewall ?

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

40. how to design a process such that depending on number of records updated in a
database, 3 different sub-processes may be called ?

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

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

42. What are the encodings supported by designer ?

Answer: Encodings supported by designer are

ISO8859-1(Latin-1)
UTF-8

43. What are the 4 main panels of the Designer window ?

Answer: The 4 main panels of the Designer window are

Project panel
Palette panel
Design panel
Configuration panel

44. How do you determine if there are broken references in the project?

Answer: Project -> Validate for deployment

45. Where are the Designer preferences stored ?

Answer: Designer preferences stored are stores in a file called 'Designer <ver>.prefs' in the
user home directory.
46. Explain the process configuration parameters - Max Jobs, Flow Limit & Activation Limit
?
Answer:

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.

47. What are the options for configuring storage for process engine's checkpoint
repository ?

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

48. Process engines in a fault tolerant group can be configured as peers or master
secondary.How do these differ ?

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

49. What are the uses of grouping activities ?

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

50. What is the purpose of a Lock shared configuration resource?

Answer: 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'.
51. How to control the sequence of execution of process instances created by a process
starter ?

Answer: 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.
52. Can there be two error transitions out of an activity ?

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

Answer: 'No Action' group used to have a set of activities having a common error transition

54. What activity can be used to set the value of a 'User defined process variable' ?

Answer: The 'Assign' activity can be used to set the value of a 'User defined process
variable'.
55. Which are the two process variables available to all activities with inputs ?
Answer:

$_globalVariables
$_processContex
Q1: What is the difference between JMS and TIBCO EMS?
Ans: TIBCO EMS is a customization of JMS specifications by TIBCO. The
difference between JMS and TIBCO EMS is that JMS provides two types of delivery
modes which are Persistent and Non-Persistent while TIBCO EMS adds another
type of delivery mode which is RELIABLE delivery mode.
Also, for restriction of messages acknowledgement, JMS provides
NO_ACKNOWLEDGE mode while TIBCO EMS extends the functionality of JMS
by providing EXPLICIT_CLIENT_ACKNOWLEDGE mode and
EXPLICIT_CLIENT_DUPS_OK_ACKNOWLEDGE mode.
Q2: What is the difference between TIBCO EMS PERSISTENT, NONPERSISTENT and RELIABLE delivery modes?
Ans: In PERSISTENT delivery mode, messages sent by the producer to the EMS
Server are persisted/stored in a disk and a confirmation is sent to the producer for
every message.
In case of Non-Persistent delivery mode, messages sent by the producer are not
stored/persisted on EMS Server. Acknowledgement is sent back only if authorization
is enabled.
In case of RELIABLE delivery mode, messages are not persisted and also, no
acknowledgement is sent back to the producer.
Q3: What is the difference between Static and Dynamic destination queues?
Ans: Static EMS queues are created using EMS Administrator or by configuring
directly in the configuration file (queues.conf) and are permanent and can be used at
enterprise level. Static queues have a permanent TTL (Time To Live) and they exist
till the time they are deleted manually.
On the other hand, dynamic queues are short lived queues which are created when
needed and get expired once they are not in use. Dynamic queues remain alive until at
least one client is associated with them.
Q4: Which command is used to delete all the messages from a queue or topic?
Ans: Purge command is used to delete all the pending messages from a queue. For
example, if you want to purge a queue named queue.ajmal; you can run following
command in TIBCO EMS Administrator:

purge queue queue.ajmal


Q5: What is the difference between Queues and Topics?
Ans: The difference between TIBCO EMS Queues and Topics is that Queues are
based on point to point communication model with only one consumer for each queue
while EMS Topics are based on Publish/Subscribe model where messages are
multicast to more than one consumers from a topic.
Q6: What are TIBCO EMS bridges and why bridges are used?
Ans: Bridges are used to connect multiple destinations (queues or topics) so that same
message can be sent to multiple destinations. When a bridge exists between two
queues, the message is delivered to both queues.
Q7: Which configuration file is used for creating and configuring bridges in
EMS?
Ans: bridges between destinations are configured in a configuration file named as
bridges.conf
Q8: Which configuration file has EMS Server configurations stored?
Ans: All EMS Server properties are configured in the file tibemsd.conf
Q9: What is the difference between JMS Queue Receiver and JMS Queue
Requestor Activity?
Ans: JMS Queue Receiver is a process starter activity that starts a process whenever
a new message is available in a queue while JMS Queue Requestor is a non-starter
(normal) activity which is used to request for a message to a queue and gets back a
response.
Q10: Can we use Multicast on queues?
Ans: No, multicast can be used only for topics. Queues are point to point and cant be
used for multicast.
Q: What are the transport types we can use for TIBCO SOAP web services?
Ans: In TIBCO, we can create SOAP web services using HTTP or JMS as transport.
Q: What is the difference between Concrete and Abstract WSDL?
Ans: Abstract WSDL is used on the server side which contains all details about a
service including its operations, messages and port type details without any transport
details. On the other hand, Concrete WSDL is used in the client side in order to access
the web service and consume its operations and It contains transport details along
with that information which is available in the Abstract WSDL.
Q: What are the ways to create SOAP web service in TIBCO Designer?
Ans: In TIBCO designer, there are two ways to create a SOAP Web service:
1. Contract first: In this approach, first abstract WSDL is created using WSDL palette
and then web service is generated from the WSDL.
2. Code first: In this approach, processes are first developed/designed and then web
service is generated from the processes.
Q: What is the difference between RESTful and SOAP web services?
Ans: SOAP Web services are based on XML structure while REST based services are
URI and Method based implementation. SAOP Web Services expose operations in the
form of a WSDL while RESTful web services doesnt have any standard
specification.
Q: Which SOAP activity is used to consume a web service in TIBCO?

Ans: SOAP Request Reply activity is used to consume a web service operation in
TIBCO BW.
Q: What are the three types of messages that can be part of a WSDL Operation?
Ans: Following are the three types of messages for a Web Service Operation:
1. Input Message
2. Output Message
3. Fault Message
Q: How can we retrieve Concrete WSDL from a deployed web service EAR?
Ans: We can retrieve concrete wsdl from a deployed service by setting
retrieveresource.enabled to true in the advanced configuration of par. Then we can
access the wsdl by following URL:
http://hostname:portno/inspection.wsil

Q1: What is the role of TRA (Tibco Runtime Agent)?


Ans: There are two main functions of TRA:
1. TIBCO Runtime Agent (TRA) is responsible for starting and stopping of processes running
on a machine.
2. TRA provides runtime environment for TIBCO applications.
TRA runs on every TIBCO machine in the background.
Q2: What type of resources in TIBCO EAR file?
Ans: Following type of resources are typically added in EAR file in TIBCO:

Local Project Resources (Processes, Schemas, Connections, Services, Variables etc)

Library Builder Resources Files.

Files referred in designer CLASSPATH

Files under Designer Installation directory

Q3: 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.
Q4: 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.
Q5: 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.
Q6: 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 cant go back to a previous transition from any point.
Q7: What are different Panels of TIBCO designer window and what is the purpose of
each?
Ans: There are following four types of panels available in TIBCO designer window:
1. Project Panel: This panel shows project hierarchy.
2. Design Panel: This panel is used to design new BW Processes in TIBCO.
3. Palette Panel: This Panel has all the available Palettes with bundled activities which
can be dragged and used in design panel during process development.
4. Configuration Panel: Configurations including input, output details for any activity
are specified in the configuration panel.

Q8: What are the three levels of validations that can be performed in TIBCO designer?
Ans: Following are the three levels of validations supported by TIBCO BW:
1. Activity level validation
2. Process level validation
3. Project level validation
Q9: What is difference between fault tolerant and Load balanced deployment in
TIBCO?
Ans:
Load balancing:
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:
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.
Q10: 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: 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.

1) What all palettes you have worked in TIBCO BW 5.0?


Answer - File palette, generall activities palette, jdbc palette, http palette, jms palette, parse
palette, service palette, soap palette, wsdl palette.
2) What is the critical section in TIBCO Business works and what is it used for?
Answer - 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 iterate,
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:
1. Create a group around the activities you wish to synchronize.
2. Specify Critical Section for the Group Action field.
3. 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:
1. Create a Lock shared configuration resource and specify a name for the
resource.
2. 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.
3. Create a group around the activities you wish to synchronize.
4. Specify Critical Section for the Group Action Field.
5. Specify Multiple Groups for the Scope field.
6. Use the Browse button in the Lock Object field to locate the Lock shared
configuration resource you created in Step 1.
7. 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.
3) 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?
Answer - The contents of the file will persist.
4) What are different types of transaction groups supported in TIBCO BW?
Answer - Iterate, repeat until true, repeat on error until true, critical section, transaction, pick
first, while true.
5) Can two queue receivers listen to the same queue? If yes, if the message arrives on the
queue, when receiver receives it?
Answer - The queue which has made connection first. First come first serve.
6) 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?
Answer - Message stays on the queue.
7) If there are five messages and prefetch property is set to 4 then what happens?
Answer - Fetches 4 messages
8) What are the different types of variables available in TIBCO?
There are three types of variables available in TIBCO. They are 1. Global variables Global variables are used for assigning constants a value which is used over a project
2. Process variables Process variables are again of four types. They are 1) Activity output 2) Predefined process
variables 3)Error variables 4) User defined process variables. Predefined process variables
include $_GlobalVarialbes and $_ProcessContext
3. shared variables User defined process variables could be defined at a process definition level and assigned a
value by using an assign activity.
9) What is the difference between process variable and shared variable?
Answer -

10) What is the difference between job shared variable and shared variable?
Answer 11) How do u use get shared variable and set shared variable?
Answer 12) The first time you use a get shared variable does it throw an error?
Answer 13) How have you done error handling?
Answer -

14) What are the different acknowledgment modes for a message?


Answer - There are 6 modes of acknowledgement. They are 1) Auto message is acknowledged automatically
2) Client use confirm activity for acknowledgement
3) TIBCO EMS Explicit use confirm activity for acknowledgement, only available for
TIBCO EMS
4) TIBCO EMS no ack
5)Dups ok message is acknowledged automatically on its receipt
6) Transactional when a transaction is included in a process definition. The message is ack
when the transaction commits.
15) What is prefetch and failsafe?
Answer - 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.
16) How do you send a response from a web service?
Answer - We write to output to the queue from which we received the request.
17) What is the difference between soap event source and service palette?
Answer - Soap event source is used for single operation, single end point. Service palette is
used for multiple operations, multiple end point bindings like http, jms.
18) If you want to count the number of times a particular job is called, how will you go
about doing it?
Answer - Use job shared variable in a critical section.
19) 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?
Answer - JMS Queue receiver with confirm activity. Sequencing key in a misc tab of the
configuration could also be used.
20) What is the sequencing key in the misc tab used for?
Answer - It is used to call process instances in the order they are created.
21) What happens if I put a static value say nitin in the sequencing key?
Answer - All the processes which have this key in their sequencing key field will be
executed in the order they were created.
22) What do you mean by max job and flow limit?
Answer 23) What are durable subscribers?
Answer -

24) What is SQL direct? What is it used for?


Answer - 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
dont allow, like DDL command create table.
25) Can you change a value of a global variable at runtime?
Answer - 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

TIBCO BW Interview Questions


1. What is the difference between sqldirect and other jdbc activities?
Ans: Other jdbc activities can only do a specific DML operation (insert, update,
modify), where as sql direct can executes all the DML operations including table
creation and deletion too.
SQL direct is mainly used for dynamic db operations
2. What is the difference between shared variable, job shared variable, process
variables and global variables?
Ans: Shared variables can be accessible by multiple process definitions, and can
Changeable by any process definition.
Job Shared variables can be accessible within the execution jobs, and it will maintain a
copy of variable for every job (execution).
Process Variables can only be access for a particular process where it gets defined.
Global variable can be accessible by across the project. Global variable can be
edit
at runtime too in Tibco administrator.
3. What are the archive files in .ear ?

Ans: Enterprise Archive(.ear) file contains combination .par, .sar and .aar files i.e
process archive file, shared archive files and adapter archive files.

4. Where we will go for ADB adapter and JDBC Activities?


Ans: We can go for ADB adapter where the data flow is synchronous and data
integration is required between multiple data bases. Whereas JDBC Activities can be
used for asynchronous operations and where the data integration is not required.

5. What is the difference between Filepoller and file adapter?


Ans: File poller is a process starter activity which polls the given file for every polling
interval time. It simply read the file and processes the text or binary output.

File adapter poll the set of files for every change event and make them sync as per the
requirement.

6. What is persistent, nonresistent queue in EMS?


Ans: Persistent in EMS (Enterprise Messaging Service) is to store the messages on disk
or database, so that we can get the data from dist or database at later point of time
when consumer is available.
Non Persistent: Non persistent in EMS that the messages were not store at dist or
database. They will remains in EMS server and expire after reaching the expiration
limit.

7. What are the transactions in tibco?


Ans: In tibco every transaction is a business related message. We have JNDI, XA
transactions available in tibco.
8. What is the difference between parsed xml and render xml?
Ans: Parse XML will parse the xml content as per the XML Schema or DTD or XSD
that we defined.
Render XML will render the data from the output and provide a xml string as per the
Shema or XSD we defined
9. Explain some errors in while deployment the .ear?
Ans: tibrv failed exception, tibhawk failed exception. No such memory found exception.
Connection issues. Port availability exceptions.
10. Explain error handling mechanism?
Ans: We can handle the errors using generate error, catch, and Re throw.
11. What is static queue, dynamic queue and temporary queue?
Ans: Static queues are those created through tibco ems admin tool.
Dynamic queues are created on top of EMS server. They can be created at
designer level
or at client level.
Temporary queues will exist until the application and client connection exists.

12. What is the difference between RV (rendezvous) and jms?


Ans: RV and JMS both are tibco messaging transports.
a) Architecture wise RV follows BUS architecture and JMS follows client server
architecture.
b)

Protocol wise RV using UDP and JMS using TCP.

c)

RV follows subject based messaging where as JMS using queues and topics.

d) RV is less secure and reliable in message transportation when we compare with


EMS as EMS stores the messages on disk.
e)

RV sending data in asynchronously, EMS sends synchronously.

f)
RV majorly used in Telecom sectors where as EMS used in Banking and Financial
sectors.
g) RV is a proprietary production of Tibco software inc where as EMS is wrapper
over JMS 1.1version
13. How to install tibco software components (sequence to install the components)?
Ans: We can install tibco software in 3 ways.
a)

GUI mode

b)

Silent mode

c)

Console mode.

And we can install tibco software in the following sequence.


TRA, BW, Admin, EMS, RV, Adapters, Hawk.
14. What is the role of tra?
Ans: TRA (tibco runtime agent) will setup the tibco environment. Which includes tibco
designer, tibco rv, jvm and jre, hawk.
15. What is the difference between parse data and render data?
Ans: Parse data will parse the text content as per the Data format defined.
Render data will render the data from the output and provide a string as per the Data
format defined.

16. What is the use of spawn option in called process?


Ans: If spawn is checked, then that process will be executes externally with main
process. And we are not support to make this spawn when we are using job shared
variables
17. What is the use of transaction?
Ans: Transaction is used to perform All or nothing .If everything is successful then all
will be commited ot else will be roll back .
It supports two types of Transactions
1.JDBC
2.XA.
The JDBC Transaction type provides transaction support only for the JDBC activities,
and it does not provide transaction support for JMS or Checkpoint resources. The
JDBC Transaction group allows you to perform multiple database operations within the
group as a single unit of work. All database operations performed within the
transaction group are either committed or rolled back.
The XA Transaction type allows you to perform JDBC and JMS operations within the
group as a single unit of work. All JDBC and JMS operations performed within the
transaction group are either committed or rolled back.
18. Explain critical section group?
Ans: A critical section group controls the shared variables modification by other
processes while the job is running at critical section group. We select lock object along
with critical section group
20. What is the difference between queues and topics?
Ans: Queues and Topics both are used in message store and transportation in EMS.
Queues are used in point to point communication mode where as Topics are used in
Publish Subscribe communications.
Queues can assure the message deliver even if the reader/receiver is not active.
Topics case messages cannot be sent if consumer is not active. but we can assurance by
making them as durable
Queues are more secure than Topics
21. What is the use of bridges in ems?

Ans: Using bridge concept in EMS we can send messages between applications to
applications without changing the application code. We can simply using the same
application logic with defined topics and queues. Here we simply bridge the desired
topics to queues or queue to queue or topic to topic vice versa.
If u wants to send message between different messaging destinations within the EMS
serve then go for bridge and its unidirectional
22. What is the difference between reliable, certified, distributed queues in RV?
Ans: Reliable: Delivery guarantee in the reliable mode, subscriber can send the retransmission request for the lost packets.
Certified: Certified messaging assures that both pub/subs are in certified mode of
message delivery. And packets/messages will be stored on a ledger file. So that lost
messages or packets can be delivered as per the re-transmission request.
Distributed: Distribute Queue is to share load between the workers; this will handled by
Load balancing concept. Whoever is having highest work will be acting as scheduler
and also we can decide worker capacity as well DQ-Load balancing!
23. What Abstract wsdl and concrete wsdl?
Ans: Abstract wsdl contains the message, port and port type information which can be
used by web service provider.
Concrete wsdl contains abstract wsdl and transport details, and which is used by web
service client.
24. What is the use of ESB BUS?
Ans:An enterprise service bus (ESB) is a distributed, message-based integration
solution based on open standards. The role of an ESB is to facilitate reliable
communications between IT resources such as applications, platforms and services that
are distributed in multiple systems throughout an enterprise.
25. What is difference between publish by value, publishby reference modes in ADB
adapter?
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 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).
26. What is the use of confirm activity, checkpoint and how to use?

Ans: Confirm is used to give client acknowledgements and also in RVCM Concept.
Checkpoint is to saves the state of the process, avoids duplications, and BW Engine
failures
27. What is the difference between SOAP Event Source and Service Activity?
Ans: 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
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.
28. What is the purpose of Retrieve Resource activity?
Ans: 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.

29. What is use of HAWK and what are the components present in HAWK?

Ans: HAWK is the tibco monitoring tool which can monitor the health of system,
applications and can be manage the applications too.
Hawk contains 3 major components, hawk display, hawk agents, and hawk microagents.

30. What is the use of Query Builder in JDBC query Activity?


No idea!! I never heard this query builder in JDBC

1. What is the use of Override Transaction behavior option in JDBC Activities?

Overrides the default behavior of a transaction group. If this activity is in a transaction


group, the activity is normally committed or rolled back with the other transactional
activities.
If this checkbox is checked, this activity is not part of the transaction group and is
committed when it completes. Checking this option uses a separate database connection
to perform the activity and commit the SQL statement.

32. What are the properties that we can set to a queue or topic?
Ans: Secure, failsafe, global, prefetch, maxmsgs, maxbytes, export, import, flowcontrol,
sender_name, trace, expiration, overflowpolicy, store and channel.
33. What are the protocols that RV and EMS use?
Ans: EMS uses TCP protocol where as RV uses TRDP over UDP which will provide
TRDP for secure communication.
34. What is fault tolerance and Load Balancing in tibco EMS and where to configure?
Ans: Fault Tolerance: The arrangement of failover recovery in EMS to assist client
communications to EMS is called Fault Tolerance. Setting up primary and secondary
EMS servers in an environment.
Load Balance:
35. What are the configuration files present in EMS/?.
Ans:tibemsd.conf EMS server config file which reads other config files queues.conf,
topics.conf, durables.conf, acl.conf, user.conf, group.conf, bridges.conf, route.conf etc.
36. What is force redeployment?
Ans: Selecting Force redeployment of all services to redeploy all services even if a
service is in a synchronized state. This is useful if you have manually changed
deployment files, or if you need to define NT Services to multiple hosts in a
Microsoft Cluster.
37. Where we define error schema for generate error activity?
Ans: Will have to define in END activity error schema tab so that it will get deflect on
generate error tab.
38. What is Generate Error, Catch, and Rethrow activities?

Ans:Generate error is for error handling and catch and rethrow is for exception
handling mechanism.
Rethrown will throw error to the next level.
39. What are the other tibco components that automatically come along with tibco tra
installation?
Ans:TRA installs the following components:
1.
2.
3.
4.
5.
6.

TIBCO Rendezvous 8.1.1


Java Runtime Environment 1.5.0
Third party core libraries 5.6.0
TIBCO Hawk 4.8.1
TIBCO Runtime Agent 5.6.0
TIBCO Designer 5.6.0

40. What are the acknowledgement modes available in tibco EMS?


Ans: These are the following acknowledgement modes in EMS and JMS
JMS: The JMS specification defines three levels of acknowledgement for non-transacted
a). Auto
b) Client Acknowledgement.
c) Dups-Ok Acknowledgement.
EMS: EMS extends the JMS acknowledge modes to include:
d)

NO_ACKNOWLEDGE

e)

EXPLICIT_CLIENT_ACKNOWLEDGE

f)

EXPLICIT_CLIENT_DUPS_OK_ACKNOWLEDGE

41. What are file based and process based ledgers in TIBCO RVCM?
Ans: Ledger will maintain all the data about publisher and as well subscriber.
File based will be stored in memory whereas process based with have saved in file
system

42. What is the role of domain utility?


Ans: Domain utility: is used to create, delete, and modify tibco domains.

To add machines to the specific domain.


To add EMS server plug-in to the tibco domains.
To modify server settings and http ports.
43. What is webservice and what protocol it uses?
Ans: SOAP , JMS and HTTP.
44. What is the difference between SOAP Over JMS/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.
45. What is the use of durable subscribers?
Ans: Durable subscribers are those who can subscribe messages at later point of time
whenever they are active.
46. What is file based storage and database storage in TIBCO EMS and where we will
configure it?
Ans: In file based store all messages will be saved on disk. Where as in database storage
all messages will write on db. If we check in stores.conf we can find file storage and
database storage. By default any message will be stored in the file.
Note: In EMS 6.0 there is no concept of server or data base storage. By default all the
messages gets stored on the disc itself.
47.What is difference between GUI Mode, Console Mode and Silent mode of
installation?
Ans: GUI mode: In this mode we can install in graphical mode, and well instructed
steps guide us to install.
No need of change any folder permissions in this mode.
Console mode: In this mode we can install through from command line. We have to run
the command to install any tibco product with help of below command.
In this mode we have to modify the permissions for the root folders of every product of
tibco.
Silent mode: This mode is similar like Console mode, but here we are saving the
installation in a store file. We have to run the below command in Silent mode.

Here also we have to change the ownership as root for the tibco root paths.
48. How to define security to EMS sever Or use of SSL in tibco EMS?
By using this SSL we can provide security to the EMS messages for this will have
configure the SSL certificate file,
49. List the X-path functions that you recently used?
Ans: String, Date, Numbers,logical
50. What is difference between Render XML activity and tib: renderxml X-path
function?
Render xml will take inoput as string and generate to xml.
Parse xml will be sued to generate the Xml file by giving text string as input
51. What is the use of SSL and HTTPS?
Both will be used for to provide the security to TIBCO products.
52. What is flow limit, max jobs and activation limit?
Ans: Flow Limit: Maximum number of concurrently running process instances to start
before suspending the process starter.
Max Jobs: Maximum number of process instances that can concurrently be loaded into
memory.
Activation Limit: Once a process instance is loaded it must remain in memory until it
completes.
53. What is lock object and where it is used?
It will allow only one process instance to access the data at a point of time.It will used
along with critical section group in shared variables.
54. What is the use of pick first and critical section?
Already covered in prev questions
55. What protocol RV uses and explain about UDP and TRDB protocol?
Ans: TRDP (TIBCO Reliable Datagram Protocol) is a proprietary protocol running on
top of UDP. (Trusted Router Discovery Protocol) It brings mechanisms to manage
reliable message delivery in a broadcast/multicast paradigm, this includes:
message numbering
negative acknowledgement

56. What is TIBCO?


Ans. It is a middleware tool. It is a completely pictorial view of programming.
1. It has no server.
2. It is simply an in and out process.
3. Runs on any platform i.e. Platform independent.
4. Supports all the languages.
5. It supports SOA (Service Oriented Architecture) i.e. it is a loosely coupled and a
distributed architecture. Hence each system is not completely and tightly dependent on
other system.
57. What is the difference between Get JMS queue and Wait for JMS queue message
activity?
The Get JMS Queue Message activity retrieves a message from the specified queue. This
activity allows you to perform a receive operation on the queue as opposed to waiting
for a queue message to be delivered to the Wait for JMS Queue Message activity or the
JMS Queue Receiver process starter.
The Wait for JMS Queue Message activity uses event key which is the
JMSCorrelationID to filter the right response with the right job. The key is the
JMSMessageID sent by the Queue Sender activity
58. Why do we use alias file name in File palette?
No idea!
59. Why do we use JMS?
Ans. For BW to touch the EMS server we use JMS. Using this JMS we build a
connection between them and once the connection is successful we use this connection in
the JMS queue sender.

60. When do you get the error Array Index out of Bounds Exception?

Ans: When the data formats are not specified correctly. If we give Fixed format instead
of delimiter we get this type of error. If we give fixed format then we need to specify the
length in offset as equal to the number of characters as (0, 4, 7) and so on.

61. How can we transfer the data between multiple EMS servers?
Ans. By using Routing concept. we need to set Global Property on Queues for achieving
this.
62. What is the caption of TIBCO?
Ans. The information Bus Company. Since it transfers the messages in the form of a
bus from one end to the other.
63. What is a domain?
Ans: Domain is a computer term for a network based group of computers. These
computers, in a domain, share a common database on that network.
64. What is the need of monitoring?
Ans: To handle network health checks even when the administrator is not before the
system we write some rule bases in HAWK and this HAWK will do the monitoring.
65. What is a subject based messaging?
Ans: RV follows Subject based messaging where all publishers publish the message on
subject name and interested subscribers are listening on this subject. Its pure bus
architecture.
66. What is queue and topic based messaging?
Ans: queue follows point to point mode of messaging where as topics follows pub/hub or
client server messaging modes. Both are server based messaging in EMS.
67. Explain fail safe and non fail safe properties of a message. Also the flow of these
messages in the synchronous and asynchronous data bases.
Ans: Failsafe: Ensures that no message loss when the connection gets failed over queues.
Non failsafe means message loss when an unconditional network glitzs occurs.
68. What is the difference between RVD and RVRD?
Ans: RVD (Rendezvous Daemon): RVD is used to connect only within the network.
RVRD (Rendezvous Routing Daemon): RVRD is used to connect outside the network
and also within the network. If we have RVRD then there is no need of RVD.
69. What is RVA?
Ans: To receive packets coming through internet i.e. web pages we use RVA
(Rendezvous Agent)

70. How do we do performance testing for TIBCO BW?


Not remembering by now but will share later.
71. Explain peak utilization of a process.
72. Explain commands prstat, pmap, vmstat
Vmstat is to find the utilization its same like top command.
73. How do we do JVM heap size utilization monitoring during the peak load?
Interview questions for BACS:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.

What are the different modes of installation?


Difference between GUI and silent mode of Installation
What is a transaction
What is xxxx transaction
What happens in the back end when you do execute the transactions and the BW activities
What is JNDI and XA
What are your day to day activities?
How do you login to UNIX box?
How are you doing the deployments?
How are you doing the production deployments
How are you doing the dev and QA deployments
What are script deployments
How do you do command line deployments
What is the difference between script and command line deployments
How do these scripts get executed?
What is appmanage utility
What are the advantages of script deployments over command line and GUI deployments
What are batch scripts
How do you prepare batch scripts
When you are using UNIX how can you have windows for using GUI
How do you get the tickets for doing the deployments
Are you provided the ears and xml both or do you extract xml out of ear yourself
What is the command for extracting the xml out of ear and for deploying the ear through
the command line
What are the issues you faced while doing deployments
How did you fix them
If you increase the heap size the error Java.Lang. No such memory Found exception got
fixed
What is the Maximum memory of the Java heap size
If the heap size goes beyond 1024 MB what happens
Is this memory restricted to all other servers or only to TIBCO
How did you fix Tibrv failed exception error
How did you fix Tibhawk failed exception error
How did you fix Connection issues error
How did you fix Port availability exceptions error
What are the configuration files
How do you check logs

36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.

What is the path to check the logs


What is fault tolerance
How do you do fault tolerance in EMS
In which configuration file you make the entries for FT
Which fields you modify for FT
Just after making the changes how does the server know to perform the FT
Where do you make an entry after making the changes in the tibemsd.conf file to enable
FT
What is there in factories.conf configuration file
How do you do FT in GUI
What is a primary server
What is a secondary server
What is peer to peer. How do you assign weights among them
What is master server
What is load balancing
How do you do load balancing
Can you do load balancing for more than two pairs of servers
What fields in which configuration files you make changes for enabling load balancing
How does the server know to perform load balancing after making changes to perform
load balancing
What is there in stores.conf configuration file
What is the minimum heart beat interval
How do you add a machine
What for is Buildear utility used
What for is domain utility used
What are the port numbers you used for FT and load balancing pair
What is ACL
What do you mean by implementing ACL
How do you give permissions?
Is your project not following fixed standards for granting permissions.are you not granting
permissions on a group instead of granting userwise
What is Hawk
How do you do Hawk monitoring
How do you write a Rulebase
Did you write any rulebase
How do you write schedule
After writing schedule does it get executed just like that or do you need to do anything
What is LDAP
Does you project maintain LDAP
How do you create users.
What are the UNIX commands you use in your day to day activities most frequently
In ps ef lgrep what does f stands for?
In ls ltr what does r stands for
What does top command do
What does cat do?
What is the difference between more and cat
What does tail do
How do you read last 30 lines by using tail command
By simply writing cat does the command get executed? What is the syntax for writing it
What does grep do?
Do these commands execute in solaris and Red hat linux as well

84. How many servers you have

Non Technical:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

Do you have shifts


Do you have on call
What is your team size
Which regions you support
Do you support 24 by 7
What is your current CTC
What is your expected CTC
What are the internal tools you have
Why are using both ITSM and Maximo
What do you do in ITSM and Maximo
What is the SLA for sev1 and sev2
Do you patch everybody or do you have any operations team to patch or intimate
everyone during sev 1 and sev 2s
13. How many tickets do you get daily

Interview Questions.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.

BW , EMS, BE, RV, HAWK,


ADMINtrouble shooting;
monitoring Hawk rule scripting;
domain util: creating domain, FT, LB:
adapter: adb, file adapter
EMS: FT, create user, topic, queues; route
update BW processes and handle production issues;
admin tracing
admin management
EMS 6.3
BW 5.8
WS SECURITY
WS SOAP & REST
UDDI
WS deploy accessible
ant SCRIPT: yes;
UNIX COMMAND:
Error and Exception Handling FRAMEWORK:
bc : v??
be : v4.0
iProcess:10.1

Interview Questions
Which two input parameters are mandatory for the BuiIdEAR Utility?

Answer: 1. the location of the Tibco Designer project ,2. the project path of the
Enterprise Archive Resource

Which two actions can be performed using coercions?

Answer: 1. change the type of an element , 2. set the type of a undefined


element

Which three Event Types are available when specifying a custom alert for a Tibco
ActiveMatrix BusinessWorks application?

Answer: 1. Log Event,2. First Component Failure ,3. Subsequent Component


Failure

You have created an XSD schema and a process definition in your Tibco
ActiveMatrix BusinessWorks project. You need to share this schema and the
process definition with other developers working on the same project for reuse.
What should you use to accomplish this?

Answer: LibraryBuilder

Which two operations can be performed with the Tibco Domain Utility?

Answer:1. add a machine to the domain, 2. secure the domain using HTTPS

You have created a Web service to expose to several customers. In the


implementation process, you need to access the username of each client
invoking the Web service for authorization purposes. The username information

is passed as a SOAP header in the SOAP requests. Which resource allows you to
hold the header data from the incoming requests?

Answer:Context Resource

TIBCO Admin Interview Questions


What is TIBCO Administrator ?
TIBCO Administrator supports security administration as well as monitoring and
management of processes and machines.
TIBCO Administrator consists of the TIBCO Administration Server and the web browser
based TIBCO Administrator GUI.
What are TIBCO Administrator Modules ?
User Management
Resource Management
Application Management
What is a TIBCO Domain?
A: Domain is a collection of hardware and software components that are used for business
process integration. The domain defines the TIBCO BusinessWorks environment. Each
domain must contain one and only one administration server. Each domain must have a
unique domain name. Each domain may contain one or more machines but no single machine
can belong to multiple domains. Each machine may have more than one type of software
component.
What is a deployment?
A deployment is a completed configured instance of an integration or project. TIBCO
Designer is used to configure projects and deployments in current version. In the future,
TIBCO Administrator will be used to manage deployment of projects.
What is the main responsibilities of the Admin server?
It manages data storage for the Admin
It manages transport options for applications
It enforces security for the domian
What is TIBCO HAWK agent?
It is the independent process that monitors applications and systems utility.
What are the Scripting utilities?
There are two types of scripting utilities.
They are
1. Buildear
2.Appmanage
What are the components of the TIBCO Admin? What is its use?
Admin server: It manages resource in Admi domian
Admin GUI: It [provides web browser interface. It allows to configure users and applications,
deploys applications, monitor process and machines in admin domain.
Can we run multiple administrators in the same domain?
No. Only one administration server is installed and configured for use per domain.

What is the default port where admin runs?


Port: 8080
Host: Localhost
What is UDDI module?
Universal, description, discovery and integration. It creates connections between uddi servers
and web services contained in the server. If you grant permissions then you can publish web
services information through uddi servers.
What is Resouce management?
It creates application domian.
It can customize machine display.
It displays information about machines and process on machine.
What is application domain?
This applicatio stores the data separetely or independently in a repository from the admin
domian repository.
What is an Application Archieve?
It provides information about the enterprise archieve file including package name, version,
description and creation date.
Can we change the adapter from one domain to another?
Yes, but you will need to uninstall the existing adapter that has joined the current domain and
then reinstall the adapter and join it to the new domain. You will also be able to change the
domain info directly using Domain Utility .
How to view tracing results for a process engine?
Got to Application Management
click on All service instances,
click on the process engine name
tracing tab, go to details
What is deployment choice?
When configuring adminstration domian , you can set how the admin server creates and
stores application data.
1. Local application data
2. Server based application data
What are the versions of TIBCO Admin?
There are two types of two versions.
1) Repository Edition
2) Enterprise Edition.
Can we change the domain for one machine to another later?
Yes, you can add/remove machine from domain using Damain Utility.
What are the restrictions of using TIBCO Admin GUI via secondary server?
We cannot perform user management, deploy applications or perform any other activity for
which read write access is required.

What do you have in the User management module?


Users
Roles
Security
1.What are the modes of TIBCO BW Installations ?
Answer:

GUI mode
Console mode
Silent mode

2. Will Active Enterprise Adapter Palette activities override the existing transport type
of adapter service?
Answer:

Yes.

3. Does Adapter service support RVCMQ transport for publishing?


Answer: No
4. What is the difference between Invoke an Adapter Request-Response Service Activity
and Adapter Request-Response Service activity?
Answer: Invoke an Adapter Request - Response:
It Requests a response from external application to adapter service.
Adapter Request-Response Server Activity:
It Requests a response from adapter service to external application.
4. Does Copy File activity allow copying directories to new location?
Answer: Yes, The Copy File activity allows you to copy files and directories to a new
location.
5. Does Create file activity allows creating new directories?
Answer: 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.
6. What is the Difference between Concrete WSDL and Abstract WSDL?
Answer: 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.

7. What is the Difference between EMS (Enterprise Messaging Service) and Rv


(Rendezvous)?
Answer: EMS (Enterprise Messaging Service):
1. A Producer sends a message to the central server. The server stores the message until it has
delivered it to each consumer.
2. Producer to server; Server to consumers.
3. The central server stores all messages and delivery state for all its clients. It requires disk
resources in proportion to total throughput volume.
4. Disk failure on a server host computer can be catastrophic, affecting all messages from
client. Many installations protect against disk failure using safeguards such as disk mirroring.
5. The central server is the master of overall delivery state.
Rv (Rendezvous):
1. A producer sends a message to consumers. The producer stores the message until each
consumer has acknowledged receipt.
2. Peer-to-peer.
3. Stream-oriented Protocol.
4. Each producer stores its outbound messages and some delivery state; It requires disk
resources in proportion to its outbound volume.
5. 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.
8. How you perform Performance Tuning on BW engine?
Answer: Using this we can perform Performance tuning in BW engine.

Max Jobs
Flow Limit
Activation Limit
Java heap Size

9. What are include in EAR file?


Answer:

Library builder
Alias Library
Process Definitions
Shared Resources

10. What are the maximum, we can configure Faul tolerance mode for EMS?
Answer: At any point of time, we can configure only two servers in FT.
11. What is the use of Critical Section Group?
Answer: Critical Section groups are used to synchronize process instances so that only one
process instance executes the grouped activities at any given time.
12. How do you use XSLT file?
Answer: The transform XML activity allows you to transform an input XML document into
the output specified by the given XSLT File shared configuration resource.
13. How you send messages in a sequence order in ems?
Answer: By using Sequence Key Property.
14. Where do you configure database connection for EMS?
Answer: In Stores.config file.
15. How to set message priorities on the destinations using tibco EMS?
Answer: By specifying priority index at receiving end.
16. Is that possible to change process or shared variable during run time?
Answer: Yes, Its possible to change process or shared variables at run time using assign and
set shared variable activity.
17. In Mapping using XSLT, what is the meaning of (..) in the statement?
Answer: Parent loop
18. Can you deploy a BW engine on system which has only TRA?
Answer: No
19. What are the main parts of JMS message?
Answer:

Header
Body
Properties

20. What is the Difference between Alias Library and Library Builder?

Answer: A Library builder is used to create a design time Library which can be 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.
21. What is BW Memory Management?
Answer: 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 EnableMemorySavingMode property to true. You can enable memory saving
mode for all process instances by setting the EnableMemorySavingMode property to true,
EnableMemorySavingMode = true.
Try this property adding your deployment TRA 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 out of memory exception, there is something wrong process design, Verify
each activity and cleanup all unused content.
22. Can we have 2 processes running on the same Http Connection and same Port No.?
Answer: No
23. Do we have to redesign the project if we make some changes in XSD'S like
enumeration changes or just update them?
Answer: If you modified any property (Enumeration.. etc) for any field 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.
24. What is the difference between SOAP Event Source and Service Activity?
Answer: By using SOAP Event source activity we can perform only one operation, if you
need to have multiple operations in one place, you can use Service Activity, as it supports
multiple operations in one place.

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

Answer: Integration can be at different application layers:

X:Patch
Y:Major
Z:Minor

26. What is the role of TRA?

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

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

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

28. What are the revision control system options available in TIBCO designer?
Answer:

File sharing
VSS
Perforce
XML Canon
ClearCase

iPlanet
CVS
PVCS

29. What are the different modes of service invocation?

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

30. What is vcrepo.dat?

Answer: 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).
31. What are the TIBCO BW activities that can participate in transactions?

Answer: 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

32. What are the different types of Transactions TIBCO provides?

Answer: 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

33. What activities are supported in JTA Transaction?

Answer: The Java Transaction API (JTA) UserTransaction type allows:

JDBC
JMS
Active Enterprise Adapter (using JMS transports)
EJB activities

34. What activities are supported in XA Transaction ?


Answer: 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.
35. What are the possible Error output's of Read File activity?

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

36. What is the purpose of the inspector activity ?

Answer: 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.
37. What are the maximum/minimum of threads available for incoming HTTP ?

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


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

Answer: 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.
39. What are the mandatory configuration parameters for FTP Connection & FTP with
firewall ?

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

40. how to design a process such that depending on number of records updated in a
database, 3 different sub-processes may be called ?

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

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

42. What are the encodings supported by designer ?

Answer: Encodings supported by designer are

ISO8859-1(Latin-1)
UTF-8

43. What are the 4 main panels of the Designer window ?

Answer: The 4 main panels of the Designer window are

Project panel
Palette panel
Design panel
Configuration panel

44. How do you determine if there are broken references in the project?

Answer: Project -> Validate for deployment

45. Where are the Designer preferences stored ?

Answer: Designer preferences stored are stores in a file called 'Designer <ver>.prefs' in the
user home directory.
46. Explain the process configuration parameters - Max Jobs, Flow Limit & Activation Limit
?
Answer:

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.

47. What are the options for configuring storage for process engine's checkpoint
repository ?

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

48. Process engines in a fault tolerant group can be configured as peers or master
secondary.How do these differ ?

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

49. What are the uses of grouping activities ?

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

50. What is the purpose of a Lock shared configuration resource?

Answer: 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'.
51. How to control the sequence of execution of process instances created by a process
starter ?

Answer: 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.
52. Can there be two error transitions out of an activity ?

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

Answer: 'No Action' group used to have a set of activities having a common error transition

54. What activity can be used to set the value of a 'User defined process variable' ?

Answer: The 'Assign' activity can be used to set the value of a 'User defined process
variable'.
55. Which are the two process variables available to all activities with inputs ?
Answer:

$_globalVariables
$_processContext

56. Which mechanism can be used to pass data between a process instance and a called
sub process other than mapping from/to the caller's input/output ?

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

57. What are the three scenarios where BW engine has to be configured with database
persistence instead of Local File ?

Answer: The three scenarios are:

Shared Variables across BW engines.


Locking across groups in multiple BW engines.
Wait Notify across BW engines.

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

Answer: We can use Repeat on Error until true

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

Answer: 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)

60. Which activity is used for detecting duplicate message processing?

Answer: 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.
61. Give an example where graceful migration of service from one machine to another is
not possible.

Answer: 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.
62. What are the types of adapter services ?

Answer: Types of adapter services are :

Subscriber Service
Publisher Service
Request-Response Service
Request-Response Invocation Service

63. If the business process needs to invoke another web service which resource do you
use ?

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

64. What is the functionality of the Retrieve Resources resource?

Answer: 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

65. What is the scope of user defined process variables ?

Answer: 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)
66. What is difference between shared variable and job shared variable ?
Answer:

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

67. How do wait-notify resources work ?

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

68. What is the default Axis in XPath ?

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

69. What are the output formats for XSLT?


Answer:

XML
HTML
Text

70. What does ' Success if no matching condition' transition mean ?


Answer:

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.

71. What is the Purpose of $_error variable ?

Answer: $_error variable is available in the node following the error transition. It
captures the error message, error code etc.
72. What are the cases where business process cant proceed correctly subsequent to
restart from a checkpoint ?
Answer:

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.

73. Which group do you use to wait for multiple events and proceed with the first to
occur ?

Answer: A 'Pick First Group'.

You might also like