We are trying to explain each and every activity in depth, so stay tuned to this site. This Site is Under Construction!!!

Thursday, June 28, 2012

Tibco-Interview-Questions-page4

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


Answer: This can be accomplished using job shared variables, unless in the call process activity the 'Spawn' flag is enabled in which case the called sub process is a new job and hence gets a fresh copy of the job shared variable initialized as per its configuration. A shared variable can overcome this limitation as it's scope is not limited to one job.

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


Answer: The three scenarios are:
  • Shared Variables across BW engines.
  • Locking across groups in multiple BW engines.
  • Wait Notify across BW engines.

58. If you want a group to be executed if there is some unhandled error but subject to some max number of iterations which group do you use ?


Answer: We can use Repeat on Error until true

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


Answer: When you handle an error inside a called subprocess or group and want to rethrow the error to the caller(happens by default if you dont handle the error in the called process)

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


Answer: CheckPoint activity - Specify the uniqueID for the duplicate key field and engine maintains list of these key fields. When a process come to checkpoint activity with the same value for duplicate key which already exists, it throws a DuplicateException. An error transition can then handle this case.

61. Give an example where graceful migration of service from one machine to another is not possible.


Answer: HTTP Receiver. In this case the receiver on new machine starts listening on the same port, but you need to redirect requests from the old machine to the new one.

62. What are the types of adapter services ?


Answer: Types of adapter services are :
  • Subscriber Service
  • Publisher Service
  • Request-Response Service
  • Request-Response Invocation Service

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


Answer: SOAP request reply activity. If the business process needs to be exposed as SOAP service use SOAP Event Source in conjunction with SOAP Send Reply or SOAP Send Fault.

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


Answer: It can be used to serve the wsdl file of a SOAP Event Source to a (http) client.
Construct a process like: HTTP Receiver -> Retrieve Resources -> Send HTTP Response

Now the WSDL file for a SOAP service can be retreived using the http request

http://<host>:<port>/<path>/<resourceName>?wsdl

where 'path' is the folder path to the SOAP Event Source process and 'resourceName' is the name of the process

Example : http://purch:8877/Purchasing/GetPurchaseOrder?wsdl

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


Answer: The scope of user defined process variables is only the process in which it is defined.(Not even inside a sub process that is invoked from this process)
« Previous |1 2 3 4 5| Next »

Tibco-Interview-Questions-page5

66. What is difference between shared variable and job shared variable ?

Answer: 
  • Both of them can be manipulated via the palette resources 'Get shared variable' and 'Set shared variable'.
  • A job shared variable is private to one instance of job or in other words each job has a fresh copy. In the case of shared variable the same copy is shared across all job instances. It can even be persisted and can survive BW engine restarts and even shared across multiple BW engines(when deployed using DB persistence).

67. How do wait-notify resources work ?


Answer: Basically wait and notify should share a common notification configuration which is just a schema definition for data that will be passed from notifier to waiter. Specific instances of waiter & notifier are corrrelated via a key.
For example: when one process is in wait state for key 'Order-1', it waits till another process issues a notification with the same key value.

68. What is the default Axis in XPath ?


Answer: Child axis- What this means is that when you select "BOOK" from the current context, it selects a child node with that name, not a sibling with that name. Other axes are parent , self , sibling etc.

69. What are the output formats for XSLT?

Answer:


  • XML
  • HTML
  • Text

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

Answer:


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




Success if no matching condition


71. What is the Purpose of $_error variable ?


Answer: $_error variable is available in the node following the error transition. It captures the error message, error code etc.

72. What are the cases where business process cant proceed correctly subsequent to restart from a checkpoint ?

Answer: 

  • Sending HTTP response, confirming an email/jms message etc. This is because the confirmation or sending HTTP response has to done in the same session. When engine crashes these sessions are closed at their socket level. In such cases send response/confirm before checkpoint.

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


Answer: A 'Pick First Group'.
« Previous |1 2 3 4 5| Next »

Tibco-Interview-Questions-page3

46. Explain the process configuration parameters - Max Jobs, Flow Limit & Activation Limit ?

Answer:


  • Max Jobs :
    Max Jobs specifies the number of process instances that are kept in memmory. Once this limit is reached newly created process instances (subject to flow limit) are paged out to disk.0 specifies no limit and is the default.
  • Flow Limit :
    Flow Limit specifies the maximum number of running process instances that are spawned before the process starter is suspended ie it enters a FLOW_CONTROLLED state and does not accept new events. This can be used to control the number of process instances running simultaneously and when the protocol generating the event can store the event till it is received, like email servers, JMS, RV etc. 0 specifies no limit and is the default.
  • Activation Limit :
    Activation limit flag specifies that once a process instance is loaded it must be placed in memmory till it completes execution. By default it is enabled.

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


Answer: The options for configuring storage for process engine's checkpoint repository are:
  • Local File
  • Database. Fault tolerant engines can recover from a checkpoint only when database is used.

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


Answer: The options for configuring storage for process engine's checkpoint repository are:
  • - Peer means all of them have the same weight. In this case when one engine fails another one takes over and continues processing till it fails.
  • - In master secondary configuration weights are unequal, the secondary starts processing when master fails. But when master recovers, secondary stops and master continues processing.

49. What are the uses of grouping activities ?


Answer: Uses of grouping activities are:
  • Create a set of activities having a common error transition.
  • Repeat group of activities based on a condition.
    1. - Iterate over a list.
    2. - Repeat until condition true.
    3. - Repeat on Error until condition true.
  • Group activities into a transaction.
  • To create a critical section area that synchronizes process instances.
  • A 'Pick First Group' allows you to wait for the occurence of multiple events and proceed along a path following the first event to occur.

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


Answer: A Lock is specified for a 'Critical Section' group when the scope is 'Multiple'. It can be used to ensure synchronization across process instances belonging to multiple processs definitions or for process instances across engines(Check multi engine flag for lock in this case and the BW engine needs to be configured with database persistence while deployment). If synchronization is for process instances belonging to the same processs definition inside one engine, just specify the scope as 'Single'.

51. How to control the sequence of execution of process instances created by a process starter ?


Answer: Use the sequencing key field in the Misc tab of any process starter. Process instances with the same value for this field are executed in the sequence in which they are started.

52. Can there be two error transitions out of an activity ?


Answer: No. There can be only one Error and one Success if no matching condition transition out of each activity.

53. When is a 'No Action' group used ?


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

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


Answer: The 'Assign' activity can be used to set the value of a 'User defined process variable'.

55. Which are the two process variables available to all activities with inputs ?

Answer: 
  • $_globalVariables
  • $_processContext
« Previous |1 2 3 4 5| Next »

Tibco-interview-questions-page2

34. What activities are supported in XA Transaction ?


Answer: The XA Transaction type allows:
  • JDBC activities
  • ActiveEnterprise Adapter activities that use the JMS transport
  • JMS activities
to participate in transactions.
Note:For JMS activities and ActiveEnterprise Adapter activities, request/reply operations cannot participate in an XA transaction. Also, EJB activities cannot participate in an XA Transaction group.

35. What are the possible Error output's of Read File activity?


Answer: Integration can be at different application layers:
  • FileNotFoundException :Thrown when yhe file does not exist.
  • UnsupportedEncodingException:Thrown when the text file’s encoding is not valid and the content of the file is read into process data.
  • FileIOException :Thrown when an I/O exception occurred when trying to read the file.

36. What is the purpose of the inspector activity ?


Answer: The Inspector activity is used to write the output of any or all activities and process variables to a file and/or stdout. This is particularly useful when debugging process definitions and you wish to see the entire schema instead of mapping specific elements to the Write File activity.

37. What are the maximum/minimum of threads available for incoming HTTP ?


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

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


Answer: Unauthorized users be prevented from triggering a process by giving 'write' access for the process engine to only selected users. Only users with 'write' access can do activities like deploying applications, starting/stopping process engines etc.

39. What are the mandatory configuration parameters for FTP Connection & FTP with firewall ?


Answer: The mandatory configuration parameters for FTP Connection
  • FTP host
  • Port
  • Username & Password>
If Firewall is enabled in addition the proxy host and port are required.

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


Answer: Define 3 transitions from JDBC update with condition on the no of updates and call appropriate child processes.

41. How to use legacy .dat file format with latest designer ?


Answer: Convert .dat file to multi file project using Administration tab while starting up Designer(Other one being Project tab) and then open the multifile project in the normal way.

42. What are the encodings supported by designer ?


Answer: Encodings supported by designer are
  • ISO8859-1(Latin-1)
  • UTF-8

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


Answer: The 4 main panels of the Designer window are
  • Project panel
  • Palette panel
  • Design panel
  • Configuration panel

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


Answer: Project -> Validate for deployment

45. Where are the Designer preferences stored ?


Answer: Designer preferences stored are stores in a file called 'Designer <ver>.prefs' in the user home directory.

« Previous |1 2 3 4 5| Next »

Monday, June 25, 2012

JMS Topic Publisher Activity

The JMS Topic Publisher sends a message to the specified JMS topic.

JMS Queue Receiver Activity

Starts a process based on the receipt of a message for the specified JMS queue.

JMS Queue Sender Activity

The JMS Queue Sender activity sends a message to the specified JMS queue.

SQL Direct Activity

The SQL Direct activity executes a SQL statement that you provide. This activity allows you to build a SQL statement dynamically (using other activities), then pass the SQL statement into this activity’s input. This activity also allows you to execute SQL statements that are not supported by other activities in the JDBC palette. For example, DDL commands (for example, CREATE TABLE) are not available using any other activity.

If this activity is not part of a transaction group, the SQL statement is committed after the activity completes. If this activity is part of a transaction group, the SQL statement is committed or rolled back with the other JDBC activities in the group at the end of the transaction.

If you wish to override the default behavior of transaction groups for certain JDBC activities in a transaction group, you can check the Override Transaction Behavior field on the Advanced tab. This specifies that the activity is outside of the transaction and the SQL statement is committed when the activity completes, even if the activity is in a transaction group.

JDBC Update Activity

The JDBC Update activity performs the specified SQL INSERT, UPDATE, or DELETE statement.

If this activity is not part of a transaction group, the SQL statement is committed after the activity completes. If this activity is part of a transaction group, the SQL statement is committed or rolled back with the other JDBC activities in the group at the end of the transaction.

If you wish to override the default behavior of transaction groups for certain JDBC activities in a transaction group, you can check the Override Transaction Behavior field on the Advanced tab. This specifies that the activity is outside of the transaction and the SQL statement is committed when the activity completes, even if the activity is in a transaction group.

Saturday, June 23, 2012

JDBC Query Activity

The JDBC Query activity performs the specified SQL SELECT statement. If this activity is not part of a transaction group, the SQL statement is committed after the activity completes. If this activity is part of a transaction group, the SQL statement is committed or rolled back with the other JDBC activities in the group at the end of the transaction. See TIBCO ActiveMatrix BusinessWorks Process Design Guide for more information about creating groups for transactions. If you wish to override the default behavior of transaction groups for certain JDBC activities in a transaction group, you can check the Override Transaction Behavior field on the Advanced tab. This specifies that the activity is outside of the transaction and the SQL statement is committed when the activity completes, even if the activity is in a transaction group.

JDBC Get Connection Activity

The JDBC Get Connection activity retrieves an object reference to a JavaConnectionAccessor object for the specified JDBC Connection from the connection pool. This allows you to use the optimized TIBCO ActiveMatrix BusinessWorks database connection pool instead of specifying database configuration information in your Java code. This database connection can then be used within Java activities to access the specified database.

JDBC Connection

The JDBC Connection resource describes a JDBC connection. JDBC connections are used when specifying activities from the JDBC palette.

JDBC Call Procedure Activity

The JDBC Call Procedure activity calls a database procedure using the specified JDBC connection. If this activity is not part of a transaction group, the SQL statement is committed after the activity completes. If this activity is part of a transaction group, the SQL statement is committed or rolled back with the other JDBC activities in the group at the end of the transaction. If you wish to override the default behavior of transaction groups for certain JDBC activities in a transaction group, you can check the Override Transaction Behavior field on the Advanced tab. This specifies that the activity is outside of the transaction and the SQL statement is committed when the activity completes, even if the activity is in a transaction group. The Refresh button on this activity allows you to synchronize the activity with the contents of the database. This is useful if you make a change to the database while you are editing a process definition containing this activity in TIBCO ActiveMatrix BusinessWorks. When using the jConn or Data Direct 3.3 driver and connecting to a Sybase database, stored procedures that are supposed to return multiple result sets do not return any data. To avoid this problem, you can either use the sun.jdbc.odbc.JdbcOdbcDriver instead or you can add set nocount on to your stored procedure definition.

List File Activity

The List Files activity returns information about files or directories, or a listing of all the files in the specified directory.

Copy File Activity

The Copy File activity allows you to copy files and directories to a new location.

Remove File Activity

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

Rename File Activity

The Rename File activity is used to rename or move files. This activity can also rename directories, but you cannot use this activity to move a directory to a new location.

Wait for File Change Activity

The Wait for File Change activity waits for a file creation, modification, or deletion event to occur during process execution. When this activity is executed, the process instance suspends and waits for the specified change to occur before resuming.

File Poller Activity

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

Write File Activity

The Write File activity writes content to the specified file.

Read File Activity

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

Create File Activity

Create File Activity

The Create File activity creates a new file or directory with the specified name. When creating a file, you can also provide the file contents.

Explaination:
Create file activity creates a new file or directory with the specified name and even we can provide the contents of the file when creating a file. Specify the File location path in input as at filename. example: "c:\naveen\abc.txt"

Points to Remember in Configuration:

In Configuration, we have some fields to remember

Overwrite: Check this field to overwrite the file name, if it is already exists.
i.e., For example if a file with the same name is already present in that particular location, it will overwrite the file name else it will raise an exception as file already exists.

Is a Directory: Check this field if u want to create a New directory (i.e., New folder with the specified name will be created). If the specified name for the directory already exists, it will raise an error that already exists, make sure to the check the field overwrite.

Create Non-Existing Directories: When checked, the activity creates all directories in the specified path, if they do not already exist. If this field is unchecked and there are one or more directories in the specified path that do not exist, an exception is raised.

Friday, June 22, 2012

What is EAI?


  • Today, Number of organizations fitted with different types of open and proprietary systems. Each with its own development, database, Networking and operating system, thus creating a heterogeneous environment.
  • EAI has come as a boon for enterprise architects to set right everything, which today's enterprises face. EAI has become a sophisticated set of procedures with newly refined technologies, such as middleware and message brokers that allow users to tie systems together using a common glue code.
 
Advantages:
  • Middleware-enabled EAI - Enterprise Application Integration is the creation of new strategic business solutions by combining the functionality of an enterprise's existing applications, commercial packaged applications, and new code using a common middleware.
  • Middleware is able to hide the complexities of the source and target systems, here by freeing developers from focusing on low-level APIs and network protocols and allowing them to concentrate on sharing information. 

What is Tibco?


TIBCO: The Information Bus Company (Middleware)


In data - level Integration, changes propagated from dependent systems bypass the integrated application, so all inserts, updates, and deletes are done to data that the integrated application accesses.

UI level Integration ties integration logic to user interface code. UI - level integration is scripting or proxy - based. Scripting - based UI - level integration embeds integration code into the UI component events, common with client/server applications such as Power Builder or Vantive.

Application level integration uses the integrated applications' integration frameworks and APIs. Application interfaces let you invoke business logic to preserve data integrity. Integration API examples include Siebel's JAVA Data Beans and SAP's JCA (J2EE Connector Architecture).

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More