How to handle big business data in bonita studio?



I already had a question regarding this matter, but it was more of a the front end side problem.

I have and object (A) and this object has a lot of objects (B list, about 10 000 objects).

What i want to do is manipulate A object, but at the moment i dont need the B objects, i just want to modify the A object.

In the business data definition i have set B to multiple and aggregation with the setting only load when needed.

In bonita studio i created a process that starts with loading the A object in a business variable, but it takes a lot of time, to do so, i think maybe it is loading the whole object with the B object list? But i tought it will only be loaded when i "need it", not always when i try to use it in business data.

Could someone explain this to me? How the only needed and always load settings work? I read about this that the only needed is the lazy loading, and it will only get data from the database when i call it, but it doesnt seem to be the case in bonita.

Overall, how can i handle a business data object that has many objects in it? (like in the case i described)

Thank you!


1 answer


Hello Zoltan

I believe it has to fetch entire B list for each A object fetch ( You can check in developer tools for network traffic). We had similar requirement (typical master/detail form for Bill of material type of situation). We ended up with standard approach of creating master table and detail table such that BDM REST API on A would fetch only A objects and then call BDM REST API to fetch corresponding B object on demand (When user clicks on button ). We use custom widget in our application so it was very straight forward to do this. We could also use pagination on B objects so there was no performance issue also :)

I believe it shouldn't be any different than standard BONITA widgets.