I have an frontend application where the external user submits the request to a bpm engine to be processed by internal users (typical use case for automating the management customer requests for governmental and enterprises)
Components existing:
1- frontend technology
2- bpm engine
3- bpm DB (meta data and state machine management)
4- business DB (where the business data is stored, updated and upon which reports are created)
My question is , should the bpm engine update in the business DB directly or delegate this task to another backend (say a business component layer) and hence the BPM functionality is limited to process management only.
The answer is clearly : It depends, so the correct question is : depends on what?
I beleive that introducing business component backend will add complexity to the design but will make it more usable, neat and manageable.
Kindly elaborate with different use cases where I can either go first or second option.