Wednesday, February 18, 2009

Enhancing BPM Processes Performance

Declaring BPM Processes Instance Variables as "Separated"...

From my personal experience it has been seen so far that if the BPM Processes has big Instance Variables like Value Objects,Transfer Objects, Collection Objects, they consume lot of memory for processing each single instance and BPM Engine starts throwing Severe Exceptions like "Max Instance Size has exceeded",which will hinder the progress of execution of business activity.

Below is the short synopsis related to different ways of increasing Max Instance Size in ALBPM...

1)Enhance BPM Processes Execution
2)Lowering the BPM Message size can affect the performance of these processes specially...

Disadvantages of Higher Message size:
Each single process instance takes that much more time to persist to BPM DB and they are stored as Binary Objects(BLOB) in it will increase the cache memory/space consumed by these processes in DB

Workaround with 32KB Instance Size:
Declare these 'big' (10k or more) instance variables (VO/TO)as 'separated'. In ALBPM,while declaring variables,there is an attribute called 'Category' and the default value is 'Normal'. If you declare an instance variable as 'Separated' the data will be stored in another database table and it's size won't count towards the process instance size and it will not affect the BPM DB Cache Memory..

Print this post