BPM Process Applications Performance Evaluation
1. Minimum steps before first coach – There should be minimum steps before the first coach in a Task since these steps are executed after a user clicks on a task and cause a delay in loading of the coach.
The following Human Services were found to have extra steps before first coach
a.
b.
2. Manageable coaches – split onto multiple steps if too much data is being handled in a single coach, or follow tabbed pattern.
3. Cached integrations – Integrations providing static data should be cached.
4. Memory footprint, massive variables as input, but not all is needed – If massive complex variables are input to tasks or services they cause a heavy memory footprint, also while passing from a BPD to a service there is a deep-copy involved which has significant cost.
The following steps were found with multiple huge complex variables being passed from BPD to service.
a.
b.
Remove or nullify all unused data, also a keyed cache can be used if the data is constant for the same object along with static cache.
5. All flows should end at end points.
The following processes were found which did not terminate at an end point
1.
6. Avoid global exception handlers – Where possible specific exception handlers should be used per service, a catch all kind of exception handler has performance implications.
The following processes were found using global exception handling
1.
2.
7. No consecutive system lane activities – If more than one consecutive system lane activities are there they should be combined into one activity.
8. Use no-task activities when possible
9. Uncheck save-execution context when possible
Following Services were found with save-execution context checked.
10. Avoid Polling patterns Polling pattern – the process runs for ever and needs to be externally terminated, there should be provisions to externally terminate it.
11. Limit Business Data Search – Business Data is not exposed for the primary process
13. Use Parametrized queries No regular sql queries were found.
14. Use Stringbuffer instead of regular String concatenation – The following services were found implementing regular string concatenation.
1.
2.
15. Compact Static resources –images and js files should be compressed.
16. Minimize use of Custom HTML