Wednesday, October 24, 2012

Read: TIBCO BusinessWorks Best Practices

A nice resource for beautifying your BusinessWorks solutions:

Some valuable points to my opinion:
  • For-Each should be used instead of group activity wherever possible.
  • For multiple transitions merging into one, all transitions should preferably merge at null activity.
  • For Parallel processing, should have an appropriate activity (e.g. null) so that all the parallel paths get executed. This is to ensure that following activities after the null activity will have all the outputs available from parallel paths.
  • Use cfg file to override the GV setting for designer mode testing.
  • Instead of JMS Queue Requestor use JMS Queue Sender and Wait for JMS Actives. Because JMS queue requestor open a new primary thread. 
  • When you want to map a child elements for example Complete Details > Details > Personal Details > Address Details > Permanent Address> Address to the Address then copy the address to process variable and map it. It increases the performance.
  • Instead of creating Durable Subscriber create a bridge b\w topic to queue and ask the durable subscriber to listen on that queue. Adding a durable subscriber creates overhead on the EMS server.
  • Divide the functionality in to molecular level for the re-use. Instead of creating in a large process.
  • Use Batching instead of Statement when possible (Better Latency) in JDBC Update.
  • Use JDBC Query activity to fetch batches of records at a time instead of retrieving the entire result set.
  • Rule of thumb is not to use many Global variables(GV) as it stays in memory in form of a tree and to retrieve the binded value process has to traverse the tree. If the unwanted GV are there the cost is incurred in traversing.
  • Copy-off increases the performance than mapping with for each in Input Tab.
  • Instead of passing a large set of data to Call process every time use Job Shared variable. Which increase the performance.

0 reacties:

Post a Comment