Modification Of Business Process Variables

Hello team,
I am very newbie on BPMN standard and I think I have fundamental misunderstanding in some cases.

I am going to write Orders Management Module for my company. We are ISP providers and we’re selling some ISP services. (IPTV, Internet, VoIP etc … ). Orders management module has many different and complex business processes. We want to use bpmn standard (Camunda) to implement this module.

I have two questions :

  1. Do I need to create my own Orders, Order Items, Order Parameters Table ? I know that all bpmn engine saves all data into his database. camunda has runtime tables, also history tables. I can get all the information from the camunda database, such runtime data as history data. what is the design pattern ?
    if we will not create our own database model then we must setup our reporting system based on bpmn engine database. which might be a little bit uncomfortable i think. If we setup our own Orders schema then some data will be duplicated. and we must synchronize some data models.

  2. Order has very large and complex business process. The process can last for a long time. Order also has some variables / parameters and this process might be depend on this variables. How can i update / change process variable on any time / step of business process ? I just want to edit some parameters. what is the design pattern is this case ? how can I draw “Edit” task into business process ?

Any documentation link will be good.

Thanks in advance,
Best Regards,
Paata.

Generally it’s a good idea to keep your entity data in it’s own structured tables where it would potentially be accessed by other sources if nessary. It would also let you change technologies in case you wanted to move away from a workflow engine in the future - you wouldn’t want all your data wrapped up with the engine.

There are a lot of ways to edit process instance data while it’s in flight. You can do it straight through the rest API or construct the functionality from BPMN.

I put together some thoughts related to your first point here if you’re interested in some more reasoning: http://airquill.io/2014/06/29/Storing-data-in-processes.html

It’s in line with Niall’s point.

1 Like