Sie sind auf Seite 1von 47

TIBCO Adapters FAQ'S

ADAPTERS
What are Adapters?
Adapters are connectors to data sources to catch event changes. Once an Adapter catches
a event change, it publishes the message to a message box using either EMS or RVD
Adapter is a gateway between different applications using messaging channels.

What are the different types of adapters?


Technical Adapters (File Adapter, DB Adapter)
Functional Adapters (PeopleSoft Adapter, SAP R3 Adapter)
Custom Adapters

Adapter Components
Each adapter has two main components, an adapter palette and a run-time adapter. In
addition, some adapters include a design-time adapter. The adapter palette and design-
time adapter are used during configuration, and the run-time adapter is used at production
time.

Adapter Palette:
Each adapter includes a palette that is used for configuration. The palette is automatically
loaded into TIBCO Designer during adapter installation and available the next time
Designer is started. The palette enables you to configure adapter specific options, such as
its connection to the vendor application, logging options, and adapter services. During the
design phase, the palette connects to the vendor application and fetches information about
connection options and data schemas. You can then graphically select the appropriate
items. For example, during configuration of a TIBCO Adapter for ActiveDatabase
adapter instance, the palette fetches all pertinent tables in the database. You then choose
the tables that the particular service is to send or receive.

Run-time Adapter :
Once the adapter has been configured using TIBCO Designer, it can be deployed. A
deployed adapter instance is referred to as a run-time adapter. A run-time adapter
operates in a production environment, handling communication between a vendor
application and other applications that are configured for the TIBCO environment.

Design-time Adapter :
Some adapters use a design-time adapter (DTA) to access a vendor application and return
design-time configuration information. The palette is a client of the DTA process. The
DTA connects to the vendor application, fetches data schemas and sends them to the
palette.

Adapter Lifecycle:
The following is an overview of the adapter lifecycle:
1. Install the vendor application to which the adapter connects before installing the
adapter. For many adapters, the adapter and vendor application need not be installed on
the same machine.
2. Adapters depend on other software from TIBCO. Before installing an adapter, the
TIBCO Runtime Agent™ software must be installed on each computer on which the
adapter runs.
3. Create an adapter instance and save it in a project using TIBCO Designer™. A project
contains configuration information required for a run-time adapter to interact with the
vendor application and other applications.
4. Deploy the adapter. An adapter instance is deployed using TIBCO Administrator.
a) Using TIBCO Designer, create an Enterprise Archive (EAR) file, which contains
information about the adapter instances and processes you wish to deploy.
b) Using TIBCO Administrator, upload the EAR, then deploy the adapter on the
machine(s) of your choice. You can set runtime options before deployment.
c) Using TIBCO Administrator, start and stop the adapter.
d) Monitor the adapter using the built-in monitoring tools provided by TIBCO
Administrator.

Adapter Services :
Adapters are responsible for making information from different applications available to
other applications across an enterprise. To do so, an adapter is configured to provide one
or more of the following services:
Publication Service
Subscription Service
Request-Response Service
Request-Response Invocation Service

Publication Service :
An adapter publication service recognizes when business events happen in a vendor
application, and asynchronously sends out the event data in realtime to interested systems
in the TIBCO environment. For example, an adapter can publish an event each time a
new customer account is added to an application. Other applications that receive the
event can then update their records just as the original application did. When an
application receives a request to create a customer record, the application notifies the
adapter about the request and the adapter publishes the event.
User Interface-----------------Application X--------------Adapter -------------- TIBCO
Messaging
Create record Send to adapter Publishing

Polls on the source data table (base table).


Reads data from the source table.
Sends the data to the message bus.

Subscription Service:
An adapter subscription service asynchronously performs an action such as updating
business objects or invoking native APIs on a vendor application. The adapter service
listens to external business events, which trigger the appropriate action. Referring to the
previous example, an adapter subscription service can listen for customer record creation
events (happening in an application and published to the TIBCO infrastructure) and
update another application.
TIBCO Messaging------------Adapter-----------Application Y Subscribing Update record

Reads data from the message bus.


Gives the data to the destination table.

Request-Response Service:
In addition to asynchronously publishing and subscribing to events, an adapter can be
used for synchronously retrieving data from or executing transactions within a vendor
application. After the action is performed in the vendor application, the adapter service
sends a response back to the requester with either the results of the action or a
confirmation that the action occurred. This entire process is called request-response, and
it is useful for actions such as adding or deleting business objects.

Receives requests from other applications.


Parses the requests.
Returns response (Sends only the requested data to the message bus).

Request-Respons Invocation Service:


An adapter request-response invocation service is similar to the request-response service,
except that the roles are reversed. The vendor application is now the requester or initiator
of the service, instead of the provider of the service. The adapter service acts as a proxy,
giving the vendor application the ability to invoke synchronously functionality on an
external system.

How can u fine-tune an ADBAdapter? What are the different parameters that can be
used?
a) we can use publish by value or publish by reference for high speed and data type
support like oracle long respectively.
b) Can use polar or alerter for frequent and infrequent data changes respectively.
c) Adb.PollingInterval, _ADB.DUPDECT.adapter_instance_name parameters can be
used to do flow control and avoid duplication respectively.

What are the quality of services we can have in adapter publishing services?
RV: reliable, certified, transactional

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

What are the objects, which will be created if you configure and save ADB adapter?
Publishing table for source table, Trigger acts as a bridge between source and publishing
table
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

Can we filter the records from publishing when they get updated in source table? (Data
from all regions are coming into table but I want to publish only New York data)
Yes – By modifying the trigger we can only insert the New York data into publishing
table

Can we limit the number of columns to be published from the source table?
Yes, using the use? field in adapter publishing table tab. just uncheck the columns u dont
want to use.

Can we publish parent and child table information by using single adapter configuration
and how?
Yes, in the adapter publisher table tab create a parent table first by look up and then add
the child table using the add child tab then click on the child table column to specify the
foreign key than to establish a relationship between the primary key of the parent and the
foreign key of the child go to the column in the child table and specify the primary key of
the parent table.
In the subscription service the destination table is created and the child table mapping tab
will have the child table on the left mapped with the parent table on the right.

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

What are the types of message transfers in file adapters?


record transfer: to integrate file systems to TIBCO AE environment.
simple file transfer: to transfer files to other TIBCO adapters.

What is read schema and write schema in file adapter.


Read schema in the file adapter publisher config is used to define typr of expected input.
Here we can use the delimited file tupe or the positional file type.
What is the difference between an ADBAdapter and JDBC palette activities?
• Using ADB we can only pick up the data from one database and put it in onother one.
• But using JDBC we can Query using JDBCQuery and manupulate data using
JDBCUpdate. like we can use select statements and insert and update statements to
selective query and update.
• ADB adapters might be useful in scenarios where we have large amount of data.

What is the difference between a FileAdapter and File palette activities?


In file activities the file polar cannot handle multi format data and record by record
transfer .it takes care of particular format specified and does file transfer.
where as file adapter can handle multiple formats and does record by record transfer.

If the reference to Schema changes in "Activity Input" does it through error, how do you
correct it?
Yes, and we have to correct the schema in the way the input expect it.

Where do we specify HTTP Port number?


In HTTP connection in the HTTP activities.

What is the difference between JDBC activities and ADB Adapter?


• ADB uses ODBC to connect, JDBC uses JDBC
• ADB is more suitable for instances where you have a lot of processing
• ADB is more suitable for instances where you want that a particular action on a DB
Table triggers a BW process.
• ADB adapter is best for publishing from database.
• For simple inserts and updates then ADB subscriber is best.
• ADB is an adapter which is used to capture the events and take action, this has pub and
sub mechanisms, pub is used to capture the events and publish the messages and sub will
be used to upsert the operations.
• Jdbc is a collection of activities that can be used for custom operations
• In case of insert or update to database then check if you have complex JDBC inserts,
transaction management and other dynamic queries then JDBC activities are best.
• JDBC is more suitable for running dynamic code where in runtime you can execute
statements with different values depending on process execution.

What are modes of operation for File Adapter in Record Mode?


Synchronous mode upon receiving an event, the publication service will allow other
services in the instance only after it completes the processing and publishing of all the
files that match the specified criteria.
In Asynchronous mode the publication service allows other services of the instance to
receive events while it is processing and publishing a file. By default Subscription service
always operates in Asynchronous mode.

What is the diff between tibco adapter and BW component?


Adapters are connectors that use a messaging channel that can be configured over
source/target systems which can be used in Pub, Sub or Replyrequest mode. BW
components are designer, administrator, bw engine.

What is a synchronous service that an adapter supports?


Of the 4 Adapter services, Request/Response is the only adapter service that is
synchronous.

What is Event Driven and Demand Driven?


Event Driven - Push
Demand Driven - Poll.

TIBCO Adapter for ActiveDatabase:


TIBCO Adapter for ActiveDatabase software (the adapter) allows data changes in a
database to be sent as they occur to other databases and applications. It extends publish-
subscribe and request-response technology to databases, making multiple levels of
delivery services available to applications that need access to these databases. ODBC and
JDBC compliant databases such as Oracle, Sybase, and Microsoft SQL Server are
supported. While the adapter does not run on z/OS and iSeries systems, it can remotely
connect to a DB2 database running on these systems. TIBCO Adapter for ActiveDatabase
is written using the TIBCO Adapter SDK software, which allows the adapter to
interoperate with other TIBCO products. The adapter can communicate with any
application that is configured for the TIBCO environment.

What is File Adapter?


TIBCO Adapter for Files software processes data from text files and publishes the
contents in real-time to the TIBCO environment. The adapter also listens for messages in
the TIBCO environment and writes the contents to a file.

The adapter supports only text files when it is integrating a file system into the TIBCO
ActiveEnterprise environment. It supports both text and binary files when it is
transferring files between two or more TIBCO Adapter for Files installations.

File Adapter Operations Mode?


Selecting an operation mode is the first step in configuring a service. The operation mode
determines whether the service will integrate the file system with the TIBCO
ActiveEnterprise environment or transfer files between instances of TIBCO Adapter for
Files.
In the Record Mode of operation, where the adapter integrates the file system with
TIBCO ActiveEnterprise, you will have to define and use schemas.
In the Simple File Transfer Mode of operation, where the adapter transfers files among
instances of TIBCO Adapter for Files, you will have to define various options for file
transfer. However, there is no need to define a schema.

Can two adapters communicate with each other?


No two adapters can communicate with each other directly. They can communicate only
through a messaging layer.
Considering Tibco to be the messaging layer,
Publishing Adapter always publishes to Tibco messaging bus.
Subscribing Adapter always subscribes from a Tibco messaging bus.

What are users and user-key columns in Adapter Publisher's Table tab?
While configuring an ADB Publisher:
"Users" column specifies what columns have to be published to the publishing table.
"User-key" is selected means it acts as a primary key. Child tables can be joined to the
Parent tables only using the primary keys. Publish by reference storage mode copies only
the primary key from the source table. If a source table does not have a primary key
column, we can use the user-key to do the same.

What are the columns available in a Adapter Publishing table?


An adapter Publishing table contains the actual data columns plus Internal Adapter
columns.
Actual data colums:
Depending on the storage mode selected, the actual data colums in the publishing table
varies:
For Publish by value, the actual data columns will be the exact copy of the base table data
colums.(all the columns).
For Publish by reference, the actual data columns will be the exact copy of the base
table's primary key data colums (only Primary key column).

Internal Adapter columns:


ADB_SUBJECT
ADB_SEQUENCE
ADB_SET_SEQUENCE
ADB_TIMESTAMP
ADB_OPCODE
ADB_UPDATE_ALL
ADB_REF_OBJECT
ADB_L_DELIVERY_STATUS
ADB_L_CMSEQUENCE

Publication and Subscription formats ( file adapter)


Two types of formats are supported by adapters while exchanging data between
applications
1. MInstances
2. MBusinessDocuments
MInstances is the entity that is exchanged among TIBCO applications. It is the schema
instantiations. The runtime adapter parses the input file, identifies the schema associated
with the publication service, creates the MInstances and publishes it.

MBusinessDocuments is a facility provided by TIBCO ActiveEnterprise for grouping


MInstances. MBusinessDocument always contain MInstances created from the same file.
If high throughput is desired from publication service MBusinessDocument attributes can
be used.

Modes of operation(file adapter)


There are two modes of operation
Synchronous mode
Asynchronous mode

An adapter instance/configuration can have multiple publication and subscription


services. Services are activated by events. The publication service can be activated by a
timer event or message event. The event that activates the publication service is called
polling agent.

In Synchronous mode upon receiving an event, the publication service will allow other
services in the instance only after it completes the processing and publishing of all the
files that match the specified criteria.

In Asynchronous mode the publication service allows other services of the instance to
receive events while it is processing and publishing a file. By default Subscription service
always operates in Asynchronous mode.

If the configuration has more than one service or if the publication service is expected to
process large file sizes or large set of files, setting the publication service in
asynchronous mode is recommended.

Types of file records (file adapter)


File records can be classified into two categories:
1. delimited file record
2. positional file record
Delimited file records are used to interpret lines that have a well-defined delimiter
between the fields. Delimiters can be of single or multiple characters. These can be
identified by the number of fields or by using a
constant field value.

Positional file records are used to interpret lines that have well defined field lengths.
These can be identified using line or record length or by using a constant field value ie;
constant line length.

what is opaque 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.
what is the difference between exception table and 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.

What are the transport types supported by ADB adapters?


The transport types supported by ADB adapters are:
1) Rendezvous
2) JMS

Rendezvous
Quality of service supported by Rendezvous:
1) Reliable
2) Certified
3) Transactional

Wire Formats Supported by Rendexvous:


1) Active Enterprise Message
2) Rendezvous Message
3) XML Message

JMS
Wire Formats Supported by JMS:
1) XML Message

Connection Factory Type Supported by JMS:


1)Topic
2)Queue

Delivery Mode Supported by JMS:


1) Persistent
2) Non-Persistent
Posted by Arun at 1:12 AM 0 comments
Labels: TIBCO Adapters FAQ'S

TIBCO EMS FAQ'S

EMS
What are the different modes of installation in Ems?
a. GUI mode
b. Console mode
c. Silent mode

What are the messaging models supported by JMS?


a. Point-to-point
b. Publish-subscribe
c. Multicast

What are the destinations in EMS/JMS and their differences?


Ans:
Queues: point-point communication. Any number of producers and consumers can exist.
At any time and situation each message is taken by only one consumer.
Exclusive: only the first consumer who picks up the first message can take the rest of the
messages (used if u wants only one consumer).
Non-exclusive: where any number of consumers can exist. Used for load balancing.
Topics: publish-subscribe.
Any number of publishers and subscribers can exist. Each message can be taken by any
number of consumers (radio).

In how many ways can a destination be created?


a. Static-created by user
b. Dynamic-created by ems server on the fly.
c. Temporary destinations.

Queues Vs Topics in TIBCO EMS


There are two major models for messaging supported by JMS: queues and topics. Queues
are based on a point-to-point messaging model. Topics make use of the new publish-and-
subscribe messaging model.

Regardless whether queues or topics are used, the messages are not sent directly peer-to-
peer. Messages are forwarded to a JMS infrastructure that is composed of one or more
JMS servers. The servers are responsible for providing the quality-of-services to JMS and
responsible for implementing all the components not addressed by JMS Specification.

When determining when to use queues versus topics consider the two fundamental
messaging mechanisms. The first is point-to-point messaging, in which a message is sent
by one publisher (sender) and received by one subscriber (receiver). The second is
publish-subscribe messaging, in which a message is sent by one or more publishers and
received by one or more subscribers. The messaging model as listed below will dictate
when to use a queue or a topic:

One-to-one messaging Queue point-to-point


One-to-many messaging Topic publish-subscribe
Many-to-many messaging Topic publish-subscribe model

what is the Relationship between Temporary queue, queue, destination.


A Destination can be a Queue or Topic, which typically says static. Which means you
physically create this queue.

I hope you know the definition for Queue which can static, dynamic or temporary.
Static represents physical creation.

Dynamic Represents, which will be created by receiver/sender application at run time,


life span is limited, as long as there is messages or receivers, it will stay in server, if not it
deletes.

Temporary Queue means, created by receiver to submit the response to EMS server or
Sender to get the messages. this life span is immediate, but there is a hidden danger with
these queues, as these might turn into orphan queues (please read other articles). there is a
fix, which will go by 4.4.2 ems version

Difference between Exclusive and Non Exclusive Queues


you can define a queue as exclusive to make sure that all the messages are always sent to
the same consumer, even if you have more than one connected to it. If you make it
exclusive the rest of the consumers are "on standby" so if the primary fails another one is
set as primary and starts receiving.

If you set them to non-exclusive (the default value) and you have more than one
consumer connected to the queue the messages are delivered in a round robin fashion to
balance the load.

What is the use of system queues?


system queues are undeleteable queues stored usualy undelivered messages (when you
set JMS_TIBCO_PRESERVE_UNDELIVERED to true, in case the message exipres,
you'll get it to $sys.undelivered) or other even driven messages if applicable.
More in use are sytem topics for monitoring and statistics, where is EMS publishing
queue and server statistics and can be detailed to message content level.

dead Queue
In case of any failures in the messages to server, will be added to dead queue, which is
kind of internal system queue, I strongly feel.
For ex: No memory trying to add message to dead queue.
Failure queuing message to add to dead queue

How do we distinguish dynamic queues with static queues?


Ans: dynamic queues have * before them.

what are the message storing mechanisms of queues?


Ans: persistent and non-persistent.
Persistent: messages are stored to external storage before sending.
Non-persistent: not stored to any external storage. The information will not be available
for retrieval.
what are types of subscribers we can have for topics? Explain them in detail.
Ans: durable and non-durable subscribers.
In durable subscriptions the messages are stored so that even if the subscriber fails and
comes back the messages can be retrieved.

What are the permissions that you can grant to users to access queues?
a. Receive
b. Send
c. Browse

What are the permissions that you can grant to users to access topics?
a. Subscribe
b. Publish
c. Durable
d. Use_durable

What is the difference between Queues and Topics?


Queue
• Guaranteed Service
• Only the Target gets the message (One message per Consumer)
• Uses Peer-to-Peer Mode to deliver messages
• Blocking
• Load Balancing is possible

Topic
• Reliable Service
• Everyone active gets the message (One message may Consumers)
• Uses Pub / Sub mode to deliver messages
• Non-Blocking
• Load Balancing is not Possible

What is the use of secured queues and topics?


Setting ‘secure’ property to queues/topics can restrict unauthorized users from
publishing/sending and subscribing/receiving the messages.

What are acknowledgement modes and where do you set them and what is the
applicability of each mode?
Ans: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.

what is the structure of messages in JMS?


Ans: header(needed),
properties(optional)
body(optional).
Header parameters:
JMS destination,
JMS message.

What is the purpose of JMS Queue receiver activity and Queue sender activity?
Ans: Starts a process when ever a new message comes into the specified queue.
A queue sender activity sends messages into the specified queue.

What is the potential problem with JMS Queue requestor?


Ans: When we specify a reply to queue there is a chance of other processes sending
messages to the same queue
and the jms queue requestor interpreting that as the actual response and sending this
wrong message to the client.

What is JMS queue requestor?


The JMS Queue Requestor activity is used to send a request to a JMS queue name and
receive a response back from the JMS client

What is JMS topic requestor?


The JMS Topic Requestor activity is used to communicate with a JMS application’s
request-response service. This service invokes an operation with input and output. The
request is sent to a JMS topic and the JMS application returns the response to the request.

How to setup load balancing for Topics and queues?


Ans: We can achieve load balancing using bridging queues and topics.
Or Queues can be set non-exclusive so that any number of consumers can access the
queue.

What are the different levels of load balancing in EMS and how would you do it?
Ans: server level and consumer level
Server: by having multiple servers.
Consumer: by creating consumer instances.

What are the differences between server load balancing & producer/consumer load
balancing?
Point-to-Point : Non-exclusive queues are useful for balancing the load of incoming
messages across multiple receivers.
Programs can use distributed queues for one-of-n certified delivery to a group of servers,
in order to balance the load among the servers.
Rendezvous distributed queue software assigns each task to exactly one of the servers,
while the group of servers and the distribution of tasks remains completely transparent to
the client processes.

EMS Load balancing can be done in only one way on the consumer side, by using
multiple subscribers/receivers to a same topic/queue, and which will be executed in round
robin fashion. If we are connecting two different severs by using "|" symbol is not be load
balancing, Consumers can not switch connections between two servers. By default, we
will implement multiple consumers but we have to consider above mentioned issues in
consumer load balancing.

How would you do fault-tolerance in EMS? Explain the complete process.


Ans: FT in EMS can be achieved by implementing pair of servers called primary and
backup while the primary does the normal job of sending and receiving messages the
back up server takes the place of primary if the primary fails. The pair shares the
information from the shared state. When the primary goes down the backup server reads
all the primary config files and starts from there. The primary locks the shared state if its
active so that the backup server doesn’t take its place. the lock is released when the
primary goes down so that the backup can lock the shared state. Only persistent messages
can be implemented in this situation since non-persistent messages cannot be stored in
external storage like shared state.

How a consumer can connect to the new primary EMS server when the running primary
server goes down?
Ans: we can specify multiple URL’S for the client so that if the primary is down the next
URL belonging to back up will be used.
In case of a primary having multiple address we can use multiple URL’S for the same
server so that even the primary in one location is down it can connect to the primary of
another location.
The URL’S are usually comma separated in client config.

How the clients of the primary server access the messages stored by primary server when
it goes down and secondary server becomes primary server?
Ans: clients can be config to be intimated of the failover.
The backup reads the current state of the client from the shared storage
And then connects to the client if there are any undelivered persistent messages.

Scenario: Topic T1, Queue Q1 and Queue Q3 are bridged. A publisher published a
message to Topic T1. But the publisher has no access rights to Q1. How the message will
be traversed?
Ans: Message producers must have access to a destination in order to send messages to
that destination. Messages can only be sent to bridged destinations to which the message
producer has access.

Scenario: A publisher is publishing messages quickly than the consumers are consuming
the messages. How to control this situation.
Ans: we can use flow control to address this situation. The target maximum size for
pending messages is specified so that only that amount of message is stored and any
messages above that will be blocked.
The server blocks the send call and releases only when the storage limit is below the set
value.
The flow control is enabled only if the topic or queue has receivers.
This way the producers are slowed down. And the balance is achieved.

Can we set a limit for the total number of pending messages on Queue or Topic? What is
the parameter for that
Ans: yes, max-bytes for pending messages.

What if max-bytes limit exceeds?


Ans: Messages that would exceed the limit will not be accepted into storage and an error
is returned to the message producer.

What is the pre-fetch value?


Ans: In order for reducing the client’s waiting time in a server client scenario
For a queue based messaging only the prefetch value allows the the server to send
messages in batches so that the message will be ready for the client when ever the client
is ready. For automatic fetching its >1 and for disabling its “none”.

What is fail-safe?
Ans: The Tibco ems provides 2 modes for persistent topic/queue message storing to
external device.
Normal: in this mode the messages stay in a buffer before writing to a storage(disk). So
in case of any failure the messages may be lost.This mode is very efficient in situations
were little loss of data is allowed.

Failsafe: in the fail safe mode the messages are first written to an external storage before
sending so that no messages are lost ever. This is used when no loss of data can be
encouraged.
How many ways we can determine the life span of the message in a queue. What are
they?
Ans: Expiration parameter in queue configuration file.
JMS expiration time in queue sender.
The JMS expiration time in queue sender overrides any value given in config.

What are the basic configuration you would setup if you want to enable your EMS server
for SSl communication
Ans: listen parameter and ssl_server_identity. Optionally private key.

What is the main config file in JMS?


Ans: The main configuration file controls the characteristics of the TIBCO Enterprise
Message Service server. This file is usually named tibemsd.conf, but you can specify
another file name when starting the server.
Exp para: server, password,flowcontrol,storage,server sartup…

Can you send messages from a server to another server?


TIBCO Enterprise Message Service servers can route messages to other servers.
• Topic messages can travel one hop or multiple hops(from the first server).
• Queue messages can travel only one hop to the home queue, and one hop from the
home queue.
A server forwards topic messages along routes only when the global property is defined
for the topic.
When a route becomes disconnected (for example, because of network problems), the
forwarding server stores topic messages. When the route reconnects, the server forwards
the stored messages.

What are multi-hop zone?


Ans: Multi-hop zone is a group of servers connected by routes.

How do you configure multi-hop zones?


By using routes
To create a route using the administration tool, first connect to one of the servers, then
use the create route command with the following syntax:
create route url= zone_name= zone_type=1hop|mhop

Tell me about bridges. Why do we use them, Syntax to create bridges, use of message
selector
Some applications require the same message to be sent to more than one destination
possibly of different types.
So we use bridges.

What is the purpose for stores.conf


a. This file defines the locations either store files or a database, where the EMS server
will store messages or
metadata
b. Each store configured is either a file-based or a database store.

How many modes are the messages written to store file.


2 modes.. sync or async. When absent , the default is async

What is tibemsd.conf
It is the main configuration file that controls the characteristics of the EMS server.

How many delivery modes for messages?


Persistent, Non-persistent, Reliable-delivery.

What is the maximum messagesize?


Ems supports max message size of 512 mb

Name 3 destination properties and explain them.


Global, secure, maxmsgs, maxbytes, flowcontrol, sender_name, sender_name_enforced,
trace, maxRedelivery

log_trace
"Log_Trace" writes information to the specified log file based on the trace options
logtrace will be written to log file.

Console_trace
Console Trace will be useful when you start your server in common window, and all logs
will be displayed there, and ofcourse it written to log files also when you configure it.

What happens if the message expires/exceeded the value specified by maxredelivery


property on queue?
If the jms_preserve_undelivered property is set to true, then it moves he message to
undelivered message queue, if set to false, the message is deleted by the server.

What are the wild cards that we use in ems?how do they work for queues and topics?
*,>
We can subscribe to wildcard topics, but cant publish to them. Where as in case of queues
we can’t either send /receive.

Are bridges transitive?


No

Tell me about flow control on destinations?


Some times the producer may send messages faster than the consumers can receive them.
So, the message capacity on the server will be exhausted. So we use flow control. Flow
control can be specified on destinations.

Tell me about flow control on bridges and routes?


Flow control has to be specified on both sides of bridges where as on routes it operates
differently on sender side and receiver side.

Name 3 configuration files and tell me what it consists of?


a. Queues.conf
b. Topics.conf
c. Routes.conf
d. Factories.conf
e. Stores.conf
f. Groups.conf, users.conf, transports.conf

Name some administrative level destination properties?


a. View
b. Create
c. Delete
d. Modify
e. Purge

How can you change the configuration properties of EMS server?


You can change in the tibemsd.conf file or you can change using the ems admin console.

Tell me about multicasting in EMS?


a. Multicast is a messaging model that broadcasts messages to many consumers at once
rather than sending messages individually to each consumer. EMS uses Pragmatic
general multicast to broadcast messages published to multicast enabled topics.
b. Each multicast enabled topic is associated with a channel.

What are the advantages and disadvantages of multicasting..


a. Advantages: As the message broadcasts only once there by reducing the amount of
bandwidth used in publish and
subscribe model. Reduces the network traffic.
b. Disadvantages: Offers only last-hop delivery. So can’t be used to send messages
between servers.

On what destinations can you use multicast?


Topics

Suppose, you got an error while accessing a queue, that you don’t have necessary
permissions to access the queue. What might be the solution/reason?
The user that is assigned to the queue and the user used while creating.

How does the secondary server know that the primary server is failed?
Based on heartbeat intervals

How do you add ems server to administrator?


Using domain utility
How do you remove individual messages from destinations?
Using purge command.

Connection and Session threading in Ems


Connection : Multi thread
Session : Single thread

Where do you use a bridge in real time?


we use in scenarios like publishing message from Topic to Queue, Store message in EMS
for retrieval in case if there is any problem while moving data from one process to
another.
When ever you are decided to use message selectors on BW, use bridges and use message
selector on bridges, which is more powerful than using message selectors on BW.

Where is the AppManage located at?


/tra//bin

3 files (batch) are ready for deployment. out of which only 2 files must be deployed
together
and not deploy the other one. How can we do this using AppManage?
Batch means is it a single ear with multiple process archives, if so, dont pass the thrid
process archive in the config file.

What are the steps to perform Server Side Load Balancing on the local machine?
1. Make a duplicate copy of the “cfgmgmt” Folder and rename it to “cfgmgmt2”
2. Make sure that the Server Name is same in the “tibemsd.conf” file in both the folders.
3. Change the port number in the second folder’s “tibemsd.conf” file (listen = tcp://xxxx)
4. Start both copies of the servers from the command prompt (ex: C:\ ..
\ems\5.1\bin\tibemsd –config
5. “C:\ .. \cfgmgmt\ems\data\tibemsd.conf”)
6. In TIBCO Designer, modify the JMS Connection “Provide URL” to contain both the
servers
( ex: tcp://localhost:7222 | tcp://localhost:7223)

What are the steps to setup Fault Tolerance servers on the local machine?
1. Make a duplicate copy of the “cfgmgmt” Folder and rename it to “cfgmgmt2”
2. Make sure that the “Server” Names and “Listen” ports are not the same in the
“tibemsd.conf” file in both the folders.
3. Change the port number in the “tibemsd.conf” file (i.e ft_active = “listen port of the
other server”) in both the
“cfgmgmt” folders.
4. Start both copies of the servers from the command prompt
(ex: C:\ .. \ems\5.1\bin\tibemsd –config “C:\ .. \cfgmgmt\ems\data\tibemsd.conf”)

What is the use of Bridges?


Some applications require the same message to be sent to more than one destination
possibly of different types. So we use bridges

What is the syntax to create Bridges without Message Selector?


create bridge source=queue:bridgequeue target=topic:bridgetopic

What is the syntax to delete a bridge?


delete bridge source=queue:bridgequeue target=topic:bridgetopic

What is the syntax to create Bridges with Message Selector?


create bridge source=queue:bridgequeue target=topic:bridge topic selector="keyword"

What is the use of Bridges and Routes?


Both are used to channel messages from senders to receivers. Bridge act as connector
between two different queue and Routes act as connector between different server for
sending message and receiving acknowledgement of delivery.

What are the steps required to create a Route between two Servers?
1. Make a duplicate copy of the “cfgmgmt” Folder and rename it to “cfgmgmt2”
2. Make sure that the Server Name is NOT the same in the “tibemsd.conf” file in both the
folders.
3. Change the port number in the second folder’s “tibemsd.conf” file (listen = tcp://xxxx)
4. Set the routing property to enabled in the “tibemsd.conf” files in both the folders open
factories.conf under
“cfgmgmt2” and change the settings for GeneralConnectionFactory,
QueueConnectionFactory and
TopicConnectionFactory URL to (tcp://xxxx)
5. Create Route on Server 1 (route “Server2-Name” url=tcp://localhost:xxxx)
6. Create global queue / topics on both servers as required
7. Start both copies of the servers from the command prompt (ex: C:\ ..
\ems\5.1\bin\tibemsd –config
“C:\ .. \cfgmgmt\ems\data\tibemsd.conf”)
8. Test the route by using queue / topic in a BW Process

How to create a transport between RV and EMS?


Transport can be established between RV and EMS topic or queue.
The message can be imported as well as exported from RV.Important point to remember
is, with Topic for transport the messages can be imported and exported from RV But in
the case of Queues the message can only be imported from RV. Follow these steps to
establish transport between RV and EMS :

1)For enabling the transport :


In the configuration file tibemsd.conf set the parameter tibrv_transports to enabled. The
default value is disabled.
2)To set the type of parameters for tranport:
In the transports.conf file set the parmeters in Transport definitions (in the configuration
file transports.conf) specify the communication protocol between EMS and the external
system.

The parameters can be as follows:


[RV01]
type = tibrv
topic_import_dm = TIBEMS_RELIABLE
service = 7200
network =
daemon = tcp:host:7200
topic_import_dm= TIBEMS_NONPERSISTENT

Here
RV01 is the name of the transport.
type = required parameter which can be set to tibrv or rvcm(for certified messages)
service = UDP port.if absnt the default is 7200
network = IP address.
Daemon = TCP Port.
topic_import_dm = delivery mode for importing the messages and the values can be
TIBEMS_RELIABLE,
TIBEMS_PERSISTENT OR TIBEMS_NONPERSISTENT

Similarly the paramters can be set for topic_export_dm and queue_import_dm.


export_headers = The default
value is true and can be set to false if there is no requirement of exporting the JMS
headers.
export_properties = The default value is true and cane be set to false if there is no
requirement of exporting the JMS properties.

3)Destination definitions (in the configuration files topics.conf and queues.conf) can set
the import and export
properties to specify one or more transports.

Can set the import/export properties by either making an entry in topics.conf or


queues.conf filesdirectly like
topic.sample import="RV" where topic.sample is the name of the topic.
or in the admin tool use :
addprop topic myTopics.news import="RV01,RV02" which will add property import to
myTopics in topics.conf files

Key Points:
The transport takes place when the topic name and the RV subject name are same.

For topics:
When a topic specifies import on a connected transport, tibemsd imports messages only
when the topic has registered subscribers.
For queues:
When a queue specifies import on a connected transport, tibemsd immediately begins
importing messages to the queue, even when no receivers exist for the queue.

When a topic and a queue share the same name, at most one of them may set the import
property.
For example, if a topic example.transport and a queue example.transport are both defined,
only one may specify the import property.
TIBCO EMS Multicast - Features
TIBCO EMS is a distributed and reliable architecture, with support for load-balancing,
routing, and fault tolerant configurations that together remove single points of failure.

Features
By using TIBCO's messaging solution, companies have been able to reliably support over
50,000 messages per second and achieve 99.999% uptime.

A distributed message bus with multi-protocol support for Java Message Service (JMS),
TIBCO Rendezvous®, and TIBCO SmartSockets. TIBCO supports many of the leading
open standards, including web services, and provides adapters for third-party applications
and infrastructure including IBM MQSeries. This makes it possible for companies to
reuse their existing investments and focus on delivering new functionality Built-in
monitoring and management capabilities that provide detailed administrative functions
and statistics and support automation through an administrative API or command-line
shell. Companies can also leverage TIBCO's common monitoring and management
framework for top-down, end-to-end distributed monitoring and management of TIBCO
and non-TIBCO products

Multicast – Features
Multicast is a messaging model that allows the EMS server to send messages to multiple
consumers simultaneously by broadcasting them over an existing network.

Features
Multicast is highly scalable
Multicast reduces the amount of bandwidth consumed
Multicast reduces the number of operations performed by the server
Multicast broadcasts the message only once where as in case of publish and subscriber
for each of theconsumer a copy of the message is getting published

Facts
Multicast does not guarantee message delivery
Messages requiring a high degree of reliability should not use multicast
Multicast offers last-hop delivery only; it cannot be used to send messages between
servers.
Multicast should not be used in applications where security is a priority

Fault-Tolerance setup-A(Which deals with configuration of the files for fault tolerance)
Note:The Ems data store should be in SAN or NAS,in actual Production Environment..so
that the datastore is accessible by both primary and back up server

SAN-Storage Area Network


NAS-Network Area storage
But for our case we would use just operating system file system (shared by both primary
and Backup server)

Fault Tolerance configuration setup


Parameters will be in Bold and Inclined for easy identification

Configuring Primary server


open the c:\tibco\ems\bin\tibemsd.conf (This file is called Ems configuration file)

Server=EMS-SERVER-RAMU(This value is upto your choice)


Listen=tcp://7222(This value is upto uour choice)
Ft_active=tcp://7444(This value is upto your choice)

Configuring Backup server


Create a folder called Backup in that please copy all the *.conf files(only configuration
files) from c:\tibco\ems\bin\ and place it in c:\tibco\ems\bin\Backup\

Note:From now we will work in the Backup Folder, open tibemsd.conf file in the folder

Server=EMS-SERVER-RAMU(This value must match the value of the server parameter


in primary server's tibemsd.conf file)
Listen=tcp://7444(This value must match the value in Ft_active paramter in primary
server's tibemsd.conf file)
Ft_active=tcp://7222(This value must match the value in Listen parameter in primary
server's tibemsd.conf file)
store=c:\tibco\ems\bin\datastore(This value must match the value in store parameter in
primary server's tibemsd.conf file,note that the value in primary server's tibemsd.conf file
is just datastore)

Prepend this path to c:\tibco\ems\bin\Backup\ below list in the backup sever tibemsd.conf

users=c:\tibco\ems\bin\Backup\users.conf
groups=c:\tibco\ems\bin\Backup\groups.conf
topics=c:\tibco\ems\bin\Backup\topics.conf
queues=c:\tibco\ems\bin\Backup\queues.conf
acl_list=c:\tibco\ems\bin\Backup\acl.conf
factories=c:\tibco\ems\bin\Backup\factories.conf
routes=c:\tibco\ems\bin\Backup\routes.conf
bridges=c:\tibco\ems\bin\Backup\bridges.conf
transports=c:\tibco\ems\bin\Backup\transports.conf
tibrvcm=c:\tibco\ems\bin\Backup\queues.conf
durables=c:\tibco\ems\bin\Backup\durables.conf

If you observe the tibemsd.conf file in primary server and compare the tibemsd.conf file
in Backup server
The values for some parameters in primary tibemsd.conf file is jfor example
"users=users.conf" where as in backup server tibemsd.conf file we give
"users=c:\tibco\ems\bin\Backup\users.conf".The reason why because while installing the
Ems server ,it sets these values and it knows where to look for the path , so thats the
reason why the full path is not mentioned for various parameters in tibemsd.conf for
primary server

Fault-Tolerance Setup-B(which deals with starting primary and back up server--which


will be in standby mode)
This post is continuation of Fault Tolerance Setup-A

Go to All programs>Run>type cmd


You will get a command prompt window
Type command: cd c:\tibco\ems\bin
Now you will be inside bin directory
Start Primary Server
Type command: tibemsd (This is a application )

Start Backup Server


Open another command prompt
Navigate to the directory by entering the below command
cd c:\tibco\ems\bin
Give the following command
tibemsd -config Backup\tibemsd.conf (This is not done in primary but you are doing in
back up server , since Primary server tibemsd.conf file is in same directory as tibemsd
application)
In the backup sever command prompt you can see that it is in standby mode for primary
(tcp://7222)
Posted by Arun at 1:10 AM 0 comments
Labels: TIBCO EMS FAQ'S

TIBCO RV FAQ'S

RV
What is Rendezvous

It is a framework/mechanism to integrate different applications running on distributed network on


heterogeneous platforms.

What Rendezvous does?


This is Proprietary to TIBCO, and all TIBCO applications like Admin, Hawk, BW and other apps
will communicate using Rendezvous, which is using Network UDP protocol. When a machine is
being added to TIBCO domain, it creates two RVD files, one will be used to do the services
(deploy,manage) etc and another will be used to get the status.

Domain and machine are communicating to each other using RVD, most of the cases end
machines in domain are being part of same subnet, what if a machine is being part of different
subnets? there are two solutions.
1. Multi casting
2. RVRD

Explain Transport

It is software mechanism for sending and delivering messages.

protocol used by rv.

UDP(Universal Datagram Protocal)

What is difference between synchronous and asynchronous communication

Synchronous communication is time driven and asynchronous is event driven. Synchronous


communication expects reply or acknowledgement back and in asynchronous communication doesn’t
expect any results of its communication right away. In messaging perspective request/reply messaging is
synchronous communication and publish/subscribe is asynchronous communication.

What is the functionality of RV daemon

It’s a background process; RV enabled programs (programs which use RV api) depend on rvd for
reliable and efficient network communication.

The rvd completes the pathway between rendezvous program processes across the network. It
sends information into the network receives information from the network and filters subject
addressed messages.

What are the various parameters in Network component and what do each one indicate

Service, Network and Daemon

Service parameter instructs the rvd to use UDP or PGM services whenever it conveys messages
on this transport. Network parameter instructs the rvd to use a particular network for
communication.

Daemon parameter indicates to which rvd the program has to connect

Explain Certified messaging – registration process steps and confirmation Process

Certified messaging offers greater certainty of delivery.-even when the processes and their
network connections are unstable.
REGISTRATION.DISCOVERY RESGISTRATION.REQUEST REGISTRATION.CERTIFIED
Certified delivery agreement) DELIVERY.CONFIRMED DELIVERY.COMPLETE

Difference between Reliable delivery and Certified delivery?

Reliable Delivery:

Ledger: None

Time Limit: Contains outbound messages for 60 seconds

Network Traffic: Minimal

File Storage: No file storage

Certified Delivery:

Ledger: The certified delivery library records outbound messages in a ledger,


either within the program process storage, or in file storage.

Time Limit: The certified delivery library retains outbound messages in the
ledger until either delivery complete or the time limit (set by the program)
expires.

Network Traffic: Additional network overhead to confirm delivery of each


certified message.
File Storage: Optional file-based ledgers consume file storage for each
message until delivery is complete

(or the time limit expires).

Explain Load balancing in Rendezvous, What are the various parameters

In a producer/subscriber scenario when producer is send messages faster than subscriber can
consume, messages will be queued up with consumer and may be lost. To address this situation
we can balance the load of the consumer by clones of the consumer program and balancing the
load among the consumer instances. This is load balancing.Programs use distributed queues for
certified delivery to a group of servers, in order to balance the load among the servers. Parameters
Scheduler weight Heartbeat Interval Scheduler Activation Interval

Explain fault tolerance in Rendezvous

Fault Tolerance in a network environment is characterized by rapid recovery from failures such as process
termination, hardware failure and network disconnect. Rendezvous provides a mechanism to achieve the
fault tolerance among the RV processes.

What is ledger file used in RV for?


CM Transport keeps Ledger file to record information about every unresolved outbound certified
message.

How can U establish point-point communication in RV?

Can be established using RPTP protocol over a UDP channel

What will happen when limit of a queue exceeds(how the event objects will be removed
from a Queue)?

Sends an advisory QUEUE.LIMIT_EXCEEDED

Queue dispatch calls remove the event objects at the head of a queue, and run its callback
function.

Callback function is a program code which responds to events-processing inbound messages.

What are the limit policies of a Queue in RV?

Discard none, discard first, discard last, discard new.

What is the advisory message thrown by RV when the maximum limit of a queue exceeds?

QUEUE.LIMIT_EXCEEDED

Is message loss possible in RV? When is it possible?

Yes, in slow consume and fast producer scenario message lost will be possible.

How many types of advisory messages are there in RV

System Advisory, RVCM Advisory, Fault- tolerance Advisory.

How to handle slow consumers when publisher is publishing rapidly?

Scenario: A producer is producing messages at 100/min and consumer able to process only
at the rate of 50/min, what is going to happen to other 50 messages? (Underlying
communication is RV reliable)

Use a dispatcher - increase process instances to avoid overflow. Implement load balancing

How can u implement security in RV?

Using SSL Protocol. Can be attained at 3 layers –between rvd and services, in rvd, and between
rvrd.

What are the scheduler parameters in DQ?

Weight, Heart beat interval, Activation Interval.


If rvd is down and a program has to send a message, how it sends

Creating a transport object in the program invokes new rvd process.

What is the difference between JMS messaging and RV messaging?

RV messaging is a de-centralizing messaging/JMS centralized messaging

Explain rv messaging, how does it work?

RV messaging provides creating messages in a universal format assign a subject name to the
message and publish the message on to the network. Messages will travel over the network and
reaches all the nodes in the network. RV provides RV enables subscribers to capture the message
of interest and process it.

Explain how do you set up RVCMDQ? And how does it work?

A producer is producing messages at 100/min and consumer able to process only at the rate of
50/min, what is going to happen to other 50 messages? (Underlying communication is RV
reliable)
hint ans: slow response advisory is thrown, oldest messages discarded depending on the
destination settings.

A process group is on RVCMDQ, can that be made both load-balanced and fault-tolerant?
Hint: no, they are mutually exclusive semantics.

What is the main problem/issue with load balancing as in RVCMDQ? What are possible
Scenarios. when this occurs?
Duplication occurs/non-completion of assigned task

1. if the worker is slow, scheduler might re-assign the task to another worker resulting in
duplication.

2. Scheduler fails and the new scheduler reassigns incomplete tasks, resulting in duplication.

Also non-completion of tasks can occur if a worker has complete time=0 and has accepted the
task never to return.

What is RVRD for? How do we configure and use it?


RVRD is for routing messages published on a subject to machines on another subnet. There has to be one
RVRD for each subnet, and an RVRD pair installed one on each subnet.

How do you do load balancing for ADB adapters?

Use RVCMDQ to run more than one instance of an adapter. Also you can specify batch processing of
records (batch commit, instead of committing each record individually). Also you can increase thread count
(but that going to help only if you increase it from 4-8)
Situations were we use CM?

a) producer needs compulsory ack of the message.

b) consumer cannot compromise on loosing messages.

Situations were we can not use CM?

high data rate b’cos CM occupies most of the band width.

What is rvcache?

The program rvcache stores data from recent messages, indexed by subject name, and automatically sends
the cached Data to new listeners. Data stored in rvcache never expires. It remains in the cache until
superseded or augmented by data from a new message on the same subject.rvcache stores the data in
program memory and in a disk file.

What is rvtransaction?

When a group of messages are sent, even if one message is not delivered, all the messages are rolled back.

RVTX support is deprecated from AE 5.1.

How would you know that a publisher and a subscriber are in cm mode?

Subscriber will be pre-registered with the publisher in a cm mode.

Configuring TIBCO RVRD

RVRD Configuration
Needed only when running primary and secondary administrators across
separate subnets. We need to establish 2 RVRD connections for both HAWK
and Rendezvous (Infra). So these steps will need to be performed for each.
The standard is to name for router - or -
Example:
C:\tibco\tibrv\bin>rvrd -listen tcp:17474 -logfile rvrd_17474.log -store
rvrd_17474.cfg
1. Obtain https and https port
Must view logfile to obtain both https and http port - search for “Http
interface” to get the port.
Look in rvrd_NNN.log (where NNN is rendezvous port number - i.e.
rvrd_17474.log )
For ex:
Http interface - http://dev1234:57265/
Https interface - https://dev1234:57266/
Must view logfile to obtain HAWK and REPOSITORY ports Look in rvrd_NNN.log

(where NN is HAWK port number - i.e rvrd_17474.log)


Note: look at last time rvrd started, so usually at or near bottom of logfile
2. Create Connection
Using a browser, open up “http://dev1234:57265” http port from logifle <>:

Choose Router
A. Rendezvous
Router name: -
-<18300>
B. Hawk
Router name: -
-<18374>
Click: Add Router

Local Network
A. Rendezvous
Name: (18300)
Service: (18300)
B. Hawk
Name: <> (18374)
Service: (18374)
Click: Add Local Network Interface

Add subjects:
A. Rendezvous
Click: Local Network Name
Subject: Enter Each Subject in Exact order as Primary server
Click: Import/Export

Subject Names are


1. _RVFT.>
2. _RVCM.>
3. _RVCMQ.>
4. _com.tibco.repo.>
5. _FT.>
6. com.tibco.pof.>
7. com.tibco.pof

Neighbor
Click: Neighbor

Local Endpoint
A. Rendezvous
Host:
Port:

B. Hawk
Host:
Port:
Remote Endpoint
A. Rendezvous
Host: (host you are connecting to)
Port:
Router Name: -
A. Hawk
Host: (host you are connecting to)
Port:
Router Name: -
Click: Add Neighbor Interface
All the details should be populated on this screen.

Daemon Parameters
Create user id and password

Connected Neighbors
Check all connected neighbours for appropriate servers, the following
information should be corrected for neighbours.

Note: Here the subject name should be com.tibco.repo.> instead of


_com.tibco.repo.>
For Hawk (which xxx74) port, please do make sure you are using subject
names as "_HAWK.>"

RV transport parameters

Daemon: Daemon is a back end running program infinitely. It is like a Gateway in RV. It tells
the program where the RVD is running. It uses 'TCP' protocol and uses tcp:25 (port no.) by
default. This needs ip address and port no..
tcp: ip address:port no.
Service: Service tells you through which port the RVD should broadcast the message.

Network: It has 3 parameters. Multicast, Broadcast and Sender address. These should be
separated by a Semi-colon.

Posted by Arun at 1:07 AM 0 comments


Labels: TIBCO RV FAQ'S

TIBCO FAQ'S

TIBCO Fundamentals
1) What is TIBCO?

TIBCO makes “Integration Server” software for enterprises. An “Integration Server”


allows a company to mix packaged applications, custom software, and legacy
software for use across internal and external networks. TIBCO's patented
approach is called Information Bus (TIB)

2) What are the modes of TIBCO BW Installations ?

GUI mode

Console mode

Silent mode
3) What are the Major TIBCO Products?
• TIBCO ActiveMatrix BusinessWorks (UI Design, SOA, BI)
• TIBCO iProcess (BPM)
• TIBCO PortalBuilder (BO)
• TIBCO BusinessConnect (BI)
• TIBCO BusinessEvents (BB)
• TIBCO HAWK (BB)
• TIBCO EMS (BB)
• TIBCO Rendezvous (BB)
4) What are the TIBCO tools required to design, test, deploy and messaging?
• TRA (Platform)
• TIBCO BusinessWorks & TIBCO Designer (Design & Test)
• TIBCO Administrator (Deploy)
• TIBCO EMS & RVD (Messaging)
• TIBCO HAWK (Monitoring)
5) What is the role of TRA?

TRA stands for TIBCO Runtime Agent and it runs in the background on each
machine.

The TRA has two main functions:


1. The TRA agent is responsible for starting and stopping processes that run
on a Machine according to the deployment information.
2. Supplies the run-time environment, that is, all shared libraries including
third-party libraries.
6) What are the tools provided by TRA Installation?
• TIBCO Rendezvous
• TIBCO HAWK
• TIBCO Runtime Agent
• TIBCO Designer
• Java Runtime Environment
• Third Party core Libraries
7) What are the 4 main panels of the Designer window?
1. Project panel
2. Palette panel
3. Design panel
4. Configuration panel
8) What is the bare minimum required to use TIBOC Business Works
• TRA
• BusinessWorks
9) What are steps to design & test a process?
1. Create a new Process by selecting “Process Definition” from the Process
Palette
2. Design the Process by configuring the required activities between the “Start”
activity and “Stop” activity
3. To test the Process, switch to the “Tester” panel. Then click the (>) button or
press ‘F9’ to load the test process
10) What are the steps to build an .ear file using TIBCO Designer?
1. Select the “Enterprise Archive” activity from “General” Palette and configure
the “Name” & “File Loacation”
2. Inside the “Enterprise Archive” activity and the “Process Archive” activity
from the “Process” Palette.
3. Add the self starting process / services to the “Process Archive”
4. Click on “Build Archive” button in the “Configuration” tab in the “Enterprise
Archive” activity to build the EAR file
11) What are the steps to build an .ear file (TestAPP) and deploy it from
“Command Prompt”?
1. Build the ear file using “buildear” utility
buildear -s -ear /TestAPP.archive -o c:\ ..\deployment\TestAPP.ear -p c:\
..\projects\TestAPP
2. Create the deployment configuration file using “AppManage” utility
AppManage -export -ear c:\ ..\deployment\TestAPP.ear –out c:\ ..
\deployments\TestAPP.xml
3. Edit the deployment configuration XML file using a text editor
4. Deploy the application using “AppManage” utility
AppManage -deploy -ear c:\ .. \deployment\TestAPP.ear -deployconfig
c:\ .. \deployment\TestAPP_Admin.xml -app TestAPP -domain Admin -user
admin -pw admin
12) What are the steps to deploy an application using the Administrator GUI?
1. Start the TIBCO Administrator (tibcoadmin_domain-name.exe) & the
TIBCO HAWK (hawkagent_domain-name.exe) agent from the command
prompt or the windows services.
2. Start the Administrator GUI in a web browser (http://host-name:port) and
enter the UID & PWD for the domain.
3. In the left Panel under the “Application Management” module select “All
Application”.
4. In the right Panel, click on “New Application” and select the EAR File and
click “OK” button.
5. Under “Services” Check the “Deploy on Save” option and then click on
“Save” button to deploy the application

13) What are the steps to create a Master Domain using Domain Utility on the
host machine?
1. Select “Domain Configuration” under “Category” List
2. Select “Create a New Administration Domain” under “Task” list and click on
“Next”
3. Under “Domain Details”, input the “Administration Domain” & “HAWK
Cluster”
4. Uncheck “Domain information is stored in a Database” and “Local
Application data” options
5. Check the “Show Advanced” option
6. Set the “RV Daemon” and “RV Service” and make sure they are the same
ports
7. Similarly set the “HAWK Daemon” and “HAWK Service” and click on next
8. Set the “HTTP Port” and click and next
9. Set the UID & PWD for the Domain and click on “Finish”
14) What are the functions of an Administrator?
• User Management
• Machine Management
• Application Management
• Repository Management
15) What are the uses of grouping activities?

Repeat a group of activities based on a condition.


• Iterate over a list.
• Repeat until condition true.
• Repeat on Error until condition true.
11 What is the scope of user defined process variables?

The scope of user defined process variables is only within the process in which it
is defined. It does not even extend to a sub process that is invoked from the
current process.
16) What are the reusable components in a project?
• Sub process
• WSDL Resource
• HTTP Connection
• JDBC Connection
• Schema Definition
17) What are the various types of variables available within activities?
• Process Variable
• Local Variable
• Global Variable
• Error Variable
• Shared Variable
18) What are the monitoring tools available in TIBCO?
• TIBCO HAWK
• TIBCO Business Events
19) What are the messaging tools available in TIBCO?
• TIBCO EMS
• TIBCO Rendezvous
File, JDBC, XML Palette
20) What activities are required to Create, Copy & Delete a File?

“Create File” Activity - 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.

“Copy File” Activity - The Copy File activity allows you to copy files and directories
to a new location.

“Remove File” Activity - The Remove File activity removes the specified file. This
activity can also remove empty directories. If a directory that is not empty is
specified, an exception is thrown.
21) What activities are required to Read, Write & Rename Files?

“Read File” Activity - The Read File activity is used to read a file and place its
contents into the activity’s output.

“Write File” Activity - The Write File activity writes content to the specified file.

“Rename File” activity - The Rename File activity is used to rename or move files.
This activity can also rename directories, but you cannot use this activity to move a
directory to a new location.
22) What is the use of “Data Format” Activity?

The Data Format resource contains the specification for parsing or rendering a text
string using the Parse Data and Render Data activities. This shared configuration
resource specifies the type of formatting for the text (delimited columns or fixed-
width columns), the column separator for delimited columns, the line separator,
and the fill character and field offsets for fixed-width columns. You must also
specify the data schema to use for parsing or rendering the text.
23) What are the two types of Data Format supported by TIBCO?
• Delimiter separated
• Fixed format
24) What is the use of “Field Offsets” in the Data Format Activity?

When processing “Fixed Format” text, you must specify the line length and the
column offsets. This allows a Parse Data or Render Data activity to determine
where columns and lines begin and end. The Field Offsets tab allows you to
specify the format of fixed-width text.
25) What is the “Parse File” & “Render File” Activity?

“Parse File” Activity – The Parse Data activity takes a text string or input from a file
and processes it, turning it into a schema tree based on the specified Data Format
shared configuration.

“Render File” Activity – The Render Data activity takes an instance of a data
schema and renders it as a text string. The schema processed is based on a
specified Data Format shared configuration.
26) What is the “File Poller” Activity?

The File Poller process starter polls for files or directories with the given name and
starts a process when the specified change (creation, modification, deletion) is
detected.
27) What is the “Wait For Change” Activity used for?

The Wait for File Change activity waits for a file creation, modification, or deletion
event to occur during process execution. When this activity is executed, the
process instance suspends and waits for the specified change to occur before
resuming.
28) Which Activity is used to create a Database table?

SQL Direct
29) Which Activities are used to execute a stored procedure or a statement?

“JDBC Call Procedure” is used to execute a stored procedure.

“SQL Direct” is used to execute a database statement ( Create, Alter, Delete etc.)
30) Which activity is used to establish a connection to a database ?

JDBC Connection
31) What are the steps need to establish a database connection?
1. Add “JDBC Connection” from the JDBC Palette to the project
2. Set the “Connection Type” to JDBC
3. Select the “JDBC Driver” form the Drop Down List Box (ex: Oracle)
4. In the “Database URL”, set the “host-name”, “port-number” and “database-
name”
5. Set the Username & Password for the database
6. Test the connection
32) How do you add or retrieve a record form a database?

“JDBC Query” is used to execute select statement to retrieve records from a


database

“JDBC Update” is used to add records to a database via insert statement


33) What is the use of “Fetch” in the “JDBC Query” Activity?

The Fetch button on the “JDBC Query” activity allows you to synchronize the
activity with the contents of the database. If you do not click the Fetch button
before applying your changes, TIBCO ActiveMatrix BusinessWorks displays an
error dialog prompting you to first fetch the output schema.
34) Can we use JNDI to connect to a database instead of JDBC?

We can used the “JDBC Connection” Activity to use the JNDI Context (in the
“Connection Type” Dropdown box) instead of a JDBC Connect to establish a
database connection
35) Which activity is used to create a XML Schema?

“Schema” form the “XML Tools” palette is used to define the XML Schema
36) What is XML Element & Attribute?

XML Elements XML Elements contain the opening and closing tags, child
elements, and data.

(Ex:

Robert

A+

XML Attribute

An attribute appears within the opening tag of an element. XML requires that all
XML attributes have a value. This means all attributes have to be equal to
something! In the following example active="true" is the attribute.

(Ex:

Robert

A+

)
37) What is the use of “Transform XML” Activity?

The Transform XML activity allows you to transform an input XML document into
the output specified by the given XSLT File shared configuration resource.
Normally, transformation of data occurs by mapping process variables to an
activity’s input and applying XPath expressions to perform any transformation. If
you have an XSLT file that you are using for transformations, or if an outside
source supplies an XSLT file, this activity allows you to use the XSLT file instead
of manually creating the mappings.
38) What is Parse XML activity?

The Parse XML activity takes a binary XML file or an XML string and processes it,
turning it into an XML schema tree based on the XSD or DTD specified. The
preferred way to parse XML files is to use a Read File activity set to binary mode
to read the XML file. Then pass the binary file contents to the Parse XML activity.
39) What is Render XML Activity?

The Render XML activity takes an instance of an XML schema element and
renders it as a stream of bytes containing XML or an XML string. The schema is
processed based on the XSD file specified.
WSDL, SOAP, Service, HTTP Palette
40) What is WSDL?

WSDL stands for Web Services Description Language. A WSDL file is an XML
instance of the XML Schema. A WSDL resource is composed of a series of
definitions that describe the format and roles of messages used in web services.
41) What is the use of WSDL Palette?

The WSDL palette is used for creating, editing, validating, importing, and viewing
WSDL files. These files are shared resources that describe web services. The
WSDL palette’s resources are used to create and reuse abstract definitions,
namely:
• Messages, which describe the data being exchanged
• PortTypes, which define a set of operations
• Operations, which describe the activities supported by the web service
42) What are the two types of WSDL required to create a Web Service?
• Abstract WSDL (Describes Structure & Elements)
• Concrete WSDL (Abstract WSDL with Transport)
43) What are the basic components of a WSDL?
• Message (Contains the request and response of a web service)
• PortType (Logical Folder to organize the web service resources)
• Operation (Services offered by the web service)
44) What are the steps to create an Abstract WSDL?
1. Select WSDL activity from the WSDL palatte
2. Describe the required Messages for the WSDL and the schema mapping for
the Messages
3. Create the Logical Port by adding the “PortType” Activity to the WSDL
4. Add the required “Operations” to the “PortType” Activity.
5. Design the Operation offered by the web service.
45) What are the steps to create a Concrete WSDL?
1. Create the Abstract WSDL
2. Get the XML WSDL from either “SOAP Event Source” or the “Service
WSDL” and save it in a *.wsdl file
3. Import the saved concrete WSDL file into the project
46) What are the two ways to create a web service?
SOAP Event Source

Service Palette
47) What is the advantage of using the Service Palette over the SOAP Event
Source?

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
48) What are the steps to create a web service using “SOAP EventSource”?
1. Define XSD
2. Define the HTTP / JMS Connection
3. Create Abstract WSDL from the XSD
4. Define the Process for the web service and replace “Start” Activity with the
“SOAP Event Source” Activity from the SOAP Palette
5. Set the “Port Type” to Abstract WSDL and the Transport to HTTP / JMS
Connection for the “SOAP Event Source”
6. Copy the XML WSDL form the “SOAP Event Source” to create the Concrete
WSDL
7. Complete the design for the web service process
8. Create a Client Process and invoke the web service using the “SOAP
Request Reply” Activty.
9. Set the “Service” Of the “SOAP Request Reply” to point to the Concrete
WSDL.
49) What are the steps to create a web service using Service Palette?
1. Define XSD
2. Define the HTTP / JMS Connection
3. Create Abstract WSDL from the XSD
4. Right Click the Abstract WSDL and select “Tools or Multi-User” > “Generate
Web Service” > “From WSDL”
5. Select the Transport
6. Generate the Concrete WSDL from the “WSDL Source” of the Service
WSDL
7. Define the Logical Operation
8. Create a Client Process and invoke the web service using the “SOAP
Request Reply” Activty.
9. Set the “Service” Of the “SOAP Request Reply” to point to the Concrete
WSDL

50) What is the “Operation” activity in the WSDL Palette used for?

The Operation component describes the message formats for the incoming and
outgoing messages required by the activities supported by the portType. One or
more Operation components can be added to a PortType component selected in
your project.
51) What is the “Retrieve Resource” Activity used for?

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.
52) What is the “SOAP Event Source” Activity used For?

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.
53) What is the “SOAP Send Reply” activity used for?

The SOAP Send Reply activity sends a reply to an application that sent a SOAP
request. This activity is primarily used in process definitions that implement web
services. When a SOAP Event Source is used as the process starter, the SOAP
Send Reply activity is used to send the reply to the request that starts the process
instance.
54) What is SOAP Fault?

The SOAP Fault element is used to carry error and/or status information within a
SOAP message.
55) What is the difference between "SOAP over JMS" and "SOAP over 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.
56) What is the “Context Resource” used for?

The “Context Resource” allows you to specify a schema to hold context data from
an incoming request or outgoing replies to a service. This allows you to pass on
data, such as the username and password sent by the requesting application.
Also, you can pass data from the process that implements an operation back to
the Service for any outgoing reply message. The Context Resource can also be
used to store SOAP headers or message attachments.
57) What is the “Get Context” activity used for?

The Get Context activity retrieves the value of the specified “Context Resource”.
This is useful if your process definition requires some context information from an
incoming request (Like Username & Password etc.).
Messaging
58) What are the Messaging Tools Provided by TIBCO?
• EMS
• Rendezvous
59) What is the difference between EMS & RVD?

EMS
• Uses TCP
• Functions within the IP Layer
• Can be used within the Intranet and the Internet
• Slower than RVD

RVD
• Uses UDP
• Functions within the Network Layer
• Considerably Faster than EMS
• Can be used only within the Intranet (LAN)
60) What are the Messaging Modes?
• P2P (Queue)
• Pub / Sub (Topic)
61) What are the two types of Delivery Modes in Messaging?
• Synchronized
• Asynchronized
62) What are the Services provided by Messaging?
• Reliable (At Least Once)
• Guaranteed (At Most Once)
• Transactional (Only Once)
63) What are files used by TIBCO to maintain the Connection details?

Meta.db (Connection Details)


Async.db (Fire & Forget Messages)

Sync.db (Acknowledge Back Messages)


64) What are the configuration files used by TIBCO EMS?

Tibemsd.conf

Queue.conf

Topic.conf
65) What is the maximum size and maximum number of message possible using
TIBCO EMS?

Maximum Message Size = 512MB [ Both Topic & Queue ]

Maximum No. Of Messages = 3600 messages / second


66) What is the Maximum Retransmission Time?

Maximum Retransmission Time = 60 seconds


67) What are the delivery modes supported by EMS server?
• Persistent
• Non-persistent
• Reliable
68) What are the message types supported by EMS?
• Text
• XML
• Bytes
• Stream
• Simple
• Object
• ObjectRef
• Map
69) What are the different types of Queues?
• Static Queue
• Dynamic Queue
• Temp Queue
• System Queue
70) What are the permissions that you can grant to users to access queues?
• Receive
• Send
• Browse
71) What are the permissions that you can grant to users to access topics?
• Subscribe
• Publish
• Durable
• Use_durable
72) How do you remove individual messages from destinations?

Using purge command, you can delete messages from queues and topics.
73) What is the use of “Durable” option?

Durable option enables persistence for EMS messages by creating Local Inboxes
at the receiver end. The Message will exist as a reference till it is consumed by the
corresponding receivers.
74) What is JMS queue requestor?

The JMS Queue Requestor activity is used to send a request to a JMS queue
name and receive a response back from the JMS client
75) What is JMS topic requestor?

The JMS Topic Requestor activity is used to communicate with a JMS


application’s request-response service. This service invokes an operation with
input and output. The request is sent to a JMS topic and the JMS application
returns the response to the request.
76) What is the difference between Queues and Topics?

Queue
• Guaranteed Service
• Only the Target gets the message (One message per Consumer)
• Uses Peer-to-Peer Mode to deliver messages
• Blocking
• Load Balancing is possible

Topic
• Reliable Service
• Everyone active gets the message (One message may Consumers)
• Uses Pub / Sub mode to deliver messages
• Non-Blocking
• Load Balancing is not Possible
77) What is the use of secured queues and topics?

Setting ‘secure’ property to queues/topics can restrict unauthorized users from


publishing/sending and subscribing/receiving the messages.
78) What is Load Balancing?

Load Balancing is a technique to distribute workload evenly across two or more


machines or resources, in order to get optimal resource utilization, maximize
throughput, minimize response time, and avoid overload. Using multiple Receivers
with load balancing, instead of a single Receiver, may increase reliability through
redundancy.
79) How is Load Balancing implemented on both Queue & Topic?

Topic : Load Balancing is only possible on Queues

Queue : Load Balancing is implemented on the receivers end. Since Load


Balancing not possible on the sender side.
80) What is “Certified Messaging”?

Rendezvous (RV) uses 'UDP'. Therefore each message is sent as a packet with a
sequence number and a subject attached. So, RV is also called as "Subject
Based Messaging". Rendezvous Daemon (RVD) converts the message into
packets and publish to the network. At the receiver end, RVD again converts the
packets to the message and sends it to the receiver. This message is stored only
for 60 seconds in the RVD before the message is lost. To avoid this, RV
introduced a concept called

'Certified Messaging(CM)'. RVCM uses Ledger to save the messages. The


sender stores all outbound messages of the registered receivers which have an
agreement in the ledger unless the sender receives an acknowledgement from the
receiver.
81) What is the difference between RVD and RVRD?
RVD is Used for local subnet communication.
RVRD is Used for Remote communication.
82) What are the steps to perform Server Side Load Balancing on the local
machine?
1. Make a duplicate copy of the “cfgmgmt” Folder and rename it to “cfgmgmt2”
2. Make sure that the Server Name is same in the “tibemsd.conf” file in both
the folders.
3. Change the port number in the second folder’s “tibemsd.conf” file (listen =
tcp://xxxx)
4. Start both copies of the servers from the command prompt (ex: C:\ ..
\ems\5.1\bin\tibemsd –config “C:\ .. \cfgmgmt\ems\data\tibemsd.conf”)
5. In TIBCO Designer, modify the JMS Connection “Provide URL” to contain
both the servers ( ex: tcp://localhost:7222 | tcp://localhost:7223)
83) What is Fault Tolerance?

Fault Tolerance is the ability of a system to respond gracefully to an unexpected


hardware or software failure. Fault Tolerant systems mirror all operations, i.e.
every operation is performed on two or more duplicate systems, so if one fails the
other can take over.
84) What are the steps to setup Fault Tolerance servers on the local machine?
1. Make a duplicate copy of the “cfgmgmt” Folder and rename it to “cfgmgmt2”
2. Make sure that the “Server” Names and “Listen” ports are not the same in
the “tibemsd.conf” file in both the folders.
3. Change the port number in the “tibemsd.conf” file (i.e ft_active = “listen port
of the other server”) in both the “cfgmgmt” folders.
4. Start both copies of the servers from the command prompt (ex: C:\ ..
\ems\5.1\bin\tibemsd –config “C:\ .. \cfgmgmt\ems\data\tibemsd.conf”)
85) What is the use of Bridges?

Some applications require the same message to be sent to more than one
destination possibly of different types. So we use bridges.
86) What is the syntax to create Bridges without Message Selector?

create bridge source=queue:bridgequeue target=topic:bridgetopic


87) What is the syntax to delete a bridge?

delete bridge source=queue:bridgequeue target=topic:bridgetopic


88) What is the syntax to create Bridges with Message Selector?

create bridge source=queue:bridgequeue target=topic:bridge topic


selector="keyword"
89) What is the use of Bridges and Routes?
Both are used to channel messages from senders to receivers. Bridge act as
connector between two different queue and Routes act as connector between
different server for sending message and receiving acknowledgement of delivery.
90) What are the steps required to create a Route between two Servers?
1. Make a duplicate copy of the “cfgmgmt” Folder and rename it to “cfgmgmt2”
2. Make sure that the Server Name is NOT the same in the “tibemsd.conf” file
in both the folders.
3. Change the port number in the second folder’s “tibemsd.conf” file (listen =
tcp://xxxx)
4. Set the routing property to enabled in the “tibemsd.conf” files in both the
folders
5. open factories.conf under “cfgmgmt2” and change the settings for
GeneralConnectionFactory, QueueConnectionFactory and
TopicConnectionFactory URL to (tcp://xxxx)
6. Create Route on Server 1 (route “Server2-Name” url=tcp://localhost:xxxx)
7. Create global queue / topics on both servers as required
8. Start both copies of the servers from the command prompt (ex: C:\ ..
\ems\5.1\bin\tibemsd –config “C:\ .. \cfgmgmt\ems\data\tibemsd.conf”)
9. Test the route by using queue / topic in a BW Process
Adapters
91) What are Adapters?

Adapters are connectors to data sources to catch event changes. Once an


Adapter catches a event change, it publishes the message to a message box
using either EMS or RVD
92) What are the different types of adapters?
• Technical Adapters (File Adapter, DB Adapter)
• Functional Adapters (PeopleSoft Adapter, SAP R3 Adapter)
• Custom Adapters
93) What are the types of adapter services?
• Subscriber Service
• Publisher Service
• Request-Response Service
94) What are the 3 main configuration elements common for all Adapters?
• Design Time ( For BW Testing )
• Run Time ( For Admin Deployment )
• Service ( Pub / Sub, Request-Reply )
95) What is Publish by value and Publish by reference?

In Publish by Value, all the specified columns in the source table are copied into
the Publishing table.

In Publish by reference, only the specified key column values are copied to the
publishing table.
96) What is the difference between JDBC activities and ADB Adapter?
• ADB uses ODBC to connect, JDBC uses JDBC
• ADB is more suitable for instances where you have a lot of processing
• ADB is more suitable for instances where you want that a particular action on
a DB Table triggers a BW process.
• ADB adapter is best for publishing from database.
• For simple inserts and updates then ADB subscriber is best.
• In case of insert or update to database then check if you have complex JDBC
inserts, transaction management and other dynamic queries then JDBC
activities are best.
• JDBC is more suitable for running dynamic code where in runtime you can
execute statements with different values depending on process execution.
97) What are modes of operation for File Adapter in Record Mode?
• Synchronous mode upon receiving an event, the publication service will allow
other services in the instance only after it completes the processing and
publishing of all the files that match the specified criteria.
• In Asynchronous mode the publication service allows other services of the
instance to receive events while it is processing and publishing a file. By
default Subscription service always operates in Asynchronous mode.
98) What are supported SQL Operations in database adapters?

The database adapter supports the following SQL operations for publishing and
subscribing:
• INSERT
• UPDATE
• DELETE
• UPDATE/INSERT (update if row exists, otherwise insert)
99) What are the transport types supported by ADB adapters?
• Rendezvous
• JMS