CA Clarity Tuesday Tip: Processes - Best Practises

Discussion created by LarsSeibert Employee on Jul 3, 2012
Latest reply on Jul 6, 2012 by Chris_Hackett
[font=Comic Sans][size=7]
It is very easy to create a process in Clarity, but it can be a challenge to implement processes with a good performance. The following Best Practices might help you on your way to well performing processes:
[*]Try to keep start condition, pre-condition and post condition expressions as simple as possible.
[*]For a process with an on-update start condition, ensure that the actions the process takes result in the start condition evaluating to FALSE by the time the process finishes executing. This will prevent the process from firing over and over again.
[*]The number of active processes tied to an object definition does have an effect on performance, due to the number of start condition evaluations that must be conducted upon UPDATE or CREATE. Keep the total number of active processes for a given object to a minimum. For instance, have a single "create" process with appropriate branching logic instead of having multiple "create" processes.
[*]Some process instances may need to be kept around after they complete for auditing purposes. Identify processes that do not need to be kept around and schedule the Delete Process Instance job to delete them when they have completed (nightly or weekly basis). Frequently run processes are good candidates to delete as they typically carry almost no auditing benefit.
[*]Break up big processes into a series of smaller manageable sub processes. Processes are then easier to manage and perform better. Sub processes are a new feature in the Clarity 8.x release.
[*]Reduce the number of steps used by a process by performing more than one action within a step. This will create a more efficient and better performing process.
[*]Processes can span multiple objects. Instead of creating two or more separate processes, it might be more efficient to create one multi-object process. A multi-object process will involve multiple objects (ex: Ideas and Projects) allowing users to configure conditions and action items with information from the objects involved in the process. Users can configure links between objects via lookups and the process engine will recognize those links when creating a multi-object process.
[*]During BG services startup, the process engine loads, compiles, and caches all active processes. This can cause an initial spike in database CPU usage.