I have a question regarding the amount of process instances BPM 11g can handle and what the design implications may be.
We have a use case where there can potentially be between 500k and 750K process instances created every year. Each process instance can potentially spawn multiple sub processes as well. Can Oracle BPM 11g handle this kind of volume? Has the BPM workspace been load tested with this kind of data volume in the MDS? Of course this does not mean that one user will have 500K line items in their inbox - it will be spread across several hundreds of users.
What do we need to do in terms of process design and infrastructure design considering that there may be this kind of volume ?
I am pretty sure, this volume can easily be handled by OBPM.
Atleast OBPM 10GR3 can.
Although 500K instances would be created in a year, at a single time, only a few instances would remain in the inbox or the workspace depending on the configuration of the engine .
The Services --> Instance Expiration Settings in the Engine Settings of the Process Admin allows that.
Also you need to setup a Archiving db from within the engine settings .
Under Archiving which is under Disposer within the Engine in Process Admin for OBPM 10GR3.
We currently have a process which generates 400 to 500 instances daily. And its working well for the past 1 year. So we have a volume of more than 500 * 365 = 182500 per year.
Make sure the instance size for each instance does not exceed 16KB. Use SEPARATED Variables, sub-processes whereever possible.
Use Local variables whereever possible to reduce instance size. Use external db to store non process info rather than inside the engine using Project Variables.