Tibco.pdf

Embed Size (px)

Citation preview

  • 8/9/2019 Tibco.pdf

    1/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/

    Tibco

    110,240

    Thursday, September 30, 2010

    TIBCO Adapters FAQ'S

    ADAP TERS

    What are Adapters?

    Adapters are c onnectors to data sources to catch event c hanges. 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 c hannels.

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

    Activ eDatabase adapter instance, the palette fetches all pertinent t ables 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

    Search

    Search This Blog

    Join this site

    with Google Friend Connect

    Members (38) More

    Already a member? Sign in

    Followers

    2010(5)

    September(5)

    TIBCO Adapters FAQ'S

    TIBCO EMS FAQ'S

    TIBCO RV FAQ'S

    TIBCO FAQ'S

    TIBCO BW FAQ'S

    Blog Archive

    Arun

    View my complete profile

    About Me

    0 More Next Blog Create Blog Sign

    http://arun-tibco.blogspot.in/2010/09/tibco-adapters-faqs.htmlhttp://void%280%29/http://arun-tibco.blogspot.in/2010_09_01_archive.htmlhttp://arun-tibco.blogspot.in/2010/09/tibco-ems-faqs.htmlhttp://arun-tibco.blogspot.in/search?updated-min=2010-01-01T00:00:00-08:00&updated-max=2011-01-01T00:00:00-08:00&max-results=5http://www.blogger.com/profile/15919947594336620712http://arun-tibco.blogspot.in/2010/09/tibco-bw-faqs.htmlhttp://arun-tibco.blogspot.in/2010/09/tibco-faqs.htmlhttp://arun-tibco.blogspot.in/2010/09/tibco-rv-faqs.htmlhttp://arun-tibco.blogspot.in/2010/09/tibco-adapters-faqs.htmlhttp://www.blogger.com/profile/15919947594336620712http://void%280%29/http://arun-tibco.blogspot.in/2010/09/tibco-adapters-faqs.html
  • 8/9/2019 Tibco.pdf

    2/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 2

    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 t o

    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 s ervice recognizes when business events happen in a v endor

    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 s ubscription 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) andupdate 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 t o t he 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

  • 8/9/2019 Tibco.pdf

    3/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 3

    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.

  • 8/9/2019 Tibco.pdf

    4/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 4

    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 c onnectors 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 SQLServer 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

    Activ eDatabase 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

    Activ eEnterprise environment. It supports both text and binary files when it is transferring

    files between two or more TIBCO Adapter for Files installations.

  • 8/9/2019 Tibco.pdf

    5/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 5

    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

    Activ eEnterprise 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 P ublishing table contains the act ual 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_SU BJECT

    ADB_SE QUENC EADB_SE T_SEQUENC E

    ADB_TIME STAMP

    ADB_OPCODE

    ADB_UPDATE _ALL

    ADB_REF_OBJECT

    ADB_L_DELIVE RY_STATU S

    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 schemainstantiations. 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 inst ance/configuration can have multiple publication and subscription

  • 8/9/2019 Tibco.pdf

    6/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 6

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

  • 8/9/2019 Tibco.pdf

    7/32

  • 8/9/2019 Tibco.pdf

    8/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 8

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

  • 8/9/2019 Tibco.pdf

    9/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 9

    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 theapplicability of each mode?

    Ans:The acknowledge mode for incoming messages. Can be one of the f ollowing:

    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 t he specified queue.

    A queue s ender act ivity sends mess ages into the s pecified queue.

    What is the potential problem with JMS Queue requestor?

    Ans: When we specify a reply to queue t here is a c hance 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 applications

    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 t opics.

    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.

  • 8/9/2019 Tibco.pdf

    10/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 10

    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 usingmultiple 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 E MS can be achieved by implementing pair of servers c alled 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 doesnt 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 s pecify multiple URLS for t he 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 URLS for the same

    server so that even the primary in one location is down it can connect to the primary of

    another location.

    The URLS 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 t o be intimated of the f ailover.

    The backup reads the current state of the client from the shared storage

    And t hen connects to the c lient 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 consumingthe messages. How to control this situation.

    Ans: we can use flow control to address this situation. The target maximum si ze 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?

  • 8/9/2019 Tibco.pdf

    11/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 1

    Ans: Messages t hat w ould exceed t he 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 f or reducing the clients 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 s sl_server_identity. Optionally private key.

    What is the main config file in JMS?

    Ans: The main configuration f ile c ontrols the characteristics of the TI BCO 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 w hen 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 c onnected 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.

  • 8/9/2019 Tibco.pdf

    12/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 12

    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 cant either send /receive.

    Are bridges t ransitive?

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

  • 8/9/2019 Tibco.pdf

    13/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 13

    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 cant 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 dont 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 folders 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

  • 8/9/2019 Tibco.pdf

    14/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 14

    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 forsending 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 folders 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.

  • 8/9/2019 Tibco.pdf

    15/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 15

    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 tomyTopics 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 J ava Mess age 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 toreuse 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 consumedMulticast 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

  • 8/9/2019 Tibco.pdf

    16/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 16

    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.conffactories=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 forprimary 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

  • 8/9/2019 Tibco.pdf

    17/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 17

    Posted byArun at 1:10 AM 10 comment s: Links to this post

    Labels: TIBCO EMS FAQ'S

    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)

    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, BWand 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 doesnt 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

    Its 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

    http://www.blogger.com/email-post.g?blogID=2221328781086288342&postID=3721928801144998056http://www.blogger.com/comment.g?blogID=2221328781086288342&postID=3721928801144998056http://arun-tibco.blogspot.in/2010/09/tibco-rv-faqs.htmlhttp://arun-tibco.blogspot.in/search/label/TIBCO%20EMS%20FAQ%27Shttp://arun-tibco.blogspot.in/2010/09/tibco-ems-faqs.html#linkshttp://arun-tibco.blogspot.in/2010/09/tibco-ems-faqs.htmlhttp://www.blogger.com/profile/15919947594336620712
  • 8/9/2019 Tibco.pdf

    18/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 18

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

  • 8/9/2019 Tibco.pdf

    19/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 19

    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, inrvd, 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

  • 8/9/2019 Tibco.pdf

    20/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 20

    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 workerresulting 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 t o 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 bcos 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:

  • 8/9/2019 Tibco.pdf

    21/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 2

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

    -

    B. Hawk

    Router name: -

    -

    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

    http://dev1234:57265/https://dev1234:57266/
  • 8/9/2019 Tibco.pdf

    22/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 22

    Posted byArun at 1:07 AM 4 comment s: Links to this post

    Labels: TIBCO RV FAQ'S

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

    Network: It has 3 parameters. Multicast, Broadcast and Sender address. These

    should be separated by a Semi-colon.

    TIBCO FAQ'S

    TIBCO Fundamentals

    1) What is TIB CO?

    TIBCO makes Integration Server software for enterprises. An Integration Serverallows a company to mix packaged applications, custom software, and legacysoftware for use across internal and external networks. TIBCO's patented approach iscalled Information Bus (TIB)

    2) What are the modes of TIBCO BW Installations ?

    GUI mode

    Console mode

    Silent mode

    http://arun-tibco.blogspot.in/search/label/TIBCO%20RV%20FAQ%27Shttp://www.blogger.com/profile/15919947594336620712http://arun-tibco.blogspot.in/2010/09/tibco-faqs.htmlhttp://arun-tibco.blogspot.in/2010/09/tibco-rv-faqs.html#linkshttp://www.blogger.com/comment.g?blogID=2221328781086288342&postID=6587770355031116297http://arun-tibco.blogspot.in/2010/09/tibco-rv-faqs.htmlhttp://www.blogger.com/email-post.g?blogID=2221328781086288342&postID=6587770355031116297
  • 8/9/2019 Tibco.pdf

    23/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 23

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

    The TRA has two main functions:1.

    The TRA agent is responsible for starting and stopping processes that run ona 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 HAWKTIBCO Runtime AgentTIBCO DesignerJava Runtime EnvironmentThird Party core Libraries

    7) What are the 4 main panels of the Designer window?1.Project panel2.

    Palette panel3.Design panel4.Configuration panel

    8) What is the bare minimum required to use TIBOC Business Works

    TRABusinessWorks

    9) What are steps to design & test a process?1. Create a new Process by selecting Process Definition from the Process

    Palette2.

    Design the Process by configuring the required activities between the Startactivity and Stop activity

    3.To test the Process, switch to the Tester panel. Then click the (>) button orpress 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 Loacation2.

    Inside the Enterprise Archive activity and the Process Archive activity fromthe Process Palette.

    3.Add t he self starting process / services to the Process Archive4. Click on Build Archive button in the Configuration tab in the Enterprise

    Archive act ivity 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 utilitybuildear -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\TestAP P.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

  • 8/9/2019 Tibco.pdf

    24/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 24

    HAWK (hawkagent_domain-name.exe) agent from the command prompt orthe windows services.

    2.Start the Administrator GUI in a web browser (http://host-name:port) and enterthe UID & PWD for the domain.

    3. In the left Panel under the Application Management module select AllApplication.

    4. In the right Panel, click on New Application and select the EAR File andclick OK button.

    5.Under Services Check the Deploy on Save option and then click on Savebutton to deploy the application

    13) What are the steps to create a Master Domain using Domain Utility on the hostmachine?

    1.

    Select Domain Configuration under Category List2.Select Create a New Administration Domain under Task list and click on

    Next3.Under Domain Details, input the Administration Domain & HAWK Cluster4.

    Uncheck Domain information is stored in a Database and Local Applicationdata options

    5.Check the Show Advanced option6.Set the RV Daemon and RV Service and make sure they are the same

    ports7.Similarly set the HAWK Daemon and HAWK Service and click on next8.Set the HTTP Port and click and next9.Set the UID & PWD for the Domain and click on Finish

    14) What are the functions of an Administrator?

    User ManagementMachine ManagementApplication 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 isdefined. It does not even extend to a sub process that is invoked from the currentprocess.

    16) What are the reusable components in a project?

    Sub processWSDL ResourceHTTP ConnectionJDBC ConnectionSchema Definition

    17) What are the various types of variables available within activities?

    Process VariableLocal VariableGlobal VariableError VariableShared Variable

    18) What are the monitoring tools available in TIBCO?

    TIBCO HAWKTIBCO Business Events

    19) What are the messaging tools available in TIBCO?TIBCO EMSTIBCO 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 thespecified 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 toa new location.

    Remove File Activity - The Remove File activity removes the specified file. Thisactivity can also remove empty directories. If a directory that is not empty isspecified, an exception is thrown.

  • 8/9/2019 Tibco.pdf

    25/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 25

    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 itscontents into the activitys 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 adirectory 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 textstring using the Parse Data and Render Data activities. This shared configurationresource specifies the type of formatting for the text (delimited columns or fixed-widthcolumns), the column separator for delimited columns, the line separator, and the fillcharacter and field offsets for fixed-width columns. You must also specify the dataschema to use for parsing or rendering the text.

    23) What are the two types of Data Format supported by TIBCO?

    Delimiter separatedFixed 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 thecolumn offsets. This allows a Parse Data or Render Data activity to determine wherecolumns and lines begin and end. The Field Offsets tab allows you to specify theformat 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 fileand processes it, turning it into a schema tree based on the specified Data Formatshared configuration.

    Render File Activity The Render Data activity takes an instance of a data schemaand renders it as a text string. The schema processed is based on a specified DataFormat shared configuration.

    26) What is the File Poller Activity?

    The File Poller process starter polls for files or directories with the given name andstarts a process when the specified change (creation, modification, deletion) isdetected.

    27) What is the Wait For Change Activity used for?

    The Wait for File Change activity waits for a file creation, modification, or deletionevent to occur during process execution. When this activity is executed, the processinstance 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 JD BC Connection from the J DBC Palette to the project2.Set the Connection Type to JDBC3.

    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-

    name5.Set the Username & Password for the database6.

    Test the connection

    32) How do you add or retrieve a record form a database?

  • 8/9/2019 Tibco.pdf

    26/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 26

    JDBC Query is used to execute select statement to retrieve records from adatabase

    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 activitywith the contents of the database. If you do not click the Fetch button before applyingyour changes, TIBCO ActiveMatrix BusinessWorks displays an error dialog promptingyou 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 theConnection Type Dropdown box) instead of a JDBC Connect to establish adatabase 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 t hat 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 theoutput specified by the given XSLT File shared configuration resource. Normally,transformation of data occurs by mapping process variables to an activitys input andapplying XPath expressions to perform any transformation. If you have an XSLT filethat 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 themappings.

    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 preferredway to parse XML files is to use a Read File activity set to binary mode to read theXML 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 itas a stream of bytes containing XML or an XML string. The schema is processedbased on the XSD file specified.

    WSDL, SOAP, Service, HTTP Palette

    40) What is WSDL?

  • 8/9/2019 Tibco.pdf

    27/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 27

    WSDL stands for Web Services Description Language. A WSDL file is an XMLinstance of the XML Schema. A WSDL resource is composed of a series ofdefinitions 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 viewingWSDL files. These files are shared resources that describe web services. The WSDLpalettes resources are used to create and reuse abstract definitions, namely:

    Messages, which describe the data being exchangedPortTypes, which define a set of operationsOperations, 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 palatte2.Describe the required Messages for the WSDL and the schema mapping for

    the Messages3.Create the Logical Port by adding the PortType Activity to the WSDL4.

    Add t he required Operations to the PortType A ctivit y.5.Design the Operation offered by the web service.

    45) What are the steps to create a Concrete WSDL?1.Create the Abstract WSDL2.Get the XML WSDL from either SOAP Event Source or the Service WSDL

    and save it in a *.wsdl file3.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 EventSource?

    Using the SOAP Event Source, you can run only one operation at a time. While usingthe Service Palette you can run multiple operations simultaneously

    48) What are the steps to create a web service using SOAP EventSource?1.Define XSD2.Define the HTTP / JMS Connection3.

    Create Abstract WSDL from the XSD4.

    Define the Process for the web service and replace Start Activity with theSOAP Event Source Activity from the SOAP Palette

    5.Set the Port Type to Abstract WSDL and the Transport to HTTP / JMSConnection for the SOAP Event Source

    6.Copy the XML WSDL form the SOAP Event Source to create the ConcreteWSDL

    7.Complete the design for the web service process8.

    Create a Client Process and invoke the web service using the SOAPRequest Reply Activty.

    9.Set the Service Of the SOAP Request Reply to point to the ConcreteWSDL.

    49) What are the steps to create a web service using Service Palette?1.Define XSD2.

    Define the HTTP / JMS Connection3.Create Abstract WSDL from the XSD4.Right Click the Abstract WSDL and select Tools or Multi-User > Generate

    Web Service > From WSDL5.

    Select the Transport6.Generate the Concrete WSDL from the WSDL Source of the Service WSDL7.Define the Logical Operation8.

    Create a Client Process and invoke the web service using the SOAPRequest Reply Activty.

    9.Set the Service Of the SOAP Request Reply to point to the ConcreteWSDL

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

    The Operation component describes the message formats for the incoming andoutgoing messages required by the activities supported by the portType. One or more

  • 8/9/2019 Tibco.pdf

    28/32

    1/20/2015 Tibco

    http://arun-tibco.blogspot.in/ 28

    Operation components can be added to a PortType component selected in yourproject.

    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 Sourceprocess starter. This allows clients to access the WSDL for a web service. The clientcan then use the WSDL file to invoke the web service. The Retrieve Resourcesactivity 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 incomingSOAP requests. SOAP is a standard protocol for invoking web services. This allowsyou 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 SOAPrequest. This activity is primarily used in process definitions that implement webservices. When a SOAP Event Source is used as the process starter, the SOAPSend Reply activity is used to send the reply to the request that starts the processinstance.

    54) What is SOAP Fault?

    The SOAP Fault element is used to carry error and/or status information within aSOAP 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 asyou may use the persistence and acknowledgment features built in the standard. Thesame applies if you need to establish asynchronous communication or need to usethe load balancing features provided by JMS servers. You can achieve this using httpbut 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 anincoming 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, youcan pass data from the process that implements an operation back to the Service forany outgoing reply message. The Context Resource can also be used to store SOAPheaders or message attachments.

    57) What is the Get Context activity used for?

    The Get Context activity retrieves the value of the specified Context Resource. Thisis useful if your process definition requires some context information from anincoming request (Like Username & Password etc.).

    Messaging

    58) What are the Messaging Tools Provided by TIBCO?

    EMSRendezvous

    59) What is the difference between EMS & RVD?

    EMSUses TCPFunctions within the I