Sie sind auf Seite 1von 44

TIBCO

What is TIBCO TIBCO provides a common framework for integrating incompatible and distributed systems - making it faster and easier to tie together applications and Web Services so you can integrate them into business processes that span your organization. TIBCO reduces the complexity of your IT infrastructure and dramatically improves its reliability, flexibility and scalability - giving you the ability to focus on improving how your business runs instead of worrying about whether or not your infrastructure will be scalable or flexible enough to support new initiatives or capitalize on perpetual shifts in the market. TIBCO's EAI(Enterprise application integration) software lets your applications, databases and mainframes communicate and interact with each other by automatically routing and transforming information so it gets where it needs to be, when it needs to be there, and in the proper format. TIBCO's EAI software lets you integrate your business using the best available approach for your specific situation - whether that is an industrystandard technology such as Java, XML, or Web TIBCO Software Inc. is a global software company, with headquarters in Palo Alto, California. They provide business integration software to integrate, manage, and monitor enterprise applications and information delivery. Their software products include applications for coordinating business process and activites, securely exchanging information with trading partners, creating and maintaining XML documents, and managing distributed systems. Their software products is also called by the name TIBCO, which include a set of products. It may be defined as below It is an EAI( Enterprise Application Integration) tool It is suit of Products from TIBCO It consist of Design time and Run time Components It is a configuration based tool It is a tool that promotes real time Integration Major portion of its implementation is in Java It runs on most of the platforms from pocket PC to Mainframe Typically it acts a Middleware, however there are some presentation layer components exist within TIBCO It is a tool that promotes SOA( Service Oriented Architecture) It can be accessed through APIs in different languages including Java and .Net

------------------------------------------------------------------------------------------------------------------Tibco Questions Designed by Madugula Chandra Sekhar 1

Tibco experience (Explain about the current project description and what Tibco tools used and version), Messaging communication usage (RV or EMS), Experience In Adapters (ADB / File or any other application adapters (SAP/SIEBEL), Web Services, Best Practice in Design and Development, Tibco Administrator (Deployment Procedure, Fault Tolerant & Load Balancing, Appmange script), Hawk Rulebase, XML, Xpath and XSLT Using XPath TIBCO BusinessWorks uses XPath (XML Path Language) to specify and process elements of the Activity Input schema. You can also use XPath to perform basic manipulation and comparison of strings, dates, numbers, and booleans. One of the most common uses of XPath is to filter a list for specific elements. XPath expressions have search predicates for performing filtering. In the Activity Input area, when a search predicate is required, it appears as [<< Filter >>] to indicate that you must supply the filter expression. For example, you may wish to select a specific order from a list of orders where the item ordered is itemID #34129. To do this, the XPath expression might be: $RetrieveOrders/Order[itemID=34129]. You can use any valid XPath expression in the XSLT statements in the Activity Input area. EMS Q What is PointToPoint and Publish/Subscribe model Q What are exclusive queues and what are non-exclusive queues? Point-to-point messaging has one producer and one consumer per message. This style of messaging uses a queue to store messages until they are received. The message producer sends the message to the queue; the message consumer retrieves messages from the queue and sends acknowledgement that the message was received. More than one producer can send messages to the same queue, and more than one consumer can retrieve messages from the same queue. The queue can be configured to be exclusive, if desired. If the queue is exclusive, then all queue messages can only be retrieved by the first consumer specified for the queue. Exclusive queues are useful when you want only one application to receive messages for a specific queue. If the queue is not exclusive, any number of receivers can retrieve messages from the queue. Non-exclusive queues are useful for balancing the load of incoming messages across
Tibco Questions Designed by Madugula Chandra Sekhar 2

multiple receivers. Regardless of whether the queue is exclusive or not, only one consumer can ever retrieve each message that is placed on the queue In a publish and subscribe message system, producers address messages to a topic. In this model, the producer is known as a publisher and the consumer is known as a subscriber. Many publishers can publish to the same topic, and a message from a single publisher can be received by many subscribers. Subscribers subscribe to topics, and all messages published to the topic are received by all subscribers to the topic. This type of message protocol is also known as broadcast messaging because messages are sent over the network and received by all interested subscribers, similar to how radio or television signals are broadcast and received. Q What is Static and Dynamic Queue in EMS Compare them

Configuration information for static queues and topics is stored in configuration files for the TIBCO Enterprise Message Service server. Changes to the configuration information can be made in a variety of ways. To manage static destinations, you can edit the configuration files using a text editor, you can use the administration tool, or you can use the administration APIs. Static queues and topics are administered by the server. Clients retrieve the destination using JNDI. Dynamic queues and topics are created on-the-fly by applications using QueueSession.createQueue() and TopicSession.createTopic(). Dynamic queues and topics do not appear in the configuration files, and exist as long as there are messages or consumers on the destination. A client cannot use JNDI to lookup dynamic queues and topics. Q What are the delivery modes available in EMS?

TIBCO Enterprise Message Service provides two modes for persisting topic/queue messages in external storage. These two modes are:

normal failsafe

Normal mode writes all messages into the file on disk in asynchronous mode. In this mode, the data may remain in system buffers for a short time before it is written to disk. For situations in which any loss of data is not acceptable, the administrator should set the failsafe property for the topic or the queue. In failsafe mode, all data for that queue or topic are written into external storage in synchronous mode. In synchronous mode, a write operation is not complete until the data is physically recorded on the external device.
Tibco Questions Designed by Madugula Chandra Sekhar 3

The failsafe property ensures that no messages are ever lost in case of server failure. Although failsafe mode guarantees no messages are lost, it also significantly affects the performance. Q What are durable subscribers?

There can be a time dependency in publish and subscribe mode. By default, subscribers only receive messages when they are active. If messages are delivered when the subscriber is not available, the subscriber does not receive those messages. The JMS API provides a method to remove part of the timing dependency by allowing subscribers to create durable subscriptions. Messages for durable subscriptions are stored on the server until the message expires or the storage limit is reached. Subscribers can receive messages from a durable subscription even if the subscriber was not available when the message was originally delivered. Q What are destination bridges?

Destination Bridges Some applications require the same message to be sent to more than one destination, possibly of different types. For example, an application may send messages to a queue for distributed load balancing. That same application, however, may also need the messages to be published to several monitoring applications. Another example is an application that publishes messages to several topics. All messages however, must also be sent to a database for backup and for data mining. A queue is used to collect all messages and send them to the database. An application can process messages so that they are sent multiple times to the required destinations. However, such processing requires significant coding effort in the application. TIBCO Enterprise Message Service provides a server-based solution to this problem. You can create bridges between destinations so that messages sent to one destination are also delivered to all bridged destinations. Bridges are created between one destination and one or more other destinations of the same or of different types. That is, you can create a bridge from a topic to a queue or from a queue to a topic. You can also create a bridge between one destination and multiple destinations. For example, you can create a bridge from topic a.b to queue q.b and topic a.c. When specifying a bridge, you can specify a particular destination name, or you can use wildcards. For example, if you specify a bridge on topic foo.* to queue foo.queue, messages delivered to any topic matching foo.* are sent to foo.queue. Q What is the disadvantage of using foreign JNDI provider in EMS?
Tibco Questions Designed by Madugula Chandra Sekhar 4

Routing Each route connects two TIBCO Enterprise Message Service servers. Each route forwards messages between corresponding destinations (that is, global topics with the same name, or explicitly routed queues) on its two servers. Routes are bidirectional; that is, each server in the pair forwards messages along the route to the other server A zone is a named set of routes. Every route belongs to a zone. A zone affects the forwarding behavior of its routes: In a multi-hop (mhop) zone, topic messages travel along all applicable routes to all servers connected by routes within the zone. In a one-hop (1hop) zone, topic messages travel only one hop (from the first server). Queue messages travel only one hop, even within multi-hop zones. With respect to routing, queues differ from topics in several respects: Servers route queue messages between the queue owner and adjacent servers. The concept of zones and hops does not apply to queue messages (only to topic messages).

RV Q What are the parameters of Rendezvous Transport? If your adapter uses the TIBCO Rendezvous transport, the reliable and certified delivery protocols are available Q Rendezvous

Rendezvous software makes it easy to create distributed applications that exchange data across a network. You get software support for network data transport and network data representation. Rendezvous software supports many hardware and software platforms, so programs running on many different kinds of computers on a network can communicate seamlessly. From the programmers perspective, the Rendezvous software suite includes two main componentsa Rendezvous programming language interface (API) and the Rendezvous daemon. Rendezvous software includes several programming language interfaces, which are efficient, easy to use, and compatible with most other libraries (including window systems). Other books in the documentation set describe the Rendezvous API for various programming languages. The Rendezvous daemon runs on each participating computer on your network. All information that travels between program processes passes through the Rendezvous daemon as the information enters and exits host computers. The daemon also passes information between program processes running on the same host.
Tibco Questions Designed by Madugula Chandra Sekhar 5

Rendezvous programs are programs that use Rendezvous software to communicate over a network. A Rendezvous distributed application system is a set of Rendezvous programs that cooperate to fulfill a mission. RVD is a runtime process that implements reliable messaging at the UDP level. The daemon sends, listens, filters and routes subject based messaging reliably, detects the lost messages and requests retransmission. RVD places the published message on the network. Likewise it receives the message off the network that its host application has been subscribed to. RVD handles all message filtering. Any message sent on LAN is available to RVD. RV message uses self describing data to convert message from the local data to universal rendezvous wire format for transport. Q Benefits of Rendezvous

Benefits During Development Rendezvous software eliminates the need for programs to locate clients or determine network addresses. Rendezvous software simplifies the development of distributed application systems by hiding the networking details. Rendezvous software makes it easy to develop resilient systems because redundant data producers are transparent to consumers. (A producer is any program that sends data. A consumer is any program that receives data.) Rendezvous software is thread-safe, so you can use it with multi-threaded programs. Benefits During Use Rendezvous programs can publish multicast messages to distribute information quickly and reliably to many consumers. Rendezvous programs can use request/reply interactions, such as queries. Rendezvous programs are location independent, and port easily between platforms. Benefits as Programs Evolve Rendezvous distributed application systems are easier to maintain than traditional networked application systems. Rendezvous distributed application systems scale smoothly as you add new component processes. Rendezvous distributed application systems have longer useful lifetimes than traditional networked application systems. Rendezvous software supports many hardware and software platforms, so programs port smoothly as your environment evolves and expands. Q What is Direct Communication? Now two application programs can conduct point-to-point communications without intermediary Rendezvous daemon (rvd) processes. This arrangement can improve overall performance when a program sends many point-to-point messages to the same inbox.
Tibco Questions Designed by Madugula Chandra Sekhar 6

Direct communication uses RPTP over a UDP channel Both the sending and receiving transport objects must enable direct communication. If only one of the two transports enables direct communication, then point-to-point messages between them flow through rvd. Direct communication is not available for transport objects that connect to remote daemons. Direct communication is not available for rva transport objects in Java programs. When the path between two transports crosses a routing daemon (rvrd), direct communication is not available between those transports. Even if both transports enable direct communication, point-to-point messages still flow through rvd and rvrd. Direct communication applies only to point-to-point messages (that is, messages with inbox destinations) between two enabled transports. Q Compare the RV and RVCM message

Tibco Questions

Designed by Madugula Chandra Sekhar

Certified delivery is appropriate when a sending program requires individual confirmation of delivery for each message it sends. Certified delivery is also appropriate when a receiving program cannot afford to miss any messages. Certified delivery is appropriate when each message on a specific subject builds upon information in the previous message with that subject. Certified delivery is appropriate in situations of intermittent physical connectivitysuch as discontinuous network connections. Inappropriate Situations High Data Rates We do not recommend certified message delivery in situations that require high data rates. In comparison with reliable delivery, certified delivery requires additional processing time, exchanges more control messages, and consumes more process memory (and optionally disk storage as well). Usage of these resources grows in proportion to three quantities: The number of certified messages sent. The size of the data in those messages. The number of listeners that receive certified delivery. Therefore, for optimal performance, we encourage sparing use of certified message delivery. Q Compare the rvd and rvrd daemon RVRD Rendezvous routing daemon Software router for delivering messages among LANs, Allows filtering. Rvd delivers messages to applications on computers within a single network; an rvrd delivers messages beyond LAN boundaries. RVRD forwards messages between networks, allowing application on one network to listen for and receive the messages from applications on other networks. Q Compare the RV and JMS RV is subject based addressing, JMS is queue/topic based addressing BW Q What are the steps to follow for optimization and performance in BW

What are the variables in BW?


Designed by Madugula Chandra Sekhar 8

Tibco Questions

Global Variables these variables allow you to specify constants that can be used throughout the project. The constants can be specified and changed while designing and testing your project. You can also specify different values for each deployment of your project. Process Variables these variables allow you to access various data in your project. For example, there are predefined process variables containing the process ID, project name, and other information. You can also create user-defined process variables for containing process-specific data. Shared Variables these variables allow you to specify data for use across multiple process instances. Because multiple process instances can access the same variable, you can also synchronize access across processes when setting or retrieving the shared variable. Process variables are data structures available to the activities in the process. Process variables are displayed in the Process Data panel of each activitys Input tab. This allows you to use process data to supply input values for an activity. Each process variable name starts with a dollar sign ($). There are four types of process variables: Activity Output Some activities produce output. Activities have access to any data that is output from previously executed activities in the process definition. An activitys output is placed into a process variable with the same name as the activity (with a dollar sign placed in front of the name to indicate it is a process variable). Activities can use output from previously executed activities by mapping data from the process variable to the activitys input. Predefined Process Variables 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. See Global Variables on page 96 for more information about global variables. $_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. Error Process Variables When an error occurs in a process, the data pertaining to the error is placed into process variables. The $_error process variable contains general error information. Activities can also have error process variables named $_error_<activityName>. In the event of an error, the activitys error variable is populated with the appropriate error schema. User-Defined Process Variables You can define your own process variables and assign values to them in your process definition. Process variables are defined on the Process Variables tab of the Process Definition resource. You create a process variable in the same way you create data schemas for activities.
Tibco Questions Designed by Madugula Chandra Sekhar 9

All process variables in a running process instance are stored in memory and therefore consume system resources. Memory saving mode allows memory used by a process variable to be released when the value of the variable is no longer needed. When using memory saving mode, as each activity is executed, the list of process variables is evaluated to determine if subsequent activities in the process refer to the variable. If no activities refer to the variable, the memory used by the variable is released. A shared variable is a shared configuration resource in the General Activities palette. There are two types of shared variables:

Shared Variable Job Shared Variable

A Shared Variable resource allows you to share data across process instances. All process instances can read and update the data stored in a shared variable. This type of shared variable is useful if you wish to pass data across process instances or if you wish to make a common set of information available to all process instances. A Job Shared Variable resource is similar to a Shared Variable, but its scope is limited to the current job. A copy of the variable is created for each new process instance. This type of shared variable is useful for passing data to and from sub-processes without creating an input or output schema for the called process Q What is the check point activity and confirm activity

If the checkpoint is done before the confirm activity and a crash occurs before confirm and after checkpoint then the original message can be resent since a new process instance could be created. Where as if the confirm activity is before the checkpoint and the crash happens after the confirm and before checkpoint then the message is confirmed and cannot be redelivered. Since process instance cannot recover the confirmed message. Q What types of actions you can have in the group and explain them with examples? Groups are used to specify related sets of activities. Grouping allows you to create loops. The main uses of groups are the following: Create a set of activities with only one condition for the group. This allows instead of trying to individually catch errors on each activity. This type of group is similar to a try...catch block in Java. Create sets of activities that are to be repeated. You can repeat the activities once for each item in a list, until a condition is true, or if an error occurs.
Tibco Questions Designed by Madugula Chandra Sekhar 10

Create sets of activities that participate in a transaction. Activities within the group that can take part in a transaction are processed together or rolled back, depending upon whether the transaction commits or rolls back. Q What are the different kinds of condition types you can have in transition? Explain Them Success /Success with condition/Success if no matching condition/error Q What is spawn process explain Spawn: 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. Xml Parser, Xml Render and XML Transform activities The Parse XML activity takes a binary XML file or an XML string and processes it, turning it into an XML schema tree based on the XSD or DTD specified. The preferred way to parse XML files is to use a Read File activity set to binary mode to read the XML file. Then pass the binary file contents to the Parse XML activity. The Render XML activity takes an instance of an XML schema element and renders it as a stream of bytes containing XML or an XML string. The schema is processed based on the XSD file specified. The Transform XML activity allows you to transform an input XML document into the output specified by the given XSLT File shared configuration resource. Normally, transformation of data occurs by mapping process variables to an activitys input and applying XPath expressions to perform any transformation. If you have an XSLT file that you are using for transformations, or if an outside source supplies an XSLT file, this activity allows you to use the XSLT file instead of manually creating the mappings. Q Explain the activities in JMS, RV, HTTP, FILE, MAIL, SOAP and WSDL palettes FILE PALETTE Copy File/ Create File/ File Poller/ List Files/ Read File/ Remove File/ Rename File Wait for File Change/ Write File HTTP Palette HTTP Connection/HTTP Receiver/Proxy Configuration/Send HTTP Request/
Tibco Questions Designed by Madugula Chandra Sekhar 11

Send HTTP Response/Wait for HTTP Request JMS Palette Get JMS Queue Message/JMS Application Properties/JMS Connection/JMS Properties JMS Queue Receiver/JMS Queue Requestor/JMS Queue Sender/JMS Topic Publisher JMS Topic Requestor/JMS Topic Subscriber/Reply To JMS Message/ Wait for JMS Queue Message/Wait for JMS Topic Message Mail Palette Receive Mail/ Send Mail SOAP Retrieve Resources/SOAP Event Source/SOAP Request Reply/SOAP Send Fault SOAP Send Reply/SOAP Messages Over the JMS Transport WSDL The WSDL palette is used for creating, editing, validating, importing, and viewing WSDL (Web Service Description Language) files. These files are shared resources that describe web services. The WSDL palettes resources are used to create and reuse abstract definitions, namely: messages, which describe the data being exchanged portTypes, which define a set of operations and operations, which describe the activities supported by the web service WSDL/ Message/ PortType/ Operation Q Compare the OnStartup and onShutdown activities The On Startup process starter specifies a process to execute when the process engine starts, before any incoming events are processed. In the event that the process engine is restarting and attempting to recover checkpointed process instances, the On Startup process definition must complete its execution before any recovered process instances execute. The On Startup process starter can be useful to specify any preprocessing that must be done before regular processing starts. For example, your application may check that the required database tables exist and create them necessary. Also, you may wish to send email to administrators notifying them that the process engine is starting. Typically, you create one process definition that uses the On Startup process starter and place all pre-processing activities into that process definition. However, you can have more than one process definition that uses the On Startup process starter. All process definitions with
Tibco Questions Designed by Madugula Chandra Sekhar 12

the On Startup process starter execute in no specific order when the process engine starts. The On Shutdown process starter specifies a process to execute when the process engine shuts down, after all process instances are executed. The On Shutdown process starter can be useful for specifying any postprocessing that must be done before shutting down the engine. For example, your application may back up a database table then purge the data. Also, you may wish to send email to administrators notifying them that the process engine is shutting down. Typically, you create one process definition that uses the On Shutdown process starter and place all post-processing activities into that process definition. However, you can have more than one process definition that uses the On Shutdown process starter. All process definitions with the On Shutdown process starter execute in no specific order when the process engine shuts down Q Compare Timer and Sleep Activities The Sleep activity suspends the process on the current transition for the given amount of time. If you have multiple control flows in your process, only the current execution branch of the process is suspended. The Timer process starter starts a process at a specific time. You can also specify that processes are to be started periodically. Q Transaction Palette Transactions allow you to perform a group of activities as a single unit of work. All activities in the group either complete or commit together or one or more failures in the group cause the transaction to roll back or undo the changes made JTA UserTransaction Configuration Transaction State XA TransactionManager Configuration The JTA UserTransaction Configuration shared configuration resource contains the information required to communicate with a Java Transaction API (JTA) transaction manager. This resource is used by transaction groups that use the JTA UserTransaction type The Transaction State activity can be used in a transaction group to obtain the current state of the transaction or to set the transaction to a rollback only state. When a transaction is set to the rollback only state, the only outcome of the transaction that is permitted is a rollback.
Tibco Questions Designed by Madugula Chandra Sekhar 13

The XA TransactionManager Configuration shared configuration resource contains the information required to communicate with an XA-compliant transaction manager. This resource is used by transaction groups that use the XA Transaction type Q Inter process communication

Executing process instances can communicate and can pass data between each other. The General Activities palette contains the Wait and Notify activities and the Receive Notification process starter for implementing interprocess communication. TIBCO BusinessWorks allows two executing process instances to communicate. You may need process instances to communicate if you wish to synchronize process execution or if your processes must execute in a specific order. TIBCO BusinessWorks provides the Wait and Notify activities and the Receive Notification process starter to handle inter-process communication. These activities are similar to semaphores in programming. A process containing a Wait activity waits for another process to execute a corresponding Notify activity. Alternatively, the Receive Notification process starter creates a new process instance when another process executes the corresponding Notify activity. The data sent between the activities is defined by a Notify Configuration shared configuration resource. The Notify activity only sends information to the Receive Notification process starter or Wait activity that specifies the same Notify Configuration resource. The schema supplied to the Notify Configuration resource can be empty, if you do not wish data to be sent between processes. However, the Notify Configuration resources must be the same for the Notify, Receive Notification, or Wait activities if they are to be used to communicate with each other. A string-based key is used to coordinate between Wait/Notify/Receive Notification activities to determine when a Notify activity corresponds to a Wait or Receive Notification. The key is supplied to the Notify activity, and any Wait activity that matches that key is executed when the Notify occurs. When a Notify activity executes its information is stored until a matching Receive Notification or Wait activity accepts the information. The Notify activity executes immediately and transitions to the next activity. The Notify activity cannot be used to determine when a corresponding Receive Notification or Wait has received the information. In general, using inter-process communication consists of these steps: 1. Define the data that must be passed between the processes by creating a Notify Configuration shared configuration resource. 2. Determine the key that correlates processes with Notify activities with the corresponding processes with Receive Notification process starters or Wait activities.
Tibco Questions Designed by Madugula Chandra Sekhar 14

3. Create process definitions that use the Receive Notification, Wait, and Notify activities. These activities are located in the General Activities palette. See 4. If your process engines are on different machines, a database must be used to store process instance information. Wait/Notify information is stored in a database so that process engines on different machines can share information Q How to create web service in the BW

Tibco Administrator Q

What is flow, Max jobs and Activation Limit Max Jobs Specifies the maximum number of process instances that can concurrently be loaded into memory. Activation Limit Specifies that once a process instance is loaded, it must remain in memory until it completes. Max Jobs (Flow Limit) Specifies the maximum number of currently running process instance to start before suspending the process starter.

Q What are the possible transports between deployed applications and Tibco Administrator? HTTP/HTTPS and RV Q What is the tool you need to add a machine to administration domain DomainUtility Appmanage The Appmanage utility creates an XML based deployment configuration file where deployment options can be defined. The utility also uploads the deployment file and enterprise archive file into an administration domain. It can be used to: Q

Create a deployment configuration file based on information in an enterprise archive file, or from an application already configured in the TIBCO Administrator GUI. Upload an enterprise archive file to an administration domain without specifying deployment configuration options. After the file is imported, it is ready to be configured and deployed using the TIBCO Administrator GUI. Upload an enterprise archive file and a deployment configuration file into an administration domain in one operation. The application is uploaded with its deployment options set, but is not deployed.
Designed by Madugula Chandra Sekhar 15

Tibco Questions

Upload an enterprise archive file and a deployment configuration file and deploy the application in one operation. Using this method, you can quickly deploy your applications in multiple domains. Export all application archives and deployment configuration files within a domain, so they can be batch deployed, undeployed or deleted in another domain. Undeploy a deployed application. Delete an application from an administration domain. If the application is deployed, you can undeploy it and delete it in one operation. Start an applications process engines or service instances Stop a successfully deployed process engine or service instance. Monitoring and Management Options? At runtime, TIBCO Administrator allows you to remotely access all deployments in your administration domain. Depending on your security privileges, you may be able to perform one or more of the following tasks. User ManagementAdd users and passwords to the administration domain for authentication, then give each user view or execute privileges for TIBCO Administrator GUI elements or project repositories (data stores). Domain Monitoring and ManagementView the status of machines and components running on machines in the domain. Start and stop components as needed. Deployment monitoringMonitor the status of each deployment component (process engine and adapter) and process instance and the status of the machines executing them. View trace files and throughput. Deployment managementView all running components and stop and restart them as needed. These aspects of monitoring and management are supported by TIBCO Administrator, which includes the TIBCO Administration Server and the TIBCO Administrator GUI. Tibco Hawk TIBCO Hawk is a sophisticated tool for enterprise-wide monitoring and managing of all distributed applications and systems. System administrators can use it to monitor adapters in a wide area network of any size. TIBCO Hawk can be configured to monitor system and adapter parameters and to take actions when predefined conditions occur. These actions include: sending alarms that are graphically displayed in the TIBCO Hawk display, sending email, paging, running executables, or modifying the behavior of a managed adapter. Unlike other monitoring applications, TIBCO Hawk relies on a purely distributed intelligent agent architecture using publish or subscribe to

Tibco Questions

Designed by Madugula Chandra Sekhar

16

distribute alerts. TIBCO Hawk uses TIBCO Rendezvous for all messaging and thus gains the benefits and scalability from the TIBCO Rendezvous features of publish/subscribe, subject name addressing, interest-based routing, and reliable multicast. TIBCO Hawk is a purely event-based system that uses alerts. The agents are configured with rules that instruct them on everything from what and how to monitor to what actions to take when problems are discovered. Thus the workload is fully distributed throughout the enterprise. Every agent is autonomous in that it does not depend on other components to perform its functions. The TIBCO Hawk Enterprise Monitor consists of these components: DisplayGUI front end that displays alarms and provides editors to create rule bases, create tests, view messages, and invoke microagents to request information or initiate an action. AgentsIntelligent processes that perform monitoring and take actions as defined in rules. RulebasesRules that are loaded by agents to determine agent behavior. Application Management Interface (AMI)Manages network applications via TIBCO Rendezvous and supports communication between a network application and monitoring TIBCO Hawk agents, including the ability to examine application variables, invoke methods, and monitor system performance. MicroagentsFeed information back to TIBCO Hawk and expose action methods to rulebases. Available Microagents Each adapter has two microagents, a standard TIBCO Hawk microagent named COM.TIBCO.ADAPTER.xyz (where xyz is the adapter configuration name) and a custom microagent. These microagents provide: Business level statisticsstatistics that report the progress of the adapter as it interacts with the database. For example, in a database adapter such statistics might indicate whether objects were successfully or unsuccessfully inserted, updated, or deleted in the database. Queries that return information about the state of the adapter. This can be an important tool for seeing the internals of an adapter and debugging it if something appears wrong. For example, methods can return information about threads, internal queues, or connections to the target system. Using these methods, one might be able to identify certain bottlenecks or gauge how successfully an adapter is scaling with respect to the current environment. Updates of the adapter runtime parameters. This includes retrieving the current runtime parameters and setting new runtime parameters without restarting the adapter. An example of this is getting and setting the polling interval. Updating a runtime parameter through the Hawk microagent only affects the setting of the instance that is
Tibco Questions Designed by Madugula Chandra Sekhar 17

running. It does not make a permanent change of the setting in either the repository or the .tra file. Q Rulebase A rulebase is a collection of one or more rules. A rule is a user defined monitoring policy. It specifies a data source in the form of a microagent method, one or more tests that check for conditions, and one or actions to perform if a test is true. With TIBCO Hawk rulebases, you can perform general monitoring tasks and test for very specific conditions. Escalations can be applied to actions to allow for a staged response to a condition. An agent can be configured to initially take corrective actions itself, but if the condition still persists, then call for outside help from administrators. The rulebase editor in TIBCO Hawk Display allows easy construction of simple and complex rules. No scripting is required and an administrator does not need to learn special rule syntax. The rules of a rulebase are typically constructed so that each rulebase focuses on monitoring a particular application or system resource. The rulebases are then assigned to multiple agents with similar monitoring requirements. Configuration options provide flexible mechanisms for distributing rules. Adding a new rulebase to one agent or 1000 agents takes the same amount of time. All rulebase changes are performed dynamically in the agent with no required restart. Schedules can be imposed on the rulebase hierarchy to control when monitoring activity and corrective tasks are performed. In a schedule you can define both inclusion and exclusion periods during which an object can be active. Like rules, schedules can be distributed to multiple agents with similar requirements Q How to monitor the CPU usage To test for memory usage by a process: Microsoft Windows: Use the Performance microagent and the Process() method, and check the Virtual Bytes or Working Set result field. UNIX: Use the Process microagent and the getProcess() method, and check the Virtual KBytes or %Memory result field. To test for CPU usage by a process: Microsoft Windows: Use the Performance microagent and the Process() method, and check the %Processor Time result field. UNIX: Use the Process microagent and the getProcess() method, and check the %CPU result field. How to monitor the process is stopped Using getProcess() method

Tibco ADB Adaper Q What are the Adapter services available in ABD
Designed by Madugula Chandra Sekhar 18

Tibco Questions

An adapter provides a bridge between an application and your TIBCO integration environment Adapters are responsible for making information from different applications available to other applications across an enterprise. To do so, an adapter is configured to provide one or more of the following services: Publication Service Subscription Service Request-Response Service Request-Response Invocation Service Publication Service An adapter publication service recognizes when business events happen in a vendor application, and asynchronously sends out the event data in realtime to interested systems in the TIBCO environment. For example, an adapter can publish an event each time a new customer account is added to an application. Other applications that receive the event can then update their records just as the original application did. As shown in the next diagram, when an application receives a request to create a new customer record, the application notifies the adapter about the request and the adapter publishes the event.

The following steps correspond to steps listed in the diagram: 1. Using a graphical user interface, a new customer record is created in the application. 2. The application sends the new customer record to the adapter. 3. The adapter publishes the event using TIBCO messaging. Subscription Service
Tibco Questions Designed by Madugula Chandra Sekhar 19

An adapter subscription service asynchronously performs an actionsuch as updating business objects or invoking native APIson a vendor application. The adapter service listens to external business events, which trigger the appropriate action. Going back to the previous example, an adapter subscription service can listen for customer record creation events (happening in an application and published to the TIBCO infrastructure) and update another application. TIBCO Messaging Application Order Entry GUI 1) Create Customer Record 2) Generate Event 3) Publish Event Adapter

The following steps correspond to the new steps listed in the diagram: 4. The adapter is configured to listen to customer record creation events as they are published. 5. Upon reception of a customer creation event, the adapter updates the application to which it is connected. Request-Response Service In addition to asynchronously publishing and subscribing to events, an adapter can be used to synchronously retrieve data from or execute 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.
Tibco Questions Designed by Madugula Chandra Sekhar 20

In the next example, an adapter receives a request message from the TIBCO infrastructure and sends it to an application. The adapter gets a response from the application and returns it. TIBCO Messaging

The following steps correspond to steps listed in the diagram: 1. An application sends a message request to the TIBCO environment. 2. The adapter, acting as a request-response server receives the request and forwards the request to the application. 3. The application parses the request and returns a response message to the adapter. 4. The adapter sends the response message back to the TIBCO infrastructure where the response is available to the requesting application. Request-Response Invocation Service An adapter request-response invocation service is similar to the requestresponse 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 synchronously invoke functionality on an external system. The next diagram shows the adapter sending a request message from application Y to application X. After it processes the message, it is returned to the adapter, which sends the response back to application Y. TIBCO Messaging

Tibco Questions

Designed by Madugula Chandra Sekhar

21

Q What are the possible transports between adapters and Business process? TIBCO Rendezvous Reliable and Certified Message Delivery Modes ActiveEnterprise Message/Rendezvous Message/XML Message wire formats Possible values are: Reliable (TIBCO Rendezvous transport type only) Reliable message delivery. Ensures that each multicast or broadcast message is received as long as the physical network and packet recipients are working, and that the loss of a message is detected. This choice can compensate for brief network failures because it can retransmit a message on request if the first attempt failed. This choice is appropriate when message delivery is expected but some loss can be tolerated. Messages are received without explicit confirmation. Certified (TIBCO Rendezvous transport type only) Certified message delivery. Offers stronger assurances of message receipt, along with tighter control, greater flexibility and fine-grained reporting. Guarantees that every certified message reaches its intended recipient in the order sent. The message can be sent across network boundaries, and if a network fails, delivery attempts continue until delivery succeeds or
Tibco Questions Designed by Madugula Chandra Sekhar 22

until the message's time limit expires. If certified message delivery is used, data is stored in a ledger file. The size of the ledger depends on several factors, the most important of which is the retention rate of stored data. That is, the ledger grows fastest in response to the cumulative length of undeliverable messages. You must ensure that sufficient disk space is available for the expected size of the ledger. TIBCO Enterprise for JMS Point to Point and Broadcast Delivery modes (persistent/non persistent) XML Message wire format Persistent In general, a message marked persistent will be available to a JMS client even if the TIBCO Enterprise Message Service server goes down. Persistent messages are held in secondary storage in the server and have guaranteed delivery when sent to a topic that has durable subscribers. (If a topic has no durable subscribers, there are no subscribers that need messages resent in the event of a server failure and therefore messages do not need to be saved.) Performance is improved because disk I/O is not required. Non-Persistent (JMS transport type only) A message marked non persistent will not be available to a JMS client if the TIBCO Enterprise Message Service server goes down. These messages are never written to persistent storage. Opaque transport uses the TIBCO Rendezvous wire format. Q What are the qualities of services we can have in adapter publishing services? The transport type (Rendezvous or JMS) you select for the run-time adapter determines which quality of service, delivery mode, and wire format the service can use. Only options that are compatible with a services transport type will be available for selection. Quality of service, delivery mode, and wire formats are described below. Quality of Service This is the level of service that determines how messages are sent. Possible values are: Reliable (TIBCO Rendezvous transport type only) Reliable message delivery. Ensures that each multicast or broadcast message is received as long as the physical network and packet recipients are working, and that the loss of a message is detected. This choice can compensate for brief network failures because it can retransmit a message on request if the first attempt failed. This choice is appropriate when message delivery
Tibco Questions Designed by Madugula Chandra Sekhar 23

is expected but some loss can be tolerated. Messages are received without explicit confirmation. Certified (TIBCO Rendezvous transport type only) Certified message delivery. Offers stronger assurances of message receipt, along with tighter control, greater flexibility and fine-grained reporting. Guarantees that every certified message reaches its intended recipient in the order sent. The message can be sent across network boundaries, and if a network fails, delivery attempts continue until delivery succeeds or until the message's time limit expires. If certified message delivery is used, data is stored in a ledger file. The size of the ledger depends on several factors, the most important of which is the retention rate of stored data. That is, the ledger grows fastest in response to the cumulative length of undeliverable messages. You must ensure that sufficient disk space is available for the expected size of the ledger. Distributed Queue (TIBCO Rendezvous transport type only) A distributed queue is a group of cooperating transport objects, each in a separate process. To obtain load balancing among servers, the adapter uses distributed queues for one-of-n delivery of messages to a group of servers. Each member of a distributed queue listens for the same subject using the TIBCO Rendezvous Distributed Queue listener objects. Even though many members listen for each inbound message (or task), only one member processes the message. Transactional The Transactional option is no longer supported. The option is included for backward compatibility with version 5.0 and 4.x adapters Delivery Mode (JMS transport type only) The method of delivery for a JMS message. The semantics for these fields are somewhat more complex than the explanation given here. Persistent In general, a message marked persistent will be available to a JMS client even if the TIBCO Enterprise Message Service server goes down. Persistent messages are held in secondary storage in the server and have guaranteed delivery when sent to a topic that has durable subscribers. (If a topic has no durable subscribers, there are no subscribers that need messages resent in the event of a server failure and therefore messages do not need to be saved.) Performance is improved because disk I/O is not required. Non-Persistent (JMS transport type only) A message marked non persistent will not be available to a JMS client if the TIBCO Enterprise Message Service server goes down. These messages are never written to persistent storage. Wire Formats Services must use the same wire format to exchange data. Rendezvous Message (TIBCO Rendezvous transport type only) A selfdescribing wire format used by TIBCO Rendezvous applications. Control
Tibco Questions Designed by Madugula Chandra Sekhar 24

information for validation is not sent in the message. If you use this format, the adapter is compatible with adapters not developed with TIBCO Adapter SDK. XML Message (TIBCO Rendezvous and JMS transport types) The Transactional option is no longer supported. The option is included for backward compatibility with version 5.0 and 4.x adapters. The XML Message wire format conforms to specifically constructed and fully compliant XML Schema (XSD) based on the existing definition of the TIBCO ActiveEnterprise schema. ActiveEnterprise Message (TIBCO Rendezvous transport type only) An externally-described XML wire format supported by the TIBCO Adapter SDK. Control information for validation is sent in the message. If no control information is included, an exception is returned to the subscriber. TIBCO ActiveEnterprise standard wire format provides class information and packing rules for the TIBCO Adapter SDK set of data types. This format allows TIBCO ActiveEnterprise components to perform extra validation on messages sent or received. Q Explain the internal functioning of ADB publication service

Polling Mechanism Polling is a mechanism used by adapters to periodically retrieve data from a vendor application that stores data in a permanent store like a database. The settings for the polling interval and polling size can affect adapter performance. Setting too small of a polling size or too large of a polling interval can slow the your adapters performance if the vendor application itself is relatively fast. Conversely, setting the polling interval to be too small can create too much of a load on the vendor application. Definitions Event data Changes to application data that are stored as events in a permanent store. An example of a store is a database. The event data may be in the form of database records or reference keys that are used to retrieve actual data by invoking application API(s). Event store or Publishing Table The permanent store containing event data. The event store is also known in many adapters as a Publishing Table, or a Staging table. The event store may either be populated by setting triggers or registering callbacks within the application or by an adapter agent that is notified by the application of event data. The changes to application data are written (as actual data or reference to data) into the event store by plug-ins or triggers setup in the application instance during adapter configuration. Publication Service The adapter component that polls event data from the event store and publishes them to the TIBCO environment on the configured subject for that event type. Poller Component of the publication service that polls for the event data from the event store. How the Polling Mechanism Works
Tibco Questions Designed by Madugula Chandra Sekhar 25

The publication service in the adapter retrieves data from the store and publishes the desired information about the event in the TIBCO environment. For example, when an application updates a table in a database monitored by an adapter such as TIBCO Adapter for ActiveDatabase, the adapter extracts data from the changed rows from database tables and publishes them on appropriate subjects. An adapter polls (checks/selects) the publishing tables periodically for any new rows to be published. This method is most efficient when the publishing tables change frequently and a limited number of database operations is preferred. In the case where the publishing tables change infrequently, polling may result in many unnecessary database accesses. For this situation the alerter can be used to asynchronously alert the adapter of changes in the database. This removes the need for the adapter to poll its publishing table for existence of new rows. It is recommended to use the alerter only when database changes are infrequent. When the adapter receives an alert, it publishes the new data. The alerter is not available on all databases and platforms. Q What is publish by value and publish by reference. Explain the pros and cons. Publish data by creating a copy (by value). Publish by reference (publish data directly from the source database table without first copying the data from the source table to a publishing table). Publish by Value When a user modifies a row in a source table that has been set up for publication, the data in the modified row is copied into a publishing table by a stored procedure created by the adapter during configuration. The adapter then selects the data from the publishing table, packs it into a message, and sends it. An advantage of publish by value is its speed. However, it does not support some data types, such as Oracle LONG and LONG RAW. Publishing these data types by value from a top-level table is unsupported due to database trigger limitations. Publish by Reference The publish by reference feature allows you to publish data directly from the source table without first copying the data to a publishing table. If a source table is set up to publish by reference, the publishing table does not contain a copy of the source table data. Instead, the adapter selects the data for publishing directly from the source table itself. For example, to publish from ORDER_TABLE with a key field ORDER_ID, the publishing table is created with the necessary adapter fields and the ORDER_ID field. When a row in ORDER_TABLE is modified, the trigger fires, populating adapter fields and copying the ORDER_ID value to the publishing table. When the adapter polls the publishing table, it detects the new row
Tibco Questions Designed by Madugula Chandra Sekhar 26

and selects from the ORDER_TABLE using the ORDER_ID value found in the publishing table. Then the message is published. The advantage of publishing by reference is that the data to be published is stored just once. Also, this method supports data types such as Oracle LONG and LONG RAW. The disadvantage of publish by reference is that after a row in the source table is modified, a small amount of time passes before the adapter selects the row. During this short interval, the row could be modified again. If this happens, the adapter will get only the second set of modifications when it selects the row. However, this time lapse can be minimized by using the alerter. When publishing by reference, a key column or substitute key column is required for populating the publishing table. If the source table has no primary key, it can only be set up to publish by reference if a key column is specified when adding the publication. Q What is Exception table You can designate an exception table for a subscription service. If a subscriber adapter cannot write data to its destination table, it will write the data to the exception table. To write to an exception table, an adapter must be started with the adb.useExceptTable option set to on in the supplied properties file and an exception table must have been specified when using TIBCO Designer to add a subscription. If an error occurs when inserting data into the destination table, the adapter attempts to insert the data into the exception table. If the insertion into the exception table is successful and the RVCM quality of service is specified for the subscription, the transaction commits and confirmation for the message is sent back. In the publishing table, the value of the delivery status column is C, since the message was processed. If you are using a durable JMS subscriber, a JMS confirmation will be sent back. If the insertion into the exception table fails, an error message displays, a rollback occurs and a TIBCO Hawk alert is published. The adapter will then terminate. The user is advised to fix the problem with the message or the table and then to restart the adapter. The message will be delivered again after the adapter starts. (If the adapter did not terminate, after the next message was inserted successfully, its confirmation would also implicitly confirm the failed message.) You can identify the operation that failed by checking the ADB_OPCODE column of the publishing table. The ADB_ERROR_TEXT column contains error information. Using an Exception Table as a Source Table If you want to publish from an exception table and also want to use that exception table as the source table, do not use the
Tibco Questions Designed by Madugula Chandra Sekhar 27

ADB_ERROR_TEXT or ADB_OPCODE column names. Instead, follow these guidelines: Create a database view that mirrors the exception table, but rename the ADB_ERROR_TEXT and ADB_OPCODE columns so that they do not begin with "ADB_." After renaming the columns, use Publish By Reference Object and choose your view as the reference object. Q What is Opaque Exception table Use Opaque Exceptions Table Select the box to use an opaque exceptions table. The table records each message (entirely) into a column, along with the error message. A message is logged in the exceptions table if the subscription service fails to generate records in the destination table or the adapter fails to insert a message into an exception table. For DB2/OS390 databases, you must create a Large Objects (LOB) tablespace before using the opaque exceptions table, which will use the LOB tablespace. Opaque Exceptions Table Type the name for the opaque exceptions 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. The opaque exception table records the entire message into a column along with the error message. Q Publication and subscription service Publication and Subscription Services The following diagram illustrates publication and subscription. Database Application 1 updates a table in a database monitored by a TIBCO Adapter for ActiveDatabase publication service. The adapter extracts data from the changed rows of the database tables and publishes it on the specified transport (TIBCO Rendezvous or TIBCO Enterprise Message Service). This data is then available to other applications listening on these transports. One particular type of listening application could be another instance of a TIBCO Adapter for ActiveDatabase adapter, running a subscription service. Upon receiving a message, it updates the relevant tables in its associated database.
Tibco Questions Designed by Madugula Chandra Sekhar 28

Request-Response Service The request-response feature in TIBCO Adapter for ActiveDatabase allows an application to submit one or more SQL statements, stored procedures, or both for the adapter to execute. After execution, the adapter returns one or more result sets and a result code. The request and responses are formulated using nested self-describing messages. This data flow is illustrated in the figure below.

Tibco Questions

Designed by Madugula Chandra Sekhar

29

Tibco Q What are steps to follow to deploy a project in the Tibco Admin or any other build scripts Q How will configure the Fault tolerant and Load Balancing in Admin

In the diagram above, you see four EMS Server instances with each FaultTolerant (FT) pair sharing the same EMS Server Name, and you see the client with a complex URL that is constructed such that you have FT pairs separated by a comma and those pairs in a Load-Balanced (LB) arrangement separated by a vertical bar (or pipe symbol). To make this arrangement work on a single machine, the individual services are on distinct ports. The first FT pair has an active server on port 7222 with a backup server listening on port 7224, for example. The primary is the one that starts first. To make LB work, you need to route between servers, so a new EMS Server Name needs to be used, and Topics and Queues need to be routed between these instances. Queues are restricted to a single hop, while Topics can be
Tibco Questions Designed by Madugula Chandra Sekhar 30

multi-hop for their routes. Load-Balancing can be across an arbitrary number of servers and need not be in conjunction with Fault-Tolerance. Overall, we will be configuring the EMS Daemons, configuring appropriate JMS Factories, configuring routes, and creating Topics and Queues. Q Give the flow of client/Auto acknowledge modes for message delivery (RV or JMS) Q How to handle the System and Data errors in your Error handler part Q When you go for Java code in your project You can add custom code to your process definition with the Java Code activity. This activity allows you to write standard Java code that can manipulate any of the process data or perform any action you choose. The Java Code activity automatically creates an invoke() method in which you place the code you wish to execute. This method is called when the engine processes the Java Code activity. Accumulate Output For iteration and repeat until true loops, you can accumulate the output of one of the activities in a group by checking the Accumulate Output field. If you check this field, you can select one of the activities in the group, and each time the loop is executed, the selected activitys output is placed into a list. The list of accumulated output for that activity is stored in a variable whose name is specified in the Output Name field. After the loop exits, this variable can be accessed in the same way other process data can be accessed by other activities. Because you can accumulate output from only one activity in a group, you should design your group so that only one activity in the group holds the data to accumulate for each iteration. For example, you may want to accumulate a list of customer names from repeated executions of a JDBC Database Query task, or you may wish to accumulate the sum of the amounts for line items in an order. Because you can only select one activity in the Accumulate Output field, to accumulate ouptut from several activities, you must use a different approach. One approach is to create a process variable to hold the data and use the Assign activity to assign values from each iteration of the loop to the process variable. Alternatively, you can use a Java Code activity to concatenate the data into the output parameters for the Java Code activity. You can then choose the Java Code activity as the Output Activity to accumulate for each iteration of the loop. Q. Persistent Connection pool
Tibco Questions Designed by Madugula Chandra Sekhar 31

You can specify the maximum number of connections to create in the persistent connection pool, and you can also specify the maximum number of persistent connections for each HTTP server. Connections for each HTTP server are created in the pool until the maximum is reached. When a Send HTTP Request activity requires a connection, the pool is searched for a connection that corresponds to the HTTP server. If a corresponding unused connection is found, it is used. If the maximum number of connections for that particular server have been reached, the request must wait for a connection to be released before using it. If no connection is found to a corresponding HTTP server, a new connection is created if the maximum pool size has not been reached. If no corresponding connection is found and the maximum pool size has been reached, the activity must wait for a connection to be freed before proceeding. Fetching Subsets of the Result Set When the result set of a query is very large, you can retrieve subsets of the result set and iterate until the entire result set is processed. To retrieve subsets, you must use a Repeat Until True loop group to iterate until the entire result set is processed. Use the following procedure as a guideline for creating your Repeat Until True loop group. 1. Create a JDBC Query activity. 2. Specify the fields on the Configuration tab and create a query that returns multiple rows. 3. Check the Process In Subsets field on the Advanced tab. 4. Set the subsetSize input item for the JDBC Query activity to the number of records you wish to process for each execution of the loop. You could specify a constant, or you could use a global variable to store the value. Using a global variable has the advantage that you can change the value of the variable at deployment time. For example, create a global variable named BATCH_SIZE, then specify the chunkSize input element as $_globalVariables/pfx:GlobalVariables/BATCH_SIZE. 5. Select the JDBC Query activity and click the group icon on the toolbar to create a group containing the activity. See TIBCO BusinessWorks Process Design Guide for more information about working with groups. 6. Select Repeat Until True as the Group action, and specify an index name (for example, i). 7. The loop should exit when the entire result set has been consumed. The output element lasSubset is a boolean that is set to true when the last subset of records is being processes. For example, the condition for the loop could be set to the following: $JDBCQuery/resultSet/lastSubset = "true"
Tibco Questions Designed by Madugula Chandra Sekhar 32

timeout number Time (in seconds) to wait for the query to complete. If the query does not complete in the given time limit, an error is returned. maxRows number The maximum number of rows to retrieve. To retrieve all rows, specify 0. Input Item Datatype Description Service Resource To define a Service resource, follow this general procedure: 1. Provide an abstract WSDL file (see WSDL on page 650) that describes the interface to the service. 2. For each operation in the interface, specify a process definition that implements the operation. 3. Specify one or more endpoint bindings to expose the service to potential clients. 4. For each endpoint binding, specify a transport configuration (either HTTP Connection or JMS Connection. 5. Specify any transport-specific information, such as endpoint URL for HTTP transports or JMS Destination Name for JMS transports. 6. Specify any SOAP details, such as SOAP Version or encoding for each operation. 7. Specify attachments, headers, or context information for input and output messages, if necessary.

Business Process Modeling


Most businesses choose the best application or environment for processing each component of their core business. In a typical enterprise, the flow of information and processing between each application is what drives the dayto-day operations of the business. Q Loop Detection If a source table is used both as the source and destination table on the same subject, the loop detection feature should be enabled. The feature prevents the same changes from being published repeatedly. If the loop detection feature is enabled, an additional column, ADB_SOURCE, is added to the source table. When an adapter receives a message, it inserts or updates the source table and enters a T in the ADB_SOURCE column to denote that this row was inserted or updated as a result of a message, rather than from user intervention. Triggers created by the ActiveDatabase Adapter Configuration palette are defined to not copy rows with T in the ADB_SOURCE column into the publishing table, which effectively means that the row will not be published. If you must update a row that was received (that is, has a T in the ADB_SOURCE column) and want the updated row propagated, you must also change the ADB_SOURCE column to NULL. This causes the trigger to pick up the row and send it out.
Tibco Questions Designed by Madugula Chandra Sekhar 33

Q Adapters Concepts Tables The tables are created by running a script specific to your database vendor. The script creates the following tables, all with a common set of columns: Source table to which you will add new data. Publishing table to which the new data from the source table is copied using the trigger set on the source table. This table has additional columns (prefixed by ADB_) that are used by the adapter. Destination table that TIBCO Adapter for ActiveDatabase will update with the new data. Exception table to which TIBCO Adapter for ActiveDatabase will write any errors that occur during subscription. Actions When you add data to the source table, the following occurs: 1. The insert action fires a trigger and the inserted row is copied to the publishing table. 2. The publisher adapter polls the publishing table to check if any new rows have been inserted. Newly inserted rows are fetched using ODBC, packed into a message, and published. 3. The subscriber adapter listens for messages. When a message arrives, the subscriber adapter inserts it into the destination table using ODBC.

Setting Up and Starting the Alerter on Oracle


Designed by Madugula Chandra Sekhar 34

Tibco Questions

The alerter on Oracle uses the Oracle AQ package to send and receive information between sessions, asynchronously allowing two or more sessions in the same database instance to communicate. As shown next, when a source table is updated with data and the commit_and_notify procedure executed, a trigger copies the data to the publishing table and notifies the Oracle AQ that a publishing table has changed. The alerter gets the notification from Oracle AQ and sends a notification message to the adapter that a publishing table has changed. The adapter then queries all its configured publishing tables for the new data and sends it on a subject to the TIBCO transport. One or more instances can be notified.

If there are multiple publishing tables under the same database account, you can use the commit_and_notify_table procedure to specify that only a particular table be checked by the adapter. This prevents the adapter from needlessly checking all its publishing tables for updates when only one table has been updated with new data. This notification can be sent to one or more instances To use the alerter, you must install the Oracle AQ package. See your Oracle documentation for information about installing the Oracle AQ package. When configuring the publication service, you must enable the alerter by selecting the Use Alerter option under the Publisher Options tab. When the adapter starts, the alerter will also start. Name Type Description If an adapter that uses the alerter is not shutdown cleanly, you must call the cleanup_alerter stored procedure before restarting the adapter. The procedure is normally called by the adapter when it shuts down cleanly.

Tibco Questions

Designed by Madugula Chandra Sekhar

35

Synchronous or Asynchronous Message Consumption The API allows for synchronous or asynchronous message consumption. For synchronous consumption, the MessageConsumer explicitly calls the receive() method on the topic or queue. For asynchronous consumption, the client registers a MessageListener for the topic or queue. When a message arrives at the destination, the TIBCO Enterprise Message Service server delivers the message by calling the listeners onMessage() method Flow Control In some situations, message producers may send messages more rapidly than message consumers can receive them. The pending messages for a destination are stored by the server until they can be delivered, and the
Tibco Questions Designed by Madugula Chandra Sekhar 36

server can potentially exhaust its storage capacity if the message consumers do not receive messages quickly enough. To avoid this, TIBCO Enterprise Message Service allows you to control the flow of messages to a destination. Each destination can specify a target maximum size for storing pending messages. When the target is reached, TIBCO Enterprise Message Service blocks message producers when new messages are sent. This effectively slows down message producers until the message consumers can receive the pending messages. Enabling Flow Control The flow_control parameter in tibemsd.conf enables and disables flow control globally for the TIBCO Enterprise Message Service server. When flow_control is disabled (the default setting), the server does not enforce any flow control on destinations. When flow_control is enabled, the server enforces any flow control settings specified for each destination. See Chapter 7, Using the Configuration Files, on page 117 for more information about working with configuration parameters. When you wish to control the flow of messages on a destination, set the flowControl property on that destination. The flowControl property specifies the target maximum size of stored pending messages for the destination. The size specified is in bytes, unless you specify the units for the size. You can specify KB, MB, or GB for the units. For example, flowControl = 60MB specifies the target maximum storage for pending messages for a destination is 60 Megabytes. Enforcing Flow Control The value specified for the flowControl property on a destination is a target maximum for pending message storage. When flow control is enabled, the server may use slightly more or less storage before enforcing flow control, depending upon message size, number of message producers, and other factors. Setting the flowControl property on a destination but specifying no value causes the server to use a default value of 256KB. Configuring Fault-Tolerant Servers To configure an EMS server as a fault-tolerant backup, set these parameters in its main configuration file (or on the server command line): server Set this parameter to the same server name in the configuration files of both the primary server and the backup server. ft_active In the configuration file of the primary server, set this parameter to the URL of the backup server. In the configuration file of the backup server, set this parameter to the URL of the primary server. When the backup server starts, it attempts to connect to the primary server. If it establishes a connection to the primary, then the backup server enters standby mode. If it cannot establish a connection to the primary, then the backup server assumes the role of the primary server (in active mode). While the backup server is in standby mode, it does not accept connections from clients. To administer the backup server, the admin user can connect to it using the administration tool.
Tibco Questions Designed by Madugula Chandra Sekhar 37

Q How to configure the connection pooling Q How to increase the heap size if the service consuming more memory (out of memory) Q How to create a Ear File and Proj library file Q How to handle the BWEngine crash Tibco Q What are necessary details in design documents Q Mapping & Transformation details Q Sequence and Schema design Technical Crisis AIM: - What was a serious technical / design issue they faced? How was it solved? Followed standards & guidelines? Review process followed by team, how? Testing solution end to end for performance, functionality etc. systematically? Contributions to Architecture with development issues, concerns etc.,? Issues faced during development & deployment? Support team management on EAI? Technical Achievements AIM: - Explain one of their major technical achievements? Architectural Comparisons AIM: - At any time they had a chance to compare various EAI tools? Why was one EAI tool better than the other in the given scenario? Also, apart from tools the architectural situation of one of our previous projects should be described to the candidate, narrating the problem we encountered, or an RFP, and then find the response out. SOA usage in EAI AIM:- What is their level of knowledge in SOA? Any Implementation knowledge? Clarity in concepts of SOA, usage of SOA in EAI. BPM usage in EAI AIM: - What is their level of knowledge in BPM? What is the understanding in BPM, how do you map business to implementing BPM Drill on product specific implementations AIM: - Details of a few product specific implementations they have done Response and Technical solution to RFPs
Tibco Questions Designed by Madugula Chandra Sekhar 38

AIM: - Have they responded to RFPs and given technical solutions? Explain in detail the process and a technical solution they have given. The requirement of one of our previous RFP should be described to the candidate, and then find how the candidate would have responded? Experience in mentoring team members AIM:-What is their experience in mentoring of team members? Experience Band : 7 plus years Long Term Technology Focus AIM:- Five years from now, where do you see the technological focus? Experience in mentoring team members AIM:-What is their experience in mentoring of team members? What are the issues faced in team management? Map Business & Technology AIM: - What was the business need for the project? How do you translate the business need to a tech solution? Knowledge of Enterprise Architecture AIM:- To check their proficiency in the knowledge area of EA View of IT and Business Enabling factors AIM:- To check their understanding of who should drive what IT -> Business or Business -> IT Generic comparison of Technological concepts SOA, BPM, EAI (see ITTOOLBOX) AIM: - How strong are they in the current technologically hot areas and how do they differentiate amongst them BPM, BAM & ESB model; distributed deployment approach; Created solution Architecture from scratch and from existing environment? Followed standards & guidelines? Implemented High Availability system? How security was ensured in solution? Canonical Common Data Model implementation? Bridge webMethods or TIBCO with another integration What is a TIBCO Domain?
Tibco Questions Designed by Madugula Chandra Sekhar 39

Domain is a collection of hardware and software components that are used for business process integration. The domain defines the TIBCO BusinessWorks environment. Each domain must contain one and only one administration server. Each domain must have a unique domain name. Each domain may contain one or more machines but no single machine can belong to multiple domains. Each machine may have more than one type of software component (BusinessWorks process engine, ActiveEnterprise 4.2 Adapters, etc.) installed. By definition, software components can only be deployed in the same domain that the machine belongs to. What transformation standards does BusinessWorks support? BusinessWorks data transformation is based on XSLT. XPath is used for data manipulation and formula constructions What is XPATH? Xpath is a scripting language developed by the World Wide Web Consortium (W3C) for addressing parts of XML documents. It provides basic manipulation functions for strings, numbers and Booleans. TIBCO Designer, a BusinessWorks component, uses Xpath as the language for defining conditions and transformations. A complete description of Xpath is available http://www.w3c.org How does BusinessWorks support SOAP and WSDL integration? BusinessWorks provides WSDL/SOAP integration in a server and a client mode, which integrates directly into the Process Instance. BusinessWorks provides three different components: SOAP Event Source, SOAP Send (Request) Activity, and SOAP Send/Receive (Request/Reply) Activity. In BusinessWorks 2.0, we will only support document-centric calling convention and not a procedure-oriented communication. A future version of BusinessWorks will provide support for UDDI as well. What is WSDL? WSDL, or Web Services Definition Language, is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints or services. What is SOAP? SOAP, or Simple Object Access Protocol, is a lightweight protocol for the exchange of information between web services. BusinessWorks has a SOAP
Tibco Questions Designed by Madugula Chandra Sekhar 40

palette in TIBCO Designer that can be used to create process definitions that implement web services. What is BusinessWorks Architecture? BusinessWorks retains TIBCO proven distributed architecture based on RV, while supporting a number of industry standards such as: SOAP, HTTP, SMTP, FTP and JMS. It provides a simplified, integrated environment for business process integration from installation and configuration, through process design and test, to deployment, monitoring and administration, using just an intuitive designer GUI and a power administrator GUI. What are the different BusinessWorks components? BusinessWorks consists of TIBCO Administrator, TIBCO Runtime Agent, BusinessWorks Engine, and TIBCO Designer.

Introduction to EAI
Today information technology (IT) has become very critical for successful functioning of any enterprise in this world. Every form of business thrives on some form of automation. Earlier, the automation had been custom developed, but now days everything seems to be through packaged applications, which in a way reduced the amount of software development significantly. Unfortunately these packaged applications, which are selfcontained, have become stove-pipe applications. The requirements for nextgeneration software systems mandate the integration of these stove-pipe applications. The requirements for the next generation software systems mandate the integration of these stove-pipes with new forms of business logic. The term enterprise Application (EAI) has become a recent entrant into the jargon of the active software industry. EAI is a buzzword that represents the task of integration of various applications so that they may share information and processes freely. Thus EAI is the creation of robust and elegant business solutions by combining applications using common middleware and other viable technologies. With these realizations, EAI was created by industry analysts to help information technology organizations to understand the emergence of a type of software that eases the pains of integration. EAI is the nexus of technology, method, philosophy and desire to finally address years of architectural neglect -------SVIT What is TIBCO? TIBCO Software Inc. (Nasdaq:TIBX) is a leading provider of total business integration solutions delivering infrastructure software that enables businesses to seamlessly integrate business systems in real-time. TIBCO's products enable the real-time distribution of information through patented technology called The Information Bus, or TIB. TIBCO technology was first
Tibco Questions Designed by Madugula Chandra Sekhar 41

used to digitize Wall Street and has since been adopted in diverse industries including financial services, telecommunications, electronic commerce, transportation, logistics, manufacturing and energy. TIBCO's global customer base includes more than 1,200 customers such as Cisco Systems, Yahoo!, Ariba, NEC, Enron, Sun Microsystems, GE Capital, The Limited, Delta Air Lines, Philips, AT&T and Pirelli. TIBCO is headquartered in Palo Alto, California ----------------SVIT Definition Tibco makes integration server software for enterprises. An integration server allows a company to mix packaged applications, custom software, and legacy software for use across internal and external networks. TIBCOs patented approach is called Information Bus (TIB)and Tibco says that it has been used in financial services, telecommunications, electronic commerce, transportation, manufacturing, and energy. Tibco competes with See Beyond, Vitria, and web Methods among others. Active Enterprise is TIBCOs integration server package that supports both message-bus and hub-and-spoke integration server models. The messagebus model connects the different applications to a common backbone using application adapters. The hub-and-spoke model connects all applications to a central server. TIBCOs latest addition to Active Enterprise is Business Works, which uses Web services technology. Tibco is based in Palo Alto, California and is traded (TIBX) on the Nasdaq. -------------SVIT Overview of Variables There are several types of variables in TIBCO Business Works, each with their own purpose and usage. TIBCO Business Works provides the following types of variables: Global Variables these variables allow you to specify constants that can be used throughout the project. The constants can be specified and changed while designing and testing your project. Process Variables these variables allow you to access various data in your project. Shared Variables these variables allow you to specify data for use across multiple process instances. Because multiple process instances can access the same variable, you can also synchronize access across processes when setting or retrieving the shared variable. -------------SVIT

Overview of Error Handling


Tibco Questions Designed by Madugula Chandra Sekhar 42

Errors can occur during activity processing. We can specify that one transition out of an activity is to be taken in the case of an error. We have to specify activities to execute in the event of an error. This allows us to create error-handling procedures for dealing with potential runtime errors in process definitions. ----------------SVIT Business Works (B W) The TIBCO BusinessWorks integration platform enables companiesto rapidly integrate systems and automate business processes.TIBCO BusinessWorks supports your integration projectthroughout the project lifecycle. It includes a commongraphical user interface for adapter configuration, processdesign, and deployment. User administration, componentmanagement, and processmonitoring are available via a webbrowser based GUI. -------------SVIT BusinessWorks components BusinessWorks consists of TIBCO Administrator, TIBCO Runtime Agent, BusinessWorks Engine, and TIBCO Designer ------------------SVIT TIBCO Designer TIBCO Designer is a GUI tool for designing your business process integration. It is used for adapter configuration, process design, test, and deployment. TIBCO Designer is a component of TIBCO BusinessWorks. --------------SVIT ADB Adapter The primary function of Adapter for ActiveDB 4.0 is to provide a bi-directional gateway between any ODBC compliant database and the ActiveEnterprise suite of products. --------------SVIT File Adapter The File adapter consists of two adaptersa receive adapter and a send adapter -------------SVIT TIBCO Adapter for MQSeries TIBCO Software provides products and services to help customers integrate MQSeries applications with legacy, custom, and packaged applications. TIBCO enables customers to achieve real-time processes, improve corporate performance, and enhance business visibility. TIBCO Adapter for MQSeries facilitates message flow between MQSeries applications running on a cross section of platforms including mainframes and distributed applications configured for the TIBCO environment. TIBCO Adapter for MQSeries is compatible with MQSeries version 5.2 and Websphere MQ5.3. -----------SVIT
Tibco Questions Designed by Madugula Chandra Sekhar 43

Rendezvous (R V) Messaging middleware from TIBCO Software Inc., Palo Alto, CA . that provides the foundation for the TIB/ActiveEnterprise suite of application integration products. TIB/Rendezvous supports request/supply and publish and subscribe models and connects to SAP, PeopleSoft and other legacy systems via application adapters. There are also interfaces to MQSeries and MSMQ messaging systems and COM. -----------SVIT TIBCO Rendezvous Control TIBCO RendezvousTM (a product from TIBCO: www.tibco.com) enables exchange of data across applications running on distributed platforms. TIBCO Rendezvous (TIBCO RV) Control in WebLogic IntegrationTM enables seamless connection to, and transfer of data using the Rendezvous daemon. It enables communication via many of the features provided by the TIBCO Rendezvous product, including Certified Message Delivery, Distributed Queue and so on. The sending and receiving applications can be on multiple platforms, as long as the Rendezvous daemon is running on the host machine, or is remotely accessible to the host ---------SVIT TIBCO HAWK TIBCO Hawk is distributed monitoring and management software that helps IT staff ensure and improve the performance and availability of the software that supports business processes With Hawk, system administrators can monitor application parameters, behavior, and loading activities for all nodes in a local or wide-area network and take action when pre-defined conditions occur. In many cases, runtime failures or slowdowns can be repaired automatically within seconds of their discovery, reducing unscheduled outages and slowdowns of critical business systems ------------SVIT

Tibco Questions

Designed by Madugula Chandra Sekhar

44

Das könnte Ihnen auch gefallen