We have integrated the activiti engine into our existing application. We are looking at disaster recovery approaches for this now as we now have 2 databases to keep in sync, our existing application database and the activiti data. Obviously the DR strategy needs to be carefully thought out to achieve this.
One option many people go with is to add Activiti to the same DB schema as the original data, and span transactions over all the data. That's for example the way how it is integrated in Alfresco.
Sounds like a good approach. The problem being that our application is based on our own no sql database that Activiti doesn't integrate with.
I guess there must be others out there who have similar problems. If BPM is supposed to support the flow of information between different applications in an enterprise then your solution isn't always possible.
I don't know what you are looking for actually. You have a NoSQL database and you would like the Activiti database to be part of a disaster recovery approach. And you are referring to rollback functionality here? If you use a NoSQL database how would you implement JTA transactions or something similar, with a relational Activiti database? I don't see a lot of possibilities for that.