cancel
Showing results for 
Search instead for 
Did you mean: 

Process instance state merge.

alistair
Champ in-the-making
Champ in-the-making
Hi,

The project that I'm working on contains a BPM that users will interact with primarily in an online mode, in that they will operate with the same process instance/state database for the life of the process instance.  However there is also a scenario whereby the users can opt to take that same BPM process instance offline (working standalone with no access to our servers in order to interact with the main process instance), performing the entire process or perhaps one or more tasks within a process instance against an offline/local copy of the process definition and then returning to online mode whereupon the process instance state needs to be resumed/merged.

In effect the same BPM will be deployed to two locations, the client's standalone instance and the server, but the state needs to be transferrable between the two when the user is offline/online.

I guess my initial question is whether this is something that Activiti users commonly come across and whether there is a pattern for such an implementation that I should be following?

I've been looking through the javadoc and user guides and note that the REST services contain JSON serialization of the process instance state.  Is this something that could perhaps be deserialized across the offline/online boundaries using existing Activiti interfaces or is there perhaps an alternative approach that can be recommended?

Many thanks

Alistair
1 REPLY 1

ronald_van_kuij
Champ on-the-rise
Champ on-the-rise
I guess my initial question is whether this is something that Activiti users commonly come across and whether there is a pattern for such an implementation that I should be following?

No, I've not heard a lot of this recently. Long ago, in the insurance business it was.

I've been looking through the javadoc and user guides and note that the REST services contain JSON serialization of the process instance state. Is this something that could perhaps be deserialized across the offline/online boundaries using existing Activiti interfaces or is there perhaps an alternative approach that can be recommended?

Not heard of this, but it might work. You might want to 'suspend' the central instance then. Another option is to create a database export for all related records and import that in the offline system. Two different but similar approaches with similar results that might work. Automating this would be even nicer…