Experience: 2-4 Years Tibco Technology
Product: TIBCO EMS
1) What is PointToPont and
Publish/Subscribe model?
PointToPoint :
Point-to-point
messaging has one producer and one consumer per message. This style of
messaging uses a queue
to store messages until they are received. The message producer sends the
message to the queue; the message consumer retrieves messages from the queue
and sends acknowledgement that the message was received.
Publish/Subscribe:
In a publish and
subscribe message system, producers address messages to a topic. In this model,
the producer is known as a publisher and the consumer is known as
a subscriber.
Many publishers can publish to the same topic, and a message from a single
publisher can be received by many subscribers. Subscribers subscribe to topics,
and all messages published to the topic are received by all subscribers to the
topic. This type of message protocol is also known as broadcast
messaging because messages are sent over the network and received by all
interested subscribers, similar to how radio or television signals are
broadcast and received.
2) What is static Queue and
what is dynamic Queue. Compare them.
Static Queue
|
Dynamic Queue
|
1)
Queues which are
created explicitly by using
Create
queue < queue-name >
|
1)
Queues which are created
implicitly when ever the client application tries to put a message in a Queue
which is not exists in the server but if there is corresponding matching wild
card destination in queues.conf.
Example: -
If a producer is trying to put a message in a queue named “hcl.chennai” which
is not exists in server and there is corresponding wild card destination like
“hcl.*” or “hcl.>” in queues.conf
then queue “hcl.chennai” will be created on the fly which is a dynamic queue.
|
2)
Queues will be still in server when
you restart the server even though queue don’t had any messages
|
2) Queue won’t
be in server when you restart the server if the queue is empty.
|
3)
You are able to see the static queues in queues.conf file
|
3) you cannot
see dynamic queue in queues.conf
|
4) When you
gave the “show queues” command in
|
4) When you
gave the “show queues” command in
|
3) What are exclusive queues
and what are non-exclusive queues?
You
can have more than one subscriber pointing to a queue. When you have more than
one subscriber, EMS server will distribute the
inbound messages in Round-Robin fashion to all subscribers in case of
Non-exclusive queues. You can implement message level load balancing by using
Non-exclusive queues.
In
case of exclusive queues which ever be subscriber created the Session first,
that subscriber only will get the all messages.
By
default queues are Non-exclusive. If you want to change it as exclusive queues
Addprop
queue <> exclusive
4) What are the delivery modes available in EMS ?
PERSISTENT
NON_PERSISTENT
RELIABLE_DELIVERY
5) What are durable subscribers?
If
durable subscribers are subscribed on a topic, even though the durable
subscriber is down; EMS server will hold the
messages on behalf of disconnected durable scriber. The Durable Subscriber will
get the message whenever it is up.
6) What are destination bridges?
Bridges are created between one destination and one or
more other destinations of the same or of different types. That is, you can
create a bridge from a topic to a queue or from a queue to a topic. You can
also create a bridge between one destination and multiple destinations. For
example, you can create a bridge from topic
a.b
to queue q.b
and topic a.c
.
Product: TIBCO RV
1) What are the parameters of Rendezvous Transport
·
Daemon
·
Service
·
Network
2) What is Direct Communication?
It
is a communication mechanism used for point-to-point communication using
RVD. Still you have to specify _INBOX
subject names. Message Latency and context switching will be reduced by using
this.
Product: TIBCO BW
1) Can you tell me at least four starter activities and when they get executed?
Palette
|
Process starters
|
When they get
executed
|
Active enterprise
adapters
|
Adapter
subscriber, adapter request response service
|
When ever a
message comes into a destination queue or network, listens to a request from
a adapter and sends a response back to that adapter
|
File
|
File polar
|
Polls for any
changes that occur in the file and with any change grab the whole file.
|
General
activities
|
Timer, receive
notification
|
Starts a process
on the time specified ex: before JDBC QUERY, starts a process on receiving of
data from a notify activity.
|
http
|
http receiver
|
Starts a process
based on a request from http server.
|
Jms
|
Jms queue
receiver, jms topic subscriber
|
Starts a process
when ever a new message comes into the specified queue, starts a process when
ever there is a new message in the specified topic.
|
Rv
|
Rv subscriber
|
The Rendezvous Subscriber process starter creates a
process when a TIBCO Rendezvous message on the given subject is received.
|
Soap
|
Soap event source
|
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. At runtime, a client can retrieve the WSDL
file for a process containing this process starter using an HTTP request.
Once the WSDL is retrieved, the client can perform a SOAP request to invoke
the web service.
|
Tcp
|
Tcp receiver
|
The TCP Receiver process starter starts a new process
when a client requests a TCP connection.
|
2) What is the purpose of JMS Queue receiver activity and
Queue sender activity?
Starts
a process when ever a new message comes into the specified queue.
A
queue sender activity sends messages into the specified queue.
3) What are acknowledgement
modes and where do you set them and what is the applicability of each
mode?
The
acknowledge mode for incoming messages. Can be one of the following:
·
Auto — the message is automatically acknowledged when it is
received.
·
Client — the message will be acknowledged at a later point by
using the Confirm
activity. If the message is not confirmed before the process instance ends, the
message is redelivered and a new process instance is created to handle the new
incoming message. Ensure that your process definition confirms the message when
using this acknowledge mode.
·
TIBCO EMS Explicit Client Acknowledge — this mode behaves exactly
the same as the Client mode, except the session is not blocked and one session
can handle all incoming messages.
·
Dups OK — the message is acknowledged automatically when it is
received. JMS provides this mode for lazy acknowledgement, but TIBCO
BusinessWorks acknowledges messages upon receipt.
·
Transactional — this mode is used when a transaction that can
process JMS messages is included in the process definition. The message is
acknowledged when the transaction commits.
4) What are the different kinds of condition types you can have in transition? Explain Them
Success
|
Take this transition unconditionally.
That is, always transition to the activity the transition points to, if the
activity completes successfully. This
is the default condition for transitions.
|
Success with condition
|
Specify a custom condition using XPath.
If the activity completes successfully, and the condition you create
evaluates to true, the transition is taken to the activity it points to.
You can type in an XPath condition, and
you can use the XPath formula builder to drag and drop XPath expressions and
data into the condition.
|
Success if no matching
condition
|
Take this transition when the
activity completes successfully, but only if no other transitions are taken.
This is useful when multiple transitions with conditions are drawn to other
activities. This condition type can be used to handle any cases not handled
by the conditions on the other transitions.
|
Error
|
Take this transition if there
is an error during processing of the activity.
|
5) What types of actions
you can have in the group and explain them with examples?
Group is a service
to put together a set of activities to perform any of the following tasks:
a) Transaction
mode: it is used to commit or roll back all the related activities when the
assigned task is a success or a failure. Usually when we use multiple JDBC
updates we use this mode.
b) Common error
transition: in this mode we create a common error transition for a set of
activities so that any error in that group can be recognized and logged.
Supposing we have a
subprocess and we want to Log the error regarding this we will pull a generate
error from the subprocess and log it outside group.
c) Simple
iterate loop: if we r getting a list of records and we want to update each
record then we use this.
d) Repeated
until true: supposing a situation where out of 50 records our interest is
on one particular record we will specify the condition for that record and when
the condition is true (i.e. that record is fetched) it stops iterating.
e) Repeat on
error until true: for example we are not able to connect to a database
because of error we will try to reconnect by repeating until the condition
given is true.
Then
we get out of the loop and then log
f) Critical section groups are used to synchronize
process instances so that only one 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.
g) Pick first
groups allow process execution to wait for one or more events. The first
event that completes determines which transition to take to continue
processing. For example, as part of an order-entry system, when an order is
placed, a check is made to see if the order can be filled from stocked
inventory or from returned merchandise. Whichever system returns the
information first is used to fill the order. If neither system returns the
information about available inventory, the order times out and cancel.
6) What are the variables in BW?
·
Process Variable
·
Shared Variable
·
Global variable
Process
variable: Process variables are data structures available to the
activities in the process. Process variables are displayed in the Process Data
panel of each activity’s Input tab. This allows you to use process data to
supply input values for an activity. Each process variable name starts with a
dollar sign ($).
Global
variable: Global variables provide an easy way to set defaults for use throughout
your project.
Shared Variable: A shared variable is a shared configuration resource in the General
Activities palette. There are two types of shared variables:
Shared
Variable:
A Shared Variable resource allows you to share data across process
instances. All process instances can read and update the data stored in a
shared variable. This type of shared variable is useful if you wish to pass
data across process instances or if you wish to make a common set of
information available to all process instances. For example, you may have a set
of approval codes for incoming orders that change daily for security purposes.
You can create a shared variable to hold the approval codes and create one
process definition for setting the codes. You can then retrieve the shared
variable in all processes that require the current approval codes.
Job Shared Variable:
A Job Shared Variable resource is similar to a Shared Variable, but its
scope is limited to the current job. A copy of the variable is created for each
new process instance. This type of shared variable is useful for passing data
to and from sub-processes without creating an input or output schema for the
called process.
You can use the Get Shared Variable and Set Shared Variable activities to
access the data instead of mapping data to a called processes input or output
schemas. New process instances receive a copy of the Job Shared Variable, so
data cannot be shared across process instances. Therefore, if a called process
has the Spawn configuration field checked, a new process instance is created
and the process instance receives a new copy of the Job Shared Variable.
7) How many types you can call a sub process from a process? Explain them
·
We
can call a sub process dynamically by doing process name dynamic over ride
where we can use multiple sub processes in the same calling process depending
on a condition.
·
Normal
calling where in the calling process a sub process path is given in the process
name field.
8) What is the check
point activity and confirm activity?
A checkpoint saves the current process data and state so
that it can be recovered at a later time in the event of a failure. If a
process engine fails, all process instances can be recovered and resume
execution at the location of their last checkpoint in the process definition.
The Confirm
activity confirms any confirmable messages received by the process instance.
For example, if a process is started because of the receipt of an RVCM message,
the Confirm activity can send a confirmation message to the publisher of the
RVCM message
9) What is Generate
Error activity? What the applications of it (Where you can use it and
what you can achieve by using it)
This activity generates an error and causes an immediate
transition to any error transitions. If there are no error transitions, the
process instance halts execution. This activity is useful in a group or in a
called process. If you would like to catch and raise your own error conditions,
you can use this activity to do so.
10)
The process flow requires that a message
read from a queue is delivered to a target database only once. In the event of RDBMS
operation failure, the message should be put back.
Receive a message
using Client Acknowledgement; when a database operation is successful,
acknowledge the message as processed; on RDBMS failure, complete the process
without acknowledgement
Product: TIBCO Administrator
1) What are the possible transports between deployed applications
and Tibco Administrator?
a.
Rendezvous
b.
HTTP
c.
HTTPS
d.
JMS
2) What are the possible transports between adapters and
Business process?
1)
Rendezvous
2)
JMS
3) What is the tool
you need to add a machine to administration domain?
Domain Utility
4) If, in a production setup, the default RV port has to
be changed from 7500 to 7600, how would you achieve this in the least
complicated manner?
Essentially, the
usage of global variables, and tweaking it using admin or designer
Or modifying the
TRA file is what was being asked
5)
What is flow limit,
Max jobs and Activation Limit in Tibco Admin?
- Max Jobs — specifies the
maximum number of process instances that can concurrently be loaded into
memory.
- Activation Limit — specifies
that once a process instance is loaded, it must remain in memory until it
completes.
- Max Jobs (Flow Limit) — specifies
the maximum number of currently running process instance to start before
suspending the process starter.
6) What is the command
line utility used to deploy an ear file?
AppManage.exe
7) You have an ear
file in path “c:\myproject\MYEAR.ear” .how can you create configuration XML
file from the given ear file?
AppManage – export – ear c:\myproject\MYEAR.ear -out c:\myproject\MYEAR.xml
8)
If your project has
10 adapters and 10 processes how may minimum number of shared archives, process
archives, and adapter archives you need to place in an enterprise archive resource?
1-shared archve, 1-process archive, and
10-adapter archives
Note:
one adapter archive resource can hold only one adapter where as one process
archive can hold many number of processes.
Product: XML
1) What is the transformation mechanism you use to transform
input to out put?
X-path.
2) What is XPATH?
XPATH
is XML based path language used to navigate the XML document and manipulate the
data.
3) What is the underlying technology of XPATH?
XSLT: xml style sheet language
transformation
4) What is XSD?
XML
schema definition.
5) What is name
space in XSD?
Since element names
in XML are not predefined, a name conflict will occur when two different
documents use the same element names. So each element is given a unique
namespace.
6) What are the BW
activities, which deals with XML
messages?
Xml parser, xml render, xml transform
7) What is the difference between Schema and DTD?
Schema might outphase DTD. XML shemas are
in XML. XML Schema has a lot of built-in data types including xs:string,xs:decimal,xs:integer,xs:boolean,xs:date,xs:time.
XML schemas can be edited with Schema files, parsed with XML parser,
manipulated with XML DOM, and transformed with XSLT.
The building blocks of DTD include elements, attributes, entities, PCDATA, and CDATA.
The building blocks of DTD include elements, attributes, entities, PCDATA, and CDATA.
Product: TIBCO ADB Adapter
1)
What are the
Adapter services available in ABD?
- Publication
Service
- Subscription
Service
- Request-Response
Service
- Request-Response
Invocation Service
2) What are the possible transports between adapters and
Business process?
·
Rendezvous
·
JMS
3)
What are the
qualities of services we can have in adapter publishing services?
4)
SDFSD
RV: reliable, certified,
and transactional
5)
Explain the
internal functioning of ADB publication service?
When
we configure ADB publishing service it creates Publishing table for source
table, Trigger acts as a bridge between source and publishing table. Whenever
data is being inserted/updated/deleted from source table, it will be inserted
into publishing table by means of trigger. ADB has another component called
polling agent. Polling agent will be keep looking for new inserts into
publishing table and if it finds any then converts the record in p table into
the specified wire format and publishes on specified quality of service
6)
What is publish by
value and publish by reference. Explain the pros and cons.
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).
7)
What are the wire
formats we can have in adapter publishing services
Wire formats:
a) RV: active
enterprise message,RV message,XML message.
b) JMS: XML message
8)
What is Exception
table
If a database
restriction or failure occurs, an exception table can be configured to receive
the message. If insertion into an exception table also fails, an error message
will display and the adapter instance will terminate. You can build a TIBCO
Hawk rule base that detects when the configuration is down and automatically
restarts it when the database is up.
9)
What is Opaque
Exception table?
The subscription service uses two
logical layers when processing a message. The first layer decodes data from the
message and the second layer provides the database transaction. If an exception occurs in the first layer, the adapter
logs the message to the opaque exception table. In the second layer, if any DML command fails at
any level, the adapter rolls back this transaction and starts another
transaction, inserting into exception tables. If the insert into exception table transaction fails, the adapter
then logs the message to the opaque exception table.