Camunda Process Engine as the backend Database

I wanted to know if anyone used the Camunda Process Engine as a DB (in other words: the process engine provides for objects I want to manage).

Example: I want processes to be the objects I normally store in the database (like News, Orders, Products), instead of having a dedicated table or db for them. I would let those processes alive if they needs to be updated/deactivated/activated or go through some other stages. When I delete a process it means the object is no more necessary. Thus for most of the objects there will be no distinction between the process creating/managing an entity and the entity itself.

The frontend will manage Users, Companies, News and more like objects, but the queries will only run through the REST api of camunda.

Right now the only thing I fear is the management of migrations when I want to update an object/process, because it will be necessary migrate every running instance to become the new one with the new properties and paths.

Hi,

My gut reaction to this, is its not a good usage of a process engine, but everyone’s different I guess :slight_smile:

I think you will have to write custom extensions to update a running process as you will be updating the process variables and perhaps having to apply default values etc.

If you want a kind of generic storage, where you don’t want to worry about database tables. There are many solutions for JPA/Hibernate/Flybase, or for schema-less storage, have a look at some of the NoSQL services e.g. MongoDB etc.

Cheers, Conor.