1. What is BC ?
TIBCO BusinessConnect is a business-to-business gateway that enables the secure transmission of business documents and messages between partners using disparate internal business systems.
2. Architecture of BC The TIBCO BusinessConnect integration platform has a modular architecture that provides both robust processing capabilities and flexible standards support. The platform provides an engine and process design capabilities for all business protocols. Process diagrams that define process, communication, and data models can be extended with custom tasks designed to address business transaction requirements. The platform also lets you define and store trading partner information, which can be used by any protocol.
3. Inbound Processing During inbound processing, incoming business data is validated, translated to a format that the internal systems understand, and formatted as appropriate.
Outbound Processing During outbound processing, company internal data is formatted and converted to a format that TIBCO BusinessConnect expects.
4. business protocol and Transport protocol
A transport protocol, such as HTTP or FTP, is a standard convention for transferring data. A business protocol goes beyond data transport because it defines a complex set of behaviors and roles that partners agree on before doing business. (EDI, RosettaNet, EZComm). Business protocols provide a set of standards for use in defining both the content of electronic business documents and the operations—or technical tasks—required to carry out the transaction
5. Server settings of BC?
Service, Network, Demon host and demon port
6. Different protocols can be used in BC?
Business protocols: EDI, Rosetaa Net,
Transport protocols: HTTP, HTTPS, HTTPS (Client authentication)
7. What is tibXML and Expain the difference between tibXML and other protocols?
TBCO BusinessConnect tibXML Protocol is a business protocol developed by TIBCO for exchanging XML and non-XML documents used in e-commerce. Based upon an agreed-upon process flow and common document format, you and your trading partner can conduct secure and verifiable business transactions online using TIBCO BusinessConnect with tibXML.
8. Communication protocols in BC? RV/JMS
9. Communication between BC and BW?
TIBCO BusinessWorks can also send requests through a TIBCO BusinessConnect server, or can receive replies from a TIBCO BusinessConnect server.
For example, TIBCO BusinessConnect can handle private process tibXML messages created and sent using TIBCO BusinessWorks. This means that you can use TIBCO BusinessWorks to create a private process definition that can create an outbound initiator request and invoke a tibXML transaction defined in TIBCO BusinessConnect. You can also use TIBCO BusinessWorks to create a private process definition that can receive and process a responder request generated by a TIBCO BusinessConnect server from an incoming tibXML transaction.
10. What are .esf files in spec builder? How do you correct for errors/validation?
11. How do you setup business protocol?
12. What are the general problems you encountered while executing EAI/BC projects, how have you solved them?
13. Explain how to use BC Palette to implement synchronous/ asynchronous messages?
14. How to configure DMZ? Explain
The DMZ Component topic page displays the following panels:
• DMZ Server Status Panel
• Process Communication Panel — DMZ Server
15. How to configure trading partner and host? Explain?
After you create or import the process diagrams, grammar, and interface, you must create the trading host and trading partner. (1)Click Trading Host in the options bar, (2)Click Host Properties. (3)Click Edit. (4)Enter companyA in the Name field if you are setting up the initiator machine. (5)Enter companyB in the Name field if you are setting up the responder machine (6) Click Save.
Creating the Trading Partner
• Click Trading Partners in the options bar.
• Click New Trading Partner...
• Click Enable/Disable Protocols.
• Select CarOnline.
• Enter Company B in the Name field if you are setting up the initiator machine. Enter company A in the Name field if you are setting up the responder machine.
• Click CarOnline Transports.`
• Click Add.
• Enter http in the Transport Alias field
• Select Use this as the default transport.
• Click CarOnline Operation Bindings.
• Click Add Binding.
Click Save.
Wednesday, April 6, 2011
TIBCO BusinessWorks Performance Tuning
The performance of software or applications installed in every system may vary according to some aspects involved like the efficiency of the program and the specifications of the system.
The program may function very well but if the resource of the computer where it is installed does not meet its minimum requirements then it will affect the functionality of the program and other applications that may be running on the system. It may also slow down the computer.
There are also instances when the computer's resources are more than enough to be able to run applications. But the issue here is that the resources of the computer is not fully utilized. You may still be able to tune up your computer for better performance.
Upon installation and the use of the TIBCO BusinessWorks and its components, you may find your applications functioning very well, but what you do not know is that you can still be able to improve its performance. You may also have some negative issues depending on the computer that you are using, but don't worry because there are ways to be able to modify some settings of the TIBCO BusinessWorks so that it may be able serve your needs.
1. What TIBCO component is used for optimizing TIBCO BusinessWorks performance?
TIBCO Administrator is used for optimizing TIBCO BusinessWorks components. TIBCO Administrator functions as a central server for administering different TIBCO components. This tool can also be used for creation, deployment and management of applications.
To be able to access TIBCO Administrator's Interface, you need to use a web browser but before that, you should first make sure that the TIBCO Administrator service and the TIBCO Runtime Agent service for the domain that you will be using are both running.
Just for added information, TIBCO Runtime Agent (TRA) is needed so that you will be able to create projects using the TIBCO Designer and deploy and manage them using the TIBCO Administrator.
2. What is TIBCO ActiveMatrix BusinessWorks Engine?
TIBCO ActiveMatrix BusinessWorks Engine controls the execution of processes. These processes have activites to be executed and a set of resources. The BusinessWorks Engine also has other tasks such as management of connections, validation of data, managing and monitoring of different services, and configuring logs.
3. What changes in the settings can be done to optimize TIBCO BusinessWorks Performance?
We can modify parameters such as max jobs, flow limit, step count, activation limit, thread count, minProcessors, maxProcessors and accept count if we don't want all of our process instances to be held in memory because generally, process instances created reside in the memory of the computer.
Specifying a value in the max jobs means that the number of process instances in the memory will not exceed this value. If the value set for the max jobs is already reached, then the process instances created will be held on the disk of the computer, but they will be moved back to the memory if the memory space is already sufficient.
If a value is set for the flow limit, then the number of process instances created will not exceed this value. If this value is reached then the creation of process instances is suspended but the process instances already in memory still continue to run. Creation of new process instances will resume if the number of currently running process instances is more or less half the value set for the flow limit.
The value for step count is the number of tasks that are executed successively by a thread before it is released. However, this may not be true all the time because of some exceptions when the job is blocked or the job is in a transaction. If the job is in a transaction and the step count has already been exceeded, then the thread will still not be released until the transaction is completed. On the other hand, if the process instance is in a blocked condition or is waiting for an event then that process instance will be paged out to disk, and the memory space it was consuming will be used to run other process instances.
Checking the option for activation limit means that if the process instance is in a blocked condition, it will still stay in the memory and will not be paged out to disk until it is completed. Having this option checked will greatly affect the performance of the engine because the process instances in the memory may be waiting for an event indefinitely.
The thread count determines the number of process instances that can be executed at the same time. The default value of this parameter is eight. Setting a different value for this parameter may be done in a trial and error manner because different values have different pros and cons. If the throughput is satisfactory but the system's resources are not fully used, then you can set this parameter to a higher value; however, take note that if you specify a value that is too high it may cause CPU thrashing behavior. On the other hand, if you set a value that is too low, it will increase the use of memory but the throughput will be lowered and some of the system's resources may not be utilized.
For processes that use HTTP connection, we can modify the minProcessors, maxProcessors, and acceptCount parameters. The minProcessors which has a default value of ten determines the number of threads that are initially created when the HTTP server starts. Setting a high value for minProcessors may block some CPU resources because a large number of threads that may not be necessary are created.
The maxProcessors which has a default value of 75 determines the maximum number of threads that can be created by the HTTP server. Setting a high value for this parameter can increase concurrency of executing process instances but the throughput for the process executions may decrease. On the other hand, if the value for maxProcessors is low, then there is an increased throughput but the number of processes executed concurrently will also be limited.
The acceptCount parameter which defaults to 100 determines the maximum number of connection requests that are accepted when all the processors of HTTP are already running. When the value set for this parameter is reached then all incoming requests are discarded. If you set a low value for maxProcessors, then you can set a higher value in acceptCount so that connection requests will not be rejected.
4. What modifications in the Java Virtual Machine can we do to optimize the BW engine's performance?
Java Virtual Machine (JVM) is a set of applications that use a virtual machine to execute other computer programs. For an overview, a virtual machine is an application that has the functionality of running other applications just like a real computer. In TIBCO, the BusinessWorks engine is running in a JVM.
You can configure the heap size for the engine by setting a minimum and maximum value. These values determine the amount of memory to be used by the engine. You can also enable garbage collection so that resources in the system that are no longer in use can be deleted.
5. What are the characteristics of activities in BusinessWorks and how will it affect the engine's performance?
There are two types of activities in BusinessWorks. They can either be blocking or non-blocking activities. This is determined based on how the activity functions with the thread.
Blocking activities are activities that are executed using the engine thread. This type of activity may affect the engine's performance because if this activity is waiting for an event then the engine thread will also be waiting for the activity to resume from its waiting state.
Non-blocking activities are activities that are executed using a private thread. This kind of activity does not affect the engine's performance because when the activity is processing, it switches to its own private thread. When it is done with its process, it will be fetched by the engine thread that is currently running.
6. What are other factors that may affect the BW engine's performance? The other factors that may affect the BW engine's performance are the following:
o If you are using enterprise messaging, then the number of incoming messages and the rate of its creation in the messaging server may affect the engine's performance.
o If your application is connected to other third party applications, then the other applications efficiency in processing may also affect the engine's performance.
o If your computer has other applications currently running or it is performing some update on your system, it will also affect the BW engine's performance.
Using TIBCO makes developers very productive because it is easy to use and the development of applications and business processes takes a less amount of time. Furthermore, it adds other useful features and it can still be tuned up for better performance.
FAQS
RV
1. What is difference between synchronous and asynchronous communication
Synchronous communication is time driven and asynchronous is event driven. Synchronous communication expects reply or acknowledgement back and in asynchronous communication doesn’t expect any results of its communication right away. In messaging perspective request/reply messaging is synchronous communication and publish/subscribe is asynchronous communication.
2. What is TCP and UDP
TCP - Transmission Control Protocol,
UDP - User Datagram Protocol
Differences
1. TCP can establish a Connection, UDP cannot;
2. TCP provides a stream of unlimited length, UDP sends small packets;
3. TCP guarantees that as long as you have a connection data sent will arrive at the destination, UDP provides no guaranteed delivery;
4. UDP is faster for sending small amounts of data since no connection
Setup is required, the data can be sent in less time than it takes for TCP to establish a connection.
3. What is difference between multicasting and broadcasting
Multicasting is messaging with many potential recipients.
Broadcasting is messaging into the network with all interested recipients
4. What is Rendezvous
It is a framework/mechanism to integrate different applications running on distributed network on heterogeneous platforms.
5. What is the functionality of RV daemon
It’s a background process; RV enabled programs (programs which use RV api) depend on rvd for reliable and efficient network communication.
The rvd completes the pathway between rendezvous program processes across the network.
It sends information into the network receives information from the network and filters subject addressed messages.
6. Explain Reliable communication
Provides a platform for integration of different application to establish communication. It is loosely coupled and is platform independent.
7. Explain Transport
It is software mechanism for sending and delivering messages.
8. What are the various parameters in Network component and what do each one indicate
Service, Network and Daemon
Service parameter instructs the rvd to use UDP or PGM services whenever it conveys messages on this transport.
Network parameter instructs the rvd to use a particular network for communication
Daemon parameter indicates to which rvd the program has to connect
9. Explain Certified messaging – registration process steps and confirmation Process
Certified messaging offers greater certainty of delivery.-even when the processes and their network connections are unstable.
REGISTRATION.DISCOVERY
REGISTRATION.REQUEST
REGISTRATION.CERTIFIED
(Certified delivery agreement)
DELIVERY.CONFIRMED
DELIVERY.COMPLETE
10. Explain Load balancing in Rendezvous, What are the various parameters in load balancing.
In a producer/subscriber scenario when producer is sending messages faster than subscriber can consume, messages will be queued up with consumer and may be lost. To address this situation we can balance the load of the consumer by clones of the consumer program and balancing the load among the consumer instances. This is load balancing.
Programs use distributed queues for certified delivery to a group of servers, in order to balance the load among the servers.
Parameters
Scheduler weight
Heartbeat Interval
Scheduler Activation Interval
11. Explain fault tolerance in Rendezvous
Fault Tolerance in a network environment is characterized by rapid recovery from failures such as process termination, hardware failure and network disconnect. Rendezvous provides a mechanism to achieve the fault tolerance among the RV processes.
12. Explain about daemon and service parameters?
Service parameter instructs the rvd to use UDP or PGM (Pragmatic General Multicast) services whenever it conveys messages on this transport.
Daemon parameter indicates to which rvd the program has to connect
13. What is ledger file used in RV for?
CM Transport keeps Ledger file to record information about every unresolved outbound certified message.
14. What protocol would RV use to communicate within a subnet?
What about outside the subnet?
UDP with in a subnet
TCP out side subnet
15. In DQ how scheduler and worker communicate with each other? Why? (Which protocol)
RV Messaging
In DQ, the scheduler receives messages and then passes on to the worker (active) member. The message is sent only to the worker that needs to receive it. It’s a PTP and RV messaging.
16. How can U establish point-point communication in RV?
Can be established using RPTP(Reliable point to point) protocol over a UDP channel
17. What does inbox mean?
Inbox name specifies a destination that is unique to a particular process. Point-to-point delivery.
18. Is request/reply communication possible in RV? How?
Yes, Two P-T-P messages .(one for request,one for reply)
19. What will happen when limit of a queue exceeds (how the event objects will be removed from a queue)?
Sends an advisory QUEUE.LIMIT_EXCEEDED
Queue dispatch calls remove the event objects at the head of a queue, and run its callback function.
Callback function is a program code which responds to events-processing inbound messages.
20. What are the limit policies of a Queue in RV?
Discard none, discard first, discard last, discard new.
21. What is the advisory message thrown by RV when the maximum limit of a queue exceeds?
QUEUE.LIMIT_EXCEEDED
23. Is message loss possible in RV? When is it possible?
Yes,
In slow consume and fast producer scenario message lost will be possible.
24. How many types of advisory messages are there in RV?
System Advisory, RVCM Advisory, Fault- tolerance Advisory.
25. What are different ‘quality of services’ available in RV?
RV reliable, RVCM, RVTx(Transaction)
26. How to handle slow consumers when publisher is publishing rapidly?
Use a dispatcher - increase process instances to avoid overflow. Implement load balancing
27. How can u implement security in RV?
Using SSL Protocol. Can be attained at 3 layers –between rvd and services, in rvd, and between rvrd.
28. What are the scheduler parameters in DQ.
Weight, Heart beat interval, Activation Interval.
29. Scenario: A producer is producing messages at 100/min and consumer able to process only at the rate of 50/min, what is going to happen to other 50 messages? (underlying communication is RV reliable)
Use a dispatcher- attain multithreading of process instances to avoid overflow.
30. What is TRDP? Why is it called reliable?
Tibco Reliable data protocol.
30. What are different types of messages in RV?
Rv reliable, RVCM.
31. Between AE schema and RV schema which one is preferred and why?
AE and Rv can interchangeably used . So No preference.
32. If rvd is down and a program has to send a message, how it sends
Creating a transport object in the program invokes new rvd process.
33 If you do not want a message to go into network, how will you do it – (there are two ways)?
Creating a transport object with network parameter as 127.0.0.1
Sending a message with subject name as _LOCAL
33. What is the default queue and what is the maximum number of queues of a default queue? Is it configurable?
Upon invocation of an rv process a default Q is created. This Q lies the last in the Q sequence. A client can use this default Q or create its own Q’s. No it is not configurable. A default Q is just one.
34. what is the difference between JMS messaging and RV messaging?
JMS messaging uses publish/subscribe messaging model while RV uses PTP message model protocol
RV messaging is a de-centralizing messaging/JMS centralized messaging
35.explain rv messaging, how does it work?
RV messaging provides creating messages in a universal format assign a subject name to the message and publish the message on to the network. Messages will travel over the network and reaches all the nodes in the network. RV provides RV enables subscribers to capture the message of interest and process it.
36.how does the rv publisher know that some rv subscription has gone
down?(rvcm), and how it finds out that it has come up again? (if rvcm is being
used)
down?(rvcm), and how it finds out that it has come up again? (if rvcm is being
used)
37.explain how do you set up RVCMDQ? and how does it work ?
A producer is producing messages at 100/min and cosumer
able to process only at the rate of 50/min, what is going
to happen to other 50 messages? (underlying communication
is RV reliable)
hint ans: slow response advisory is thrown, oldest messages
discarded depending on the destination settings.
38 A process group is on RVCMDQ, can that be made both load-balanced
and fault-tolerant?
hint: no, they are mutully exclusive semantics.
39 We have two process groups, each group contains 4 load-balanced
processes (all on RVCMDQ), can we make these two groups behave as
one fault tolerant group? how is that possible?
hint: no, that is not possible.
40 In RV queues, how to change default discard options? what does it
mean if we set it to 0?
hint: limit=0/discard=none means infinite queue storage, otherwise
you can set these options in RV API:
limit=n/discard=first : n storage and older messages from the
top of the queue are removed,
limit=n/discard=last : n storage and messages removed from
the back of the queue.
41 What is the main problem/issue with load balancing as in RVCMDQ
(ans: duplication occurs/non-completion of assigned tasks)? What
are possible scenarios when this occurs?
hint: 1. if the worker is slow, scheduler might re-assign the task
to another worker resulting in duplication.
2. scheduler fails and the new scheduler reassigns incomplete tasks,
resulting in duplication.
Also non-completion of tasks can occur if a worker has complete
time=0 and has accepted the task never to return.
42 How can we separate all communication in a test domain and a
development domain using RV service parameters?
hint: test domain components should use one rv service parameter
and devel domain should use another.
43. What is RVRD for? how do we configure and use it?
hint: RVRD is for routing messages published on a subject to
machines on another subnet. There has to be one RVRD for each
subject, and an RVRD pair installed one on each subnet.
44. How do you do load balancing for ADB adapters?
hint: Use RVCMDQ to run more than one instance of a the adapter.
Also you can specify batch processing of records (batch commit,
instead of commiting each record individually). Also you can
increase thread count ( but thats going to help only if you
increase it from 4-8).
45. What is batch commit and what is time-out parameter there?
hint: ??
able to process only at the rate of 50/min, what is going
to happen to other 50 messages? (underlying communication
is RV reliable)
hint ans: slow response advisory is thrown, oldest messages
discarded depending on the destination settings.
38 A process group is on RVCMDQ, can that be made both load-balanced
and fault-tolerant?
hint: no, they are mutully exclusive semantics.
39 We have two process groups, each group contains 4 load-balanced
processes (all on RVCMDQ), can we make these two groups behave as
one fault tolerant group? how is that possible?
hint: no, that is not possible.
40 In RV queues, how to change default discard options? what does it
mean if we set it to 0?
hint: limit=0/discard=none means infinite queue storage, otherwise
you can set these options in RV API:
limit=n/discard=first : n storage and older messages from the
top of the queue are removed,
limit=n/discard=last : n storage and messages removed from
the back of the queue.
41 What is the main problem/issue with load balancing as in RVCMDQ
(ans: duplication occurs/non-completion of assigned tasks)? What
are possible scenarios when this occurs?
hint: 1. if the worker is slow, scheduler might re-assign the task
to another worker resulting in duplication.
2. scheduler fails and the new scheduler reassigns incomplete tasks,
resulting in duplication.
Also non-completion of tasks can occur if a worker has complete
time=0 and has accepted the task never to return.
42 How can we separate all communication in a test domain and a
development domain using RV service parameters?
hint: test domain components should use one rv service parameter
and devel domain should use another.
43. What is RVRD for? how do we configure and use it?
hint: RVRD is for routing messages published on a subject to
machines on another subnet. There has to be one RVRD for each
subject, and an RVRD pair installed one on each subnet.
44. How do you do load balancing for ADB adapters?
hint: Use RVCMDQ to run more than one instance of a the adapter.
Also you can specify batch processing of records (batch commit,
instead of commiting each record individually). Also you can
increase thread count ( but thats going to help only if you
increase it from 4-8).
45. What is batch commit and what is time-out parameter there?
hint: ??
How do achieve load balancing and fault tolerance in RV, JMS?
46.rv decoupling.
Ans: usually sending data needs destination (listeners) information like the IP address,port numbers etc. using rv the message subject name is given so that the listeners who need the data will pick it up.
In addition to this subject name rv adds service parameters to know the kind of service like UDP or PGM.
Network parameters to indicate which network or type.
Daemon para to send to listeners in a network or multiple networks.
47 situations were we use CM.
ans: a) producer needs compulsory ack of the message.
b) consumer cannot compromise on loosing messages.
48. situations were we cant use CM.
ans: high data rate b’cos CM occupies most of the band width.
49. contents or CM implementation.------ transport name+ledgerfile
Ans: CM transport parameters:
Subject name
Service
Network
Daemon
Ssl
Cm name
Preregister list
Relay agent
Ledger file
Sync ledger
Default time limit
Require old message
Message format
Stronge delivery feature – main purpose of CM.
50. protocol used by rv.
Ans: UDP.
Protocol:
Path: c:\...
File: rvd.exe
Local port: listner
IP address: sender
Remote port: sender
Protocol: UDP
51. What is rvcache?
The program rvcache stores data from recent messages, indexed by subject name, and automatically sends the cached data to new listeners.
Given a set of one or more subject names, rvcache listens for messages addressed to those subjects. Each time it receives such a message, it stores the message’s data content.
When a client program queries for a cached subject, rvcache sends a reply message with the current cached value.
The first time you run rvcache, you must configure its subjects and change its state to running. After that, rvcache reads the subject list from its file.
Data stored in rvcache never expires. It remains in the cache until superseded or augmented by data from a new message on the same subject.
rvcache stores the data in program memory and in a disk file.
52. What are virtual circuits and smartsockets?
A virtual circuit is an exclusive, monitored connection between two terminals—each of which is a virtual circuit transport object.
The two terminals communicate exclusively with each other. They do not communicate with any other transport object.
Each terminal can send messages to the other terminal. Messages arrive in the same order as the opposite terminal sent them.
Each terminal monitors the connection to ascertain continuous correct operation.
Smartsockets: Publish-subscribe for intelligent, streamlined one-to-many communications
53. What is the difference between virtual circuits and remote sockets?
54. What is rvtransaction?
When a group of messages are sent, even if one message is not delivered, all the messages are rolled back.
RVTX support is deprecated from AE 5.1.
55. How would you know that a publisher and a subscriber are in cm mode?
Subscriber will be pre-registered with the publisher in a cm mode.
EMS
1. What are the destinations in EMS/JMS and their differences?
Ans:
Queues: point-point communication.
Any number of producers and consumers can exist.
Exclusive: only the first consumer who picks up the first message can take the rest of the messages (used if u want only one consumer).
Non-exclusive: where any number of consumers can exist.used for load balancing.
At any time and situation each message is taken by only one consumer.
Topics: publish-subscribe.
Any number of publishers and subscribers can exist.
Each message can be taken by any number of consumers (radio).
2. What are the different levels of load balancing in EMS and how would you do it?
Ans: server level and consumer level
Server: by having multiple servers.
Consumer: by creating consumer instances.
3. How would you do fault-tolerance in EMS?. Explain the complete process.
Ans: FT in EMS can be achieved by implementing pair of servers called primary and backup while the primary does the normal job of sending and receiving messages the back up server takes the place of primary if the primary fails.
The pair shares the information from the shared state. When the primary goes down the backup server reads all the primary config files and starts from there.
The primary locks the shared state if its active so that the backup server doesn’t take its place. the lock is released when the primary goes down so that the backup can lock the shared state.
Only persistent messages can be implemented in this situation since non-persistent messages cannot be stored in external storage like shared state.
4. How a consumer can connect to the new primary EMS server when the running primary server goes down?
Ans: we can specify multiple URL’S for the client so that if the primary is down the next URL belonging to back up will be used.
In case of a primary having multiple address we can use multiple URL’S for the same server so that even the primary in one location is down it can connect to the primary of another location.
The URL’S are usually comma separated in client config.
5. How the clients of the primary server access the messages stored by primary server when it goes down and secondary server becomes primary server?
Ans:
clients can be config to be intimated of the failover.
The backup reads the current state of the client from the shared storage
And then connects to the client if there are any undelivered persistent messages.
6. How to setup load balancing for Topics and queues.
Ans:
We can achieve load balancing using bridging queues and topics.
Or
Queues can be set non-exclusive so that any number of consumers can access the queue.
7. Scenario: Topic T1, Queue Q1 and Queue Q3 are bridged. A publisher published a message to Topic T1. But the publisher has no access rights to Q1. How the message will be traversed?
Ans: Message producers must have access to a destination in order to send messages to that destination. Messages can only be sent to bridged destinations to which the message producer has access.
8. Scenario: A publisher is publishing messages quickly than the consumers are consuming the messages. How to control this situation.
Ans: we can use flow control to address this situation.
The target maximum size for pending messages is specified so that only that amount of message is stored and any messages above that will be blocked.
The server blocks the send call and releases only when the storage limit is below the set value.
The flow control is enabled only if the topic or queue has receivers.
This way the producers are slowed down. And the balance is achieved.
9. Can we set a limit for the total number of pending messages on Queue or Topic? What is the parameter for that
Ans: yes, max-bytes for pending messages.
10. What if max-bytes limit exceeds?
Ans: Messages that would exceed the limit will not be accepted into storage and an error is returned to the message producer.
11. How flow control property functions?
12. What is the pre-fetch value?
Ans: in order for reducing the client’s waiting time in a server client scenario
For a queue based messaging only the prefetch value allows the the server to send messages in batches so that the message will be ready for the client when ever the client is ready. For automatic fetching its >1 and for disabling its “none”.
13. What are different kinds of acknowledgement modes?
Ans: DUPS_OK_ACKNOWLEDGE, for consumers that are tolerant of duplicate messages.
AUTO_ACKNOWLEDGE, in which the session automatically acknowledges a client’s receipt of a message.
CLIENT_ACKNOWLEDGE, in which the client acknowledges the message by calling the message’s acknowledge method.
In no-acknowledge receipt mode, after the server sends a message to the client, all information regarding that message for that consumer is eliminated from the server. Therefore, there is no need for the client application to send an acknowledgement to the server about the received message. Not sending acknowledgements decreases the message traffic and saves time for the receiver, therefore allowing better utilization of system resources.
14. How many types of queues we can have in a server?
Ans: exclusive and non-exclusive.
Exclusive queues : only one consumer can take messages from here.
Non-exclusive: any number of consumers can take messages. Used for load balancing.
15. How do we distinguish dynamic queues with static queues?
Ans: dynamic queues have * before them.
16. What are the message storing mechanisms of queues?
Ans: persistent and non-persistent.
Persistent: messages are stored to external storage before sending.
Non-persistent: not stored to any external storage. The information will not be available for retrieval.
17. What are types of subscribers we can have for topics? Explain them in detail.
Ans: durable and non-durable subscribers.
In durable subscriptions the messages are stored so that even if the subscriber fails and comes back the messages can be retrieved.
18. What is fail-safe?
Ans: the Tibco ems provides 2 modes for persistent topic/queue message storing to external device.
Normal: in this mode the messages stay in a buffer system before writing to a storage(disk). So in case of any failure the messages may be lost.
This mode is very efficient in situations were little loss of data is allowed.
Failsafe: in the fail safe mode the messages are first written to an external storage before sending so that no messages are lost ever. This is used when no loss of data can be encouraged.
19. How many ways we can determine the life span of the message in a queue. What are they?
Ans: expiration parameter in queue configuration file.
JMS expiration time in queue sender.
The JMS expiration time in queue sender overrides any value given in config.
20. What are the basic configuration you would setup if you want to enable your EMS server for SSL communication
Ans: listen parameter and ssl_server_identity. Optionally private key.
21. what is the structure of messages in JMS?
Ans: header(needed),properties(optional),body(optional).
Header parameters: JMS destination, JMS message mode,
21. What is the main config file in JMS?
Ans: The main configuration file controls the characteristics of the TIBCO Enterprise Message Service server. This file is usually named tibemsd.conf, but you can specify another file name when starting the server.
Exp para: server, password,flowcontrol,storage,server sartup…
GENERAL
1. WHAT ARE THE BUSSINESS ACTIVITIES THAT CAN PARTICIPATE IN A TRANSACTION?
Ans: JDBC,JMS,EJB activities.
2. what are the types of transactions?
Ans: jdbc,
Java transaction API (JTA) user transaction,
XA transaction.
3. what is SOAP?
4. what is WSDL?
5. what are process variables?
6. what is the scope of process variables?
7. after the process deployment it will generate a command file what exactly it will do?
8. what is x-path builder?
9. what are smart mappers?
Ans: Tibco bw uses smart mapers for look ups, cross referencing,configurable business rules.
6. Can you send messages from a server to another server?
TIBCO Enterprise Message Service servers can route messages to other servers.
Topic messages can travel one hop or multiple hops(from the first server).
Queue messages can travel only one hop to the home queue, and one hop from the home queue.
A server forwards topic messages along routes only when the global property is defined for the topic.
When a route becomes disconnected (for example, because of network problems), the forwarding server stores topic messages. When the route reconnects, the server forwards the stored messages.
7. What are multi-zone hops?
This should have been multi-hop zone and not multi-zone hops
Multi-hop zone is a group of servers connected by routes.
8. How do you configure multi-zone hops?
By using routes
To create a route using the administration tool, first connect to one of the servers, then use the create route command with the following syntax:
create route <name> url=<URL> zone_name=<zone_name> zone_type=1hop|mhop <properties>
9. What are the differences between server load balancing & producer/consumer load balancing?
Point-to-Point : Non-exclusive queues are useful for balancing the load of incoming messages across multiple receivers.
Programs can use distributed queues for one-of-n certified delivery to a group of servers, in order to balance the load among the servers.
Rendezvous distributed queue software assigns each task to exactly one of the servers, while the group of servers and the distribution of tasks remains completely transparent to the client processes.
ADAPTERS
1. How can u fine-tune an ADBAdapter? What are the different parameters that can be used?
ans:
a) we can use publish by value or publish by reference for high speed and datatype support like oracle long respectively.
b) can use poller or alerter for frequent data changes and infrequent data changes respectively.
c) adb.PollingInterval ,_ADB.DUPDECT.adapter_instance_name parameterscan be used to do flow control and avoid duplication respectively
Publish by Value Vs Publish by Reference:
With Publish by Value, all specified columns in the source table are copied to the publishing table. Publishing by value is fast, but does not support some data types, for example Oracle LONG and LONG RAW.
With
Publish by Reference, only key column values are copied to the publishing table. The publish by reference feature allows you to publish data directly from the source table without first copying the data from the source table to a publishing table. A trigger, stored procedure, and publishing table are created, but the publishing table contains the necessary adapter fields and only the key fields of the source table. If no key column is defined in the database, a substitute non-key column must be defined to publish by reference.2. What are the quality of services we can have in adapter publishing services?
ans:
quality of services :
a) RV: reliable,certified,transactional
b) JMS: persistent, non persistent
3. What are the wire formats we can have in adapter publishing services
ans:
wire formats:
a) RV: active enterprise message,RV message,XML message.
b)JMS: XML message
4. What are the objects, which will be created if you configure and save ADB adapter?
Ans : Publishing table for source table, Trigger acts as a bridge between source and publishing table
5. Explain the internal functioning of ADP publication service?
Ans : When we configure ADP publishing service it creates Publishing table for source table, Trigger acts as a bridge between source and publishing table. Whenever data is being inserted/updated/deleted from source table, it will be inserted into publishing table by means of trigger. ADB has another component called polling agent. Polling agent will be keep looking for new inserts into publishing table and if it finds any then converts the record in p table into the specified wire format and publishes on specified quality of service
6. Can we filter the records from publishing when they get updated in source table? (Data from all regions are coming into table but I want to publish only New York data)
Ans : Yes – By modifying the trigger we can only insert the New York data into publishing table
7. Can we limit the number of columns to be published from the source table?
ans:
yes, using the use? field in adapter publishing table tab. just uncheck the columns u dont want to use.
9. Can we publish parent and child table information by using single adapter configuration and how?
ans: yes,
in the adapter publisher table tab create a parent table first by look up and then add the child table using the add child tab then click on the child table column to specify the foreign key than to establish a relatioship between the primary key of the parent abd the foreign key of the child go to the column in the child table and specify the primari key of the parent table.
in the subscription service the destination table is created and the child table mapping tab will have the child table on the left mapped with the parent table on the right.
10. What is publish by value and publish by reference. Explain the pros and cons.
ans:
publish by value: in this type the changes in the source table are reflected in the p_ table and the data is taken from there.
its used when high speed is required.
it dosent not support datatypes like oracle long.
publish by reference: in this type the data is directly taken from the source table where only the primary key will come from p_ table.
it allows data types like oracle long.
loss of changes in the source table can be lost bcos of the waiting time.(this can be avoided using alerter).
11. What are the types of message transfers in file adapters?
ans:
record transfer: to integrate file systems to TIBCO AE environment.
simple file transfer: to transfer files to other TIBCO adapters.
12. What is read schema and write schema in file adapter.
ans:
read schema in the file adapter publisher config is used to define type of expected input. here we can use the delimited file type or the positional file type.
13. What is the difference between an ADBAdapter and JDBC palette activities?
ans: using ADB we can only pick up the data from one database and put it in onother one. but using JDBC we can Query using query and manipulate data using update. like we can use select statements and insert and update statements to selective query and update. ADB adapters might be useful in scenarios where we have large amount of data.
14. What is the difference between a FileAdapter pallete and File palette activities?
ans: in file activities the file poller cannot handle multi format data and record by record transfer. it takes care of particular format specified and does file transfer, where as file adapter can handle multiple formats and does record by record transfer.
· File Poller activity in file palette picks the the whole data together while file adapter picks the data record by record.
· File poller does not convert the data in to any other format while File adapter converts the data in to xml format.
· In file palette we have other activities such as write file, read file ,delete create and rename file activities which are not available in File adapter palette
15. What is the difference between XSD and DTD
DTD(Document type definition) is the earlier version of XSD. Both define the structure of XML documents. DTD does not comply with XML standards while XSD does. DTD cannot be used for complex XML documents while XSD can be used for complex documents.
16. If the reference to Schema changes in "Activity Input" does it through
error, how do you correct it?
ans: yes, and we have to correct the schema in the way the input expects it.
17. How do you copy the mappings of an activity to different process?
18. What happens when you create variables in "Process Data" area?
19. Where do we specify HTTP Port number?
ans: in HTTP connection in the HTTP activities.
HAWK
1) what is HAWK?
ans: monitering tool provided by the BW which provides rule base .
rule bases are used to moniter and manage processes.
they are used to moniter the log files,processes.
and then notifies the error.
monitering: is looking for the processes are up or down.
managing: if a process do not run it will make it run.
BusinessWorks
1. How many processes typically you developed.
ans: 50
2. ***Explain the processes flow of your latest project by including activities.
ans: for various service implementation I designed processes using various BW activities like JMS Queue Receiver, XML Parser,
3. Which versions of BW you worked on?
ans: 2.x and 5.2
4. What are the differences between the versions?
ans:
| type | 2.x | 5.2 |
| deployment | In 2.x deployment is done in the designer | Here deployment is done using administrator tool |
| Name spaces | Name spaces are prefixed with tib | No tib in name spaces |
| pallets | | Extra pallets added |
| Iterate-reset | At the end of each iterate the output is not reset | Here the output is reset after each iteration |
| installation | Here all the components like BW,ADB,FILE etc come as a package | Here we will have to install each component separately |
| File type | All files are .dat. we have to convert these manually | Multi format file are available so that we do not have to convert the dat files |
5. What are the activities you worked on?
Ans: JMS queue receiver, confirm, checkpoint, XML parser, call process, JDBC update, SOAP, HTTP.
write to log - widely used.
Assign.
6. What is the inspector activity does?
Ans: the inspector activity is used to obtain the output of any activity or all the activities and process variables.
Scenario: You can use the inspector activity to write the output of any activity or process variable in the current process. Activities and process variables in a subprocess are not available to the Inspector activity (but the output of a Call Process activity can be written using the Inspector activity). If you wish to obtain the output from one or more activities or process variables in a subprocess, place the Inspector activity in the process definition of the subprocess.
7.Can you tell me at least four starter activities and when they get executed?
Ans:
| palette | Process starters | When they get executed |
| Active enterprise adapters | Adapter subscriber, adap request response server | When ever a message comes into a destination queue or network, listerns to a request from a adapter and sends a respose back to that adapter |
| file | File poller | polls for any changes that occur in the file and with any change grabs the whole file. |
| General activities | Timer, receive notification | Starts a process on the time specified ex: before JDBC QUERY, starts a process on receiving of data from a notify activity. |
| http | http receiver | Starts a process based on a request from http server. |
| jms | Jms queue receiver, jms topic subscriber | Starts a process when ever a new message comes into the specified queue, starts a process when ever there is a new message in the specified topic. |
| mail | Receive mail | |
| rv | Rv subscriber | |
| rmi | Rmi server | The RMI Server process starter registers the specified remote object name with the specified registry server and then creates process instances to handle incoming requests for the object. The process definition acts as the implementation of the specified object. |
| soap | Soap event source | The SOAP Event Source process starter creates a process instance for incoming SOAP requests. SOAP is a standard protocol for invoking web services. This allows you to create a web service using process definitions. |
| tcp | Tcp receiver | The TCP Receiver process starter starts a new process when a client requests a TCP connection. |
7. What is the purpose of JMS Queue receiver activity and Queue sender activity?
Ans: Starts a process when ever a new message comes into the specified queue.
A queue sender activity sends messages into the specified queue.
8. What are acknowledgement modes and where do you set them and what is the applicability of each mode?
Ans:
The acknowledge mode for incoming messages. Can be one of the following:
- Auto — the message is automatically acknowledged when it is received.
- Client — the message will be acknowledged at a later point by using the Confirm activity. If the message is not confirmed before the process instance ends, the message is redelivered and a new process instance is created to handle the new incoming message. Ensure that your process definition confirms the message when using this acknowledge mode.
- TIBCO EMS Explicit Client Acknowledge — this mode behaves exactly the same as the Client mode, except the session is not blocked and one session can handle all incoming messages.
- Dups OK — the message is acknowledged automatically when it is received. JMS provides this mode for lazy acknowledgement, but TIBCO BusinessWorks acknowledges messages upon receipt.
- Transactional — this mode is used when a transaction that can process JMS messages is included in the process definition. The message is acknowledged when the transaction commits. See TIBCO BusinessWorks Process Design Guide for more information about creating transactions that JMS activities can participate in.
9. What is the check point activity and confirm activity?
Ans: A checkpoint saves the current process data and state so that it can be recovered at a later time in the event of a failure. If a process engine fails, all process instances can be recovered and resume execution at the location of their last checkpoint in the process definition.
The Confirm activity confirms any confirmable messages received by the process instance. For example, if a process is started because of the receipt of an RVCM message, the Confirm activity can send a confirmation message to the publisher of the RVCM message
10. What happens if you use check point activity first and confirm next?
ans:
In the case of confirmable messages (for example, a confirmable TIBCO Rendezvous or Adapter message is received), you must consider the consequences of performing a checkpoint before or after a Confirm activity.
If the checkpoint is taken before the Confirm activity, then a crash occurs after a checkpoint but before a confirm, the original message is resent. In this case, the restarted process can no longer send the confirmation. However, a new process is started to handle the resent message, and you can implement your process to handle the restarted and new processes appropriately.
If the checkpoint is taken after a Confirm activity, there is potential for a crash to occur after the Confirm but before the checkpoint. In this case, the message is confirmed and therefore not redelivered. The process instance is not restarted, because the crash occurred before the checkpoint.
You must consider the type of processing your process definition performs to determine when a checkpoint is appropriate if your process definition receives confirmable messages.
11. What happens if you do vise-versa?
Ans: read 10 question
12. What is JMS Queue Requestor does?
Ans: The JMS Queue Requestor activity is used to send a request to a JMS queue name and receive a response back from the JMS client.
13. What is the potential problem with JMS Queue requestor?
Ans:
When we specify a reply to queue there is a chance of other processes sending messages to the same queue and the jms queue requestor interpreting that as the actual response and sending this wrong message to the client.
14. What is the other JMS activity you would use to address the problem?
Ans:
Get jms queue message. This incorporates a message ID to identify the true message.
15. What are the activities you used to publish the messages from BW process to network on RV?
Ans: publish rv message activity (along with the shared resource – rv transport).
16. What is the transition in BW?
Ans: to move the data from one activity to another or when conditions exist on the data. Like > 5000 or <3000 etc.
17. What are the different kinds of condition types you can have in transition? Explain Them
Ans:
| Specify a custom condition using XPath. If the activity completes successfully, and the condition you create evaluates to true, the transition is taken to the activity it points to. You can type in an XPath condition, and you can use the XPath formula builder to drag and drop XPath expressions and data into the condition. See Chapter 9, XPath for more information about specifying XPath conditions and using the XPath formula builder. | |
| Take this transition when the activity completes successfully, but only if no other transitions are taken. This is useful when multiple transitions with conditions are drawn to other activities. This condition type can be used to handle any cases not handled by the conditions on the other transitions. | |
18. What is group in BW?
Ans: set of related avtivities.
19. What types of actions you can have in the group and explain them with examples.
Ans: ans: group is a service to put together a set of activities to perform any of the following tasks:
a) transaction mode: it is used to commit or roll back all the related activities when the assigned task is a success or a failure.
usually when we use multiple JDBC updates we use this mode.
b) common error transition: in this mode we create a common error transition for a set of activities so that any error in that group can be recognised and logged.
supposing we have a subprocess and we want to Log the error regarding this we will pull a generate arror from the subprocess and log it outside group.
c) simple iterate loop: if we r getting a list of records and we want to update each record then we use this.
d) repeat until true: supposing a situation where out of 50 records our interest is on one particular record we will specify the condition for that record and when the condition is true (i.e the record is fetched ) it stops iterating.
e) repeat on error until true: for example we are not able to connect to a database because of error we will try to reconnect by repeating until the condition given is true. then we get out of the loop and then log
f) Critical section groups are used to synchronize process instances so that only one process instance executes the grouped activities at any given time. Any concurrently running process instances that contain a corresponding critical section group wait until the process instance that is currently executing the critical section group completes.
g) Pick first groups allow process execution to wait for one or more events. The first event that completes determines which transition to take to continue processing. For example, as part of an order-entry system, when an order is placed, a check is made to see if the order can be filled from stocked inventory or from returned merchandise. Whichever system returns the information first is used to fill the order. If neither system returns the information about available inventory, the order times out and cancels.
20. What is the transformation mechanism you use to transform input to out put.
Ans: X-path.
21. What is XPATH?
Ans: isa XML based path language used to navigate the XML document and manipulate the data .
22. What is the underlying technology of XPATH?
Ans: XSLT : xml style sheet language transformation.
23. What are the XPath expressions you used in your transformations?
Ans: substring, concact, date/time, consistsof, exists, comparision.
24. What is XSD?
Ans: XML schema definition.
25. What is name space in XSD?
Ans: Since element names in XML are not predefined, a name conflict will occur when two different documents use the same element names. So each element is given a unique namespace. 25. What are the BW activities, which deals with XML messages?Ans: xml parser, xml render, xml transform
26. Do you know any thing about web services?
Ans:The World Wide Web is more and more used for application to application communication. The programmatic interfaces made available are referred to as Web services.
Webservices is a platform for communication among applications across the web. SOAP, UDDI and WSDL are the platform elements used by webservices to attain this.
27. Do you know how to implement web services with BW?
Ans: Simple Object Access Protocol (SOAP) is a lightweight protocol for the exchange of information between web services. The SOAP palette allows you do the following:
- create web services by using process definitions
- generate WSDL files for web service clients
- invoke one-way, request/reply web services
- use either HTTP or JMS as the transport for web services
- send or receive SOAP requests with attachments
RPC Vs Document types in SOAP :
The two primary models for invoking Web service methods are the RPC (remote procedure call) and the document-style messaging model. RPC messaging utilizes specific RPC coding conventions within the SOAP message in order to invoke a specific remote method. The document style approach is much more flexible, allowing for any type of XML document associated with any XML schema.
Document style is preferred for interoperability because it uses loose coupling of methods and data. Rather than pass the data as arguments to a method call, which is tightly bound by data type, the document style allows for a wide range of data to be passed and interpreted by the server. In the purchase order example, a client could make a single, asynchronous call to the server and would receive an associated docu
28. If you want to implement a web server, what are the activities and resources you would use in your BW process?
TIBCO BusinessWorks process definition can perform a SOAP request operation using the SOAP Request Reply activity
TIBCO BusinessWorks can also act as a server that implements a web service through a process definition. The SOAP Event Source process starter defines the concrete WSDL file for the web service that any SOAP clients must retrieve in order to send a SOAP request to the service
To create a web service, perform the following general procedure:
- Create a process definition that performs the work of the web service. Use the SOAP Event Source process starter for this process definition. Use the SOAP Send Reply activity to return a reply or the SOAP Send Fault activity to return a fault to the client.
- Create a process definition that retrieves the concrete WSDL file and sends it to web service clients that requests it. Use the HTTP Receiver process starter and the Retrieve Resources activity for this process definition.
29. What is Generate Error activity? What the applications of it (Where you can use it and what you can achieve by using it)
Ans:This activity generates an error and causes an immediate transition to any error transitions. If there are no error transitions, the process instance halts execution. This activity is useful in a group or in a called process. If you would like to catch and raise your own error conditions, you can use this activity to do so.
30. How many types you can call a sub process from a process? Explain them.
ANS:
a) we can call a subprocess dynamically by doing process name dynamic override where we can use multiple subprocesses in the same calling process depending on a condition.
It is an XPath formula specifying the name of the process to call. Use this field to dynamically determine which process to call when the process instance is running.
b) Normal calling where in the calling process a subprocess path is given in the process name field.
31. ***When you are mapping from input to out put, what happens if you map repeating element to non-repeating element?
Ans: The mapping cannot happen as the input element will be highlighted in red indicating that the file name is not complete.
A star on an element indicates repeating element. Filtering is necessary for mapping repeating element to non repeating element
32. ***Non-repeating element to repeating element and other two scenarios also.
Ans:
33. What are the global variables and what are the uses of using global variable in your process.
Ans:
Are variables configured once can be used through out the project.
for example the queue we define initially has to be changed after deploying the project then we have to redeploy with the changed queue instead we can put it as a global variable so that the queue name can be changed in the global variable list .
Similarly in the case of JNDI connections …instead of changing and redeploying we change these kinds of values globally in the administrator.
34. What are the shared variables and process variables?
Ans:
Process variables: Process variables are data structures available to the activities in the process. 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. And assigning values to these kind of variables is done using the assign activity.
Shared variables: 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. Get Variable activity can be used to get shared variables to be used in process. Critical groups and lock shared variable must be kept in order not to face any ambiguity as different process can try to update and access the same shared variable
A Job Shared Variable resource is similar to a Shared Variable, but its scope is limited to the current job
36.What are the activities you use to access the values in shared variables and process variables?
Ans:
Shared variables:
a) Get shared variable activity: The Get Shared Variable activity retrieves the current value of a Shared Variable or Job Shared Variable resource. If you are using this activity to retrieve the value of a Shared Variable resource, you may want to use a critical section group to ensure that no other process instances are altering the value of the shared variable at the same time.
b) A Job Shared Variable shared configuration resource allows you to store data for use by each process instance.
c) shared variable activity : 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.
d) set shared variables activity is used to set a value to the variable.
Process variables:
do not need any activities to access process variables bcos they reflect automatically when they are created.
BW Admin
Most of the times interviewer will ask you to explain the complete deployment process from designing of the process from Designer to deploying by using admin tool.
Question about max job, activation limit.
Questions like what happens if we undeploy an application while the instances are running
Kill services that haven’t stopped after (seconds)
Specify the amount of time to wait before stopping service instances or process engines that have not stopped. The default is zero, meaning no time is allowed for a graceful shutdown, if previously set for a process engine.
Questions on FT mode and activation limit and heartbeats and other related concepts.
FT Group Settings
Appears only if a TIBCO BusinessWorks process is assigned to additional machines. Note that TIBCO Adapter services cannot be assigned fault tolerant options.
- Run Fault Tolerant — If selected, the selected service instances will run in fault tolerant mode.
- Heartbeat Interval (ms) — The master engine of a fault-tolerant group broadcasts heartbeat messages to inform the other group members that it is still active. The heartbeat interval determines the time (in milliseconds) between heartbeat messages. In the event if one process engine fails, another engine detects the stop in the master’s heartbeat and resumes operation in place of the other engine. All process starters are restarted on the secondary, and services are restarted to the state of their last checkpoint.
- Activation Interval (ms) — A standard TIBCO Rendezvous fault tolerant parameter, documented in the TIBCO Rendezvous Concepts chapter 15, Developing Fault Tolerant Programs.
Secondary process engines track heartbeat messages sent from the master engine. This field specifies the amount of time to expire since the last heartbeat from the master before the secondary restarts the process starters and process engines.
The Heartbeat Interval should be smaller than the Preparation Interval, which should be smaller than the Activation interval. It is recommended that Activation Interval be slightly over 2 heartbeats.
- Preparation Interval (ms) — A standard TIBCO Rendezvous fault tolerant parameter, documented in the TIBCO Rendezvous Concepts chapter 15 Developing Fault Tolerant Programs).
When a master engine resumes operation, the secondary engine shuts down and returns to standby mode. For some situations, it may be necessary to ensure that the secondary engine has completely shut down before the master engine resumes operation.
This field is used to specify a delay before the master engine restarts. When the time since the last heartbeat from an active member exceeds this value, the ranking inactive member will receive a "hint" so that it can prepare for activation.
The Heartbeat Interval should be smaller than the Preparation Interval, which should be smaller than the Activation interval
Question on user roles and linking BW admin with LDAP (If you claim the experience)
Max Jobs and Activation Limit
Process instances typically remain in memory as long as they are executing an activity. If the process instance is waiting for an incoming event (for example, a Wait for Adapter Message activity), the process instance can be paged out to disk and resumed later after the event arrives. New process instances are paged out to disk until there is available memory and resources to accommodate them
The TIBCO BusinessWorks Process Configurations dialog, accessed by selecting the process archive in the Configuration Builder, allows you to specify the following:
- 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.
Business Connect:
Another Protocol used in BC
EzComm is a set of COM objects that allows you to instantly connect to another computer on the Internet or your local network and begin sending and receiving messages. It takes all of the low-level work out of establishing a TCP/IP sockets connection and defining and implementing a messaging protocol. With this COM DLL at both ends of the connection, you can begin sending and receiving text or binary data messages with only a few lines of code. You can even send messages through a webserver with HTTP tunnelling. And it has built-in key-encryption and compression. Use EzComm to exchange XML documents or write your own Internet chat or instant messaging program. Download includes full C++ and VB samples
Subscribe to:
Comments (Atom)