You are on page 1of 12

1.What are the modes of TIBCO BW Installations ?

GUI mode Console mode Silent mode

2.If you have installed a particular version of TIBCO software e.g. TIBCO BW X.Y.Z, What are X, Y and Z number stands for? Integration can be at different application layers: X:Patch Y:Major Z:Minor

3.What is the role of TRA? TRA stands for TIBCO Runtime Agent. The TRA has two main functions: Supplies an agent that is running in the background on each machine. 1. The agent is responsible for starting and stopping processes that run on a machine according to the deployment information. 2. The agent monitors the machine. That information is then visible via TIBCO Administrator. Supplies the run-time environment, that is, all shared libraries including third-party libraries.

4.What are the resources that gets included in the EAR file, created by the TIBCO Designer? An EAR file can contain local project resources, LibraryBuilder resources, and files as specified in AliasLibrary resources. In addition, the TIBCO Designer classpath may include references to other files that are included in the EAR file.

5.What are the revision control system options available in TIBCO designer? File sharing VSS Perforce XML Canon ClearCase iPlanet


6.What are the different modes of service invocation? Services can be invoked in several ways. A one-way operation is executed once and does not wait for a response. A request-response operation is executed once and waits for one response. In a request-response service, communication flows in both directions. The complete interaction consists of two point-to-point messagesa request and a response. The interaction is only considered complete after the response has arrived. Publication (notification) means an operation sends information on an as-needed basis, potentially multiple times. Subscription means incoming information is processed on an as-needed basis, potentially multiple times.

7.What is vcrepo.dat? TIBCO Designer creates a file named vcrepo.dat in the project root directory when you first save the project. This file is used to store properties such as display name, TIBCO Rendezvous encoding, and description. This file can be used for identification in place of the project root directory and can be used as the repository locator string (repoUrl). 8.What are the TIBCO BW activities that can participate in transactions? Not all TIBCO BusinessWorks activities can participate in a transaction. Only the following types of activities have transactional capabilities: JDBC activities JMS activities ActiveEnterprise Adapter activities that use JMS transports EJB activities TIBCO iProcess BusinessWorks Connector activities

9.What are the different types of Transactions TIBCO provides? TIBCO BusinessWorks offers a variety of types of transactions that can be used in different situations. You can use the type of transaction that suits the needs of your integration project. When you create a transaction group, you must specify the type of transaction. TIBCO BusinessWorks supports the following types of transactions: JDBC Java Transaction API (JTA) UserTransaction XA Transaction

10.What activities are supported in JTA Transaction? The Java Transaction API (JTA) UserTransaction type allows: JDBC JMS ActiveEnterprise Adapter (using JMS transports) EJB activities

to participate in transactions. 11.What activities are supported in XA Transaction ? The XA Transaction type allows:

JDBC activities ActiveEnterprise Adapter activities that use the JMS transport JMS activities

to participate in transactions. Note:For JMS activities and ActiveEnterprise Adapter activities, request/reply operations cannot participate in an XA transaction. Also, EJB activities cannot participate in an XA Transaction group. 12.What are the possible Error output's of Read File activity? Integration can be at different application layers: FileNotFoundException :Thrown when yhe file does not exist. UnsupportedEncodingException:Thrown when the text files encoding is not valid and the content of the file is read into process data. FileIOException :Thrown when an I/O exception occurred when trying to read the file.

13.What is the purpose of the inspector activity ? The Inspector activity is used to write the output of any or all activities and process variables to a file and/or stdout. This is particularly useful when debugging process definitions and you wish to see the entire schema instead of mapping specific elements to the Write File activity. 14.What are the maximum/minimum of threads available for incoming HTTP ? The maximum/minimum of threads available for incoming HTTP : 75/10 15.How can unauthorized users be prevented from triggering a process ? Unauthorized users be prevented from triggering a process by giving 'write' access for the process engine to only selected users. Only users with 'write' access can do activities like deploying applications, starting/stopping process engines etc. 16.What are the mandatory configuration parameters for FTP Connection & FTP with firewall ? The mandatory configuration parameters for FTP Connection FTP host Port Username & Password>

If Firewall is enabled in addition the proxy host and port are required. to design a process such that depending on number of records updated in a database, 3 different sub-processes may be called ? Define 3 transitions from JDBC update with condition on the no of updates and call appropriate child processes. 18.How to use legacy .dat file format with latest designer ? Convert .dat file to multi file project using Administration tab while starting up Designer(Other one being Project tab) and then open the multifile project in the normal way. 19.What are the encodings supported by designer ? Encodings supported by designer are ISO8859-1(Latin-1) UTF-8

20.What are the 4 main panels of the Designer window ? The 4 main panels of the Designer window are

Project panel Palette panel Design panel Configuration panel

21.How do you determine if there are broken references in the project? Project -> Validate for deployment 22.Where are the Designer preferences stored ? Designer preferences stored are stores in a file called 'Designer <ver>.prefs' in the user home directory. 23.Explain the process configuration parameters - Max Jobs, Flow Limit & Activation Limit ? Max Jobs : Max Jobs specifies the number of process instances that are kept in memory. Once this limit is reached newly created process instances (subject to flow limit) are paged out to disk.0 specifies no limit and is the default. Flow Limit : Flow Limit specifies the maximum number of running process instances that are spawned before the process starter is suspended ie it enters a FLOW_CONTROLLED state and does not accept new events. This can be used to control the number of process instances running simultaneously and when the protocol generating the event can store the event till it is received, like email servers, JMS, RV etc. 0 specifies no limit and is the default. Activation Limit : Activation limit flag specifies that once a process instance is loaded it must be placed in memory till it completes execution. By default it is enabled. 24.What are the options for configuring storage for process engine's checkpoint repository ? The options for configuring storage for process engine's checkpoint repository are: Local File Database. Fault tolerant engines can recover from a checkpoint only when database is used.

25.Process engines in a fault tolerant group can be configured as peers or master secondary.How do these differ ? The options for configuring storage for process engine's checkpoint repository are: - Peer means all of them have the same weight. In this case when one engine fails another one takes over and continues processing till it fails. - In master secondary configuration weights are unequal, the secondary starts processing when master fails. But when master recovers, secondary stops and master continues processing.

26.What are the uses of grouping activities ? Uses of grouping activities are: Create a set of activities having a common error transition. Repeat group of activities based on a condition. 1. - Iterate over a list. 2. - Repeat until condition true. 3. - Repeat on Error until condition true. Group activities into a transaction. To create a critical section area that synchronizes process instances.

A 'Pick First Group' allows you to wait for the occurence of multiple events and proceed along a path following the first event to occur.

27.What is the purpose of a Lock shared configuration resource? A Lock is specified for a 'Critical Section' group when the scope is 'Multiple'. It can be used to ensure synchronization across process instances belonging to multiple processs definitions or for process instances across engines(Check multi engine flag for lock in this case and the BW engine needs to be configured with database persistence while deployment). If synchronization is for process instances belonging to the same processs definition inside one engine, just specify the scope as 'Single'. 28.How to control the sequence of execution of process instances created by a process starter ? Use the sequencing key field in the Misc tab of any process starter. Process instances with the same value for this field are executed in the sequence in which they are started. 29.Can there be two error transitions out of an activity ? No. There can be only one Error and one Success if no matching condition transition out of each activity. 30.When is a 'No Action' group used ? 'No Action' group used to have a set of activities having a common error transition 31.What activity can be used to set the value of a 'User defined process variable' ? The 'Assign' activity can be used to set the value of a 'User defined process variable'. 32.Which are the two process variables available to all activities with inputs ? $_globalVariables $_processContext

33.Which mechanism can be used to pass data between a process instance and a called sub process other than mapping from/to the callee's input/output ? This can be accomplished using job shared variables, unless in the call process activity the 'Spawn' flag is enabled in which case the called sub process is a new job and hence gets a fresh copy of the job shared variable initialized as per its configuration. A shared variable can overcome this limitation as it's scope is not limited to one job. 34.What are the three scenarios where BW engine has to be configured with database persistence instead of Local File ? The three scenarios are: Shared Variables across BW engines. Locking across groups in multiple BW engines. Wait Notify across BW engines.

35.If you want a group to be executed if there is some unhandled error but subject to some max number of iterations which group do you use ? We can use Repeat on Error until true 36.When is a 'Generate Error' activity useful? When you handle an error inside a called subprocess or group and want to rethrow the error to the caller(happens by default if you dont handle the error in the called process) 37.Which activity is used for detecting duplicate message processing? CheckPoint activity - Specify the uniqueID for the duplicate key field and engine maintains list of these key

fields. When a process come to checkpoint activity with the same value for duplicate key which already exists, it throws a DuplicateException. An error transition can then handle this case. 38.Give an example where graceful migration of service from one machine to another is not possible. HTTP Receiver. In this case the receiver on new machine starts listening on the same port, but you need to redirect requests from the old machine to the new one. 39.What are the types of adapter services ? Types of adapter services are : Subscriber Service Publisher Service Request-Response Service Request-Response Invocation Service

40.If the business process needs to invoke another web service which resource do you use ? SOAP request reply activity. If the business process needs to be exposed as SOAP service use SOAP Event Source in conjunction with SOAP Send Reply or SOAP Send Fault. 41.What is the functionality of the Retrieve Resources resource? It can be used to serve the wsdl file of a SOAP Event Source to a (http) client. Construct a process like: HTTP Receiver -> Retrieve Resources -> Send HTTP Response Now the WSDL file for a SOAP service can be retreived using the http request http://<host>:<port>/<path>/<resourceName>?wsdl where 'path' is the folder path to the SOAP Event Source process and 'resourceName' is the name of the process Example : http://purch:8877/Purchasing/GetPurchaseOrder?wsdl 42.What is the scope of user defined process variables ? The scope of user defined process variables is only the process in which it is defined.(Not even inside a sub process that is invoked from this process) 43.What is difference between shared variable and job shared variable ? Both of them can be manipulated via the palette resources 'Get shared variable' and 'Set shared variable'. A job shared variable is private to one instance of job or in other words each job has a fresh copy. In the case of shared variable the same copy is shared across all job instances. It can even be persisted and can survive BW engine restarts and even shared across multiple BW engines(when deployed using DB persistence).

44.How do wait-notify resources work ? Basically wait and notify should share a common notification configuration which is just a schema definition for data that will be passed from notifier to waiter. Specific instances of waiter & notifier are corrrelated via a key. For example: when one process is in wait state for key 'Order-1', it waits till another process issues a notification with the same key value. 45.What is the default Axis in XPath ? Child axis- What this means is that when you select "BOOK" from the current context, it selects a child node with that name, not a sibling with that name. Other axes are parent , self , sibling etc.

46.What are the output formats for XSLT? XML HTML Text

47.What does ' Success if no matching condition' transition mean ? Lets say between two nodes N1 and N2, there are 3 success transitions with condition and there is no success transition without condition. If none of the conditions match then a 'Success if no matching condition' transition can be used. Also if there is a success transition and also success transitions with condition and if the condition matches then both the sucess transition (no condition) as well as the transition(s) with matching conditions are followed. So you can use 'Success if no matching condition' to prevent duplicate paths of execution.

48.What is the Purpose of $_error variable ? $_error variable is available in the node following the error transition. It captures the error message, error code etc. 49.What are the cases where business process cant proceed correctly subsequent to restart from a checkpoint ? Sending HTTP response, confirming an email/jms message etc. This is because the confirmation or sending HTTP response has to done in the same session. When engine crashes these sessions are closed at their socket level. In such cases send response/confirm before checkpoint. 50.Which group do you use to wait for multiple events and proceed with the first to occur ? A 'Pick First Group'.

51. In one tibco project how many services interfacesess it will be created 52. What is the difference between Waitfor JMS queue Message and GetJMS queue message activity. Also pls reply in terms of performance The Get JMS Queue Message activity is different from the Wait for JMS Queue Message activity in the following ways: Unlike the Wait for activity, which starts listening for messages from the time the BusinessWorks engine starts, this activity starts listening for incoming messages on the specified queue from the time the activity is triggered. Get JMS Queue Message activity can receive only one message from the specified queue at a time,when the Message Selector is not used. Once triggered, Get JMS Queue Message activity can either gets a message from the specified destination queue name before timeout and proceeds or it throws a timeout error and exits. Wait for jms msg is ... waiting for recipet of msg for specified jms msg and get jms queue msg is retrieve msg from specified queue.and it also receive operttion as queue as opposed to wait for queue msg to be deleivered to wait for jms queue msg 56. Already the table has some data in it, with the help of ADB we had inserted some data. By seeing the table how can we identify the data inserted by ADB. 57. Whats the difference between publish by value and publish by reference In publish by value, all the data will be copied from main table to P table..where as in publish by reference only the reference will be copied. 58. What is the advantage of scripted deployment in Tibco?What is difference between scripted deployment and normal deployment Below are the scenerio I can expect: 1. When ever the TIBCO Administrator is down we have to deploy a application from TRA -> Appmanage. 2. In case we have to deploye various applications using same global parameters, we have to provide every time these parameters in TIBCO administrator wile deployement. So its better to get a best proctice to deploye application from backend using the scripts. below are the advantages: 1. If Admin is down we are able to deploy application 2. We use a properties file (XML) which is having all the variables which can be used by various similar applications. So low workload. 59. Where does the Tibco Admin maintains the version history of the application?Can you please tell us the path? 60. Where do the default global variables declared in designer are stored in Tibco Administrator In .PAR folder. We can see this folder in TIBCO adminstrator in Application management--> application-->EAR 61. what is custom id? This field can contain an XPath expression that specifies a custom ID for the process instance. This ID is displayed in the View Service dialog of TIBCO Administrator, and it is also available in the $_processContext process variable. 62. What is bussiness key? This string is appended to the AE tracking info appInfo field. The AEtracking info for messages published is a concatenation of bw + <processName> +<jobID> + <businessKey>. Note: It is a good idea to have all publishers in a process use the samebusiness key. Only the most recent publishers business key is used in the tracking info for the message.

63. What is process name dynamic override? You can use the Process Name Dynamic Override field on the Configuration tab to specify an XPath expression that determines which process to call. This is useful for calling a different process depending upon the value of the Xpath expression. For example, you have an incoming HTTP request that contains an attribute named orderAmount. For all incoming orders over $10,000, you wish to call a process that includes activities in the Manual Work palette to obtain the proper approvals. For orders under $10,000, you wish to call a process that handles the order automatically. You can create the following expression that resolves to the proper process name for each type of order: if($IncomingOrder/orderAmount > 10000) then /MyProject/manualApproval.process else /MyProject/processOrder.process Use the full path and name of the process file as stored in the project directory. When you use the Process Name Dynamic Override field, you must also specify a process to call in the Process field. The input, output, and error definitions of the specified process must be the same as any process that the expression in the Process Name Dynamic Override field can evaluate to. Input See TIBCO BusinessWorks Process Design Guide for more information about mapping and transforming input data. The input for the activity is the following. It may be helpful to create process definitions that act as programmatic interfaces when using the Process Name Dynamic Override field. In the example above, you may create a process named orderProcessOrApprove. The only purpose of this process is for specifying the input, output, and error schemas. Place this process in the Process field of the Call Process tab. Then, create the manualApproval and processOrder process definitions as copies of the orderProcessOrApprove process. The Call Process activity then has the correct input, output, and error schemas for all processes that can be called. If you use the Process Name Dynamic Override field, make sure you include all potentially callable sub processes when you create your Process Archive for deployment. TIBCO Designer cannot determine which sub processes are potentially callable at design time, and therefore they cannot be automatically 64. what is a spawn in call process ? when we check the spawn in call process the call process and the main process which is calling the call process runs as separate threads. Specifies whether to spawn a new machine process for executing the called process. If this option is checked, the parent process cannot access the called process output. The called process is executed in a separate process instance. 65. How can we get field as input to the input field of another palete as <a>b</a> is there then i need to get as <C>a-b</C> 66.What is meant by process context variable? There are two process variables that are available to all activities that accept input: $_globalVariables and $_processContext. $_globalVariables contains the list of global variables defined on the Global Variables tab of the project. $_processContext contains general information about the process, such as the process ID, the project name, whether the process was restarted from a checkpoint, and so on.This process Context variable will be created automatically whenever we create an project 67.What is the Difference between JMS queue receiver and JMS queue requestor? Jms queue reciever is responsible for consuming the message from the JMS in a queue. While JMS queue requestor is similar to requset reply in soap. it waits fro a reply in reply/to queue. JMS Queue receiver is a starter activity. It starts a process on the recipt of a message for the specified JMS queue, it is listening to. ON the other hand, JMS queue requestor is not a starter activity, it is used to send a request to a JMS queue and receives a response back from the JMS client. This activity uses temporary destinations to ensure that reply messages are received only by the process that sent the request. 68. By using which BW palette we can create DB table? SQL Direct Pallete 69. How to create adapters?how to connect adapters? and how to build? TIBCO hava different adapters for different application with different adapters those are ActiveDatabase

adapter to oracle file adapter to file formats like different textfile,doc etc MQ series adapter to mainframe with using webshpere R/3 adapter for SAP i dont know briefly abt this,but i will give some information, we cannot create adapters,we must install adapters which werequired.we have so many adapters such as sap,mqseries,adb,siebel,peoplesoft etc..........we must install required adapters for our project. How can we connect means, after installing the req adapter we can use the activities provided by that adapter. how to build mmeans i cant get ur queations. I don't have much knoledge on tibco but i have some knowledge. according tomy knowledge adapters are builtin, we can install it and by using some technics we can connect the adapters and also By using adapters we can create the applications As per my knowledge in Tibco we are already having the adapters provided by the software like ADB,SAPR/3,SEIBEL etc..,if u want other than this we can create custom adapters by using AdapterSDK. we can connect the adapters by configuring the adapter components We can create adapters in tibco.In tibco,we are provided with Adapter SDK.In that we can manually create adapter.In adapter activity,we have publish to adapter and subscribe to adapter.we can drag n drop these,so that we can provide info about other adapter.Any way before creating adapter,in tibco TRA(tibco run time agent must be installed) Yes we can create our own adapters in TIBCO In TIBCO there is one feature to create custom adapters customer adapters means we can create our own adapters it will be written in c,java e,t,c and adpaters have Adapter SDK through which we can create our own adapters. We can communicate with different adapters through the activities provided with adapter 70. What is File adapter,ADB Adapter in tibco? DIff BW Them ADB Adapter for Database......The File adapter transfers files into and out of Microsoft BizTalk Server. The File adapter consists of two adaptersa receive adapter and a send adapter. *ActiveDatabase adapter to oracle file adapter to file formats like different textfile,doc etc ADB adapter is used to transfer bulk of data from the application or Database to other Database. while configuring the ADB the PublicationService has P_table in which the source table modified data is triggered and this is polled into the messaging layer. From the messaging layer the Subscriptionservice pulls the data and stores into the target table. And now the data stored can be accessed by different applications. When bulk transformation of data is required we go for ADB. 71. what is soap? how to use soap? Simple Object Access Protocol used to send XML messages along the network.server oriented application protocal it is one of web services using interner and technology it is act as server and client first design bw for one application, then it passed to soap server which recieves the incoming requests via http or soap or jms then ser proxy decodes request into call the to application sevice proxy is encodeswith reply SOAP(simple object access protocol) is a protocol used to communicate the web service provider and web service client. To use SOAP you require a WSDL(web service description language),which is a XML file.WSDL file contains info about web service provider and its functionality. 72. How we can send data through adb adapter in tibco bw? In the subscribe data from adapter activity in BW we can either use 1. RV or 2.JMS to recieve data 73. How many types of variables are there in BW? There are 3 types of variables 1) Global Variables-----through out the project ( used for constants) 2) Process variables-----Activities in the project where the variables are defined.

3) Shared Variables ------ Across multiple process instances ( used to share data) 74. How to create global variables and if we create where do we have to use in the project ? Global variables provide an easy way to set defaults for use throughout your project. There are several ways in which they can be used. Those can be created in the project panel we will have a tab name by Global variables there we can specify these... 75. what is global variables? Global Variables are the variables that are used anywhere in the project. These can be called or used across the process or sub process that is with in the project. Global variables can be overridden at runtime. There are 3 types of variables 1) Global Variables-----through out the project ( used for constants) 2) Process variables-----Activities in the project where the variables are defined. 3) Shared Variables ------ Across multiple process instances ( used to share data) These variables allows to specify constants that can be used throughout the project. The constants can be specified and changed while designing and testing your project. global variables are configured once can be use througth out the project it is called global variables . Global Variables are define for the value which remain fix during whole process.These variable's can't be modified during process execution. Global variables allows you to specify constants that can be used throughout the project. The constants can be changed while designing and testing your project. we can also set different values for each deployment of your project. we can add/edit the Global variables using Global Variable Editor. 76. What are the types of encoding which BW follows? ISO8859-1 (Latin-1)Preferred encoding for projects that deal only with English and other Western European languages that belong to the ISO Latin-1 character set. If this encoding is used for languages that do not belong to the Latin-1 character set (such as Japanese, Arabic, etc.), data loss may result. UTF-8Preferred encoding for projects dealing with languages not belonging to the Latin-1 character set. This includes most languages except for English and other western European languages. 77. How can we change Global variable deployment ? what is it defines? We can change the global varaibles from the Command prompt on the server. 78. What is the purpose of Job Shared varaibel or tell me about about job shared variable? A Job Shared Variable allows you to store data for use by each process instance. A separate copy of the variable is created for each new process instance. This resource is useful for passing data to and from sub-processes without creating an input or output schema for the called process. You can use the Get Shared Variable and Set Shared Variable activities to access the data instead of mapping data to a called processes input or output schemas. New process instances receive a copy of the variable, so data cannot be shared across process instances. Scope of the job shared variable is with in the process instance i.e the values which was set in one process instance ,can not be avaible in other process. If job shared variable in Process definition-1 set to 5 then the same value will not exist in process definition -2 .This means a separate copy of instance is maintained in each process instance. 79.How can we import/Copy the custom palettes into another project? First find the location where the custom palettes are stored(You can change/get the path from Edit/Preferences-user directories-User Palette directory of designer window).Once you found the location simply

copy what are all the custom palettes you wish to use in other project and paste the custom palettes directory in another machine. Note : If you are running two projects in the same machine then you need not do the above procedure .The custom palettes will automatically available to the other project which is running in the same machine. By default custom palettes will store in below location : C:\Documents and Settings\username\.TIBCO\custom_palettes 80. If there are two sub processes then how can we call at a time one sub process dynamically by using call process? In call process we have an option as Process Name Dynamic Override, this field is used to determine dynamically which process to call when the process instance is running.But here both the sub process should have the same input,output and error schema. In call process we have process name dynamic override, this helps us to call the specific process while running. For ex: we have 2 sub processes in which while running based on some condition we are calling a single sub process. If else Condition can be given for Dynamic overriding. etc.,But here both the sub process should have the same input,output and error schema. 81.Once we have deployed the ear file in Tibco admin,In which location the data/service/properties will store If the installation folder of tibco will be in C directory then once we have deployed the ear file ,the information will be stored in the following location. if domain name is mydomain and projectname is TestOne then Log files : C:\tibco\tra\domain\mydomain\application\logs TestOne.tra file :(it contains all properties) : C:\tibco\tra\domain\mydoamin\application\TestOne Service/Project :C:\tibco\tra\domain\mydomain\datafiles