[jbpm-dev] [Design of JBoss jBPM] - process definition as a resource

tom.baeyens@jboss.com do-not-reply at jboss.com
Mon Feb 16 04:05:55 EST 2009


jbpm users typically deploy the process to the db and then store the instances in the DB as well.

we also supported non persisted execution of processes to some extend.

after thinking this through, there are basically 6 execution modes.  see next comment in this thread for a reference to the presentation on execution modes.  2 of those 6 modes are now in the test suite: dynamic persistent and memory

but i want to discuss persistent resource.  In that execution mode, the process definition is loaded from a resource on the classpath.  the process executions still live in the DB and the history can also be captured in the DB.

in order to achieve this execution mode, we must change the references from the execution datamodel to the process definition datamodel.  the references cannot be based on foreign keys, but they must be based on just the plain activity name.

in a lot of situations, i think this would be the most appropriate/optimal way to deploy and run processes.

some questions:

in the persistent dynamic execution mode, do we want to keep using the foreign key mappings ?  

or would it be possible to transition to text-based activityName references as well ?  

in the latter case, we would be able to keep the same hibernate mapping files for both execution modes.  if we can find a good solution for text-based activityName references then targetting the 'persistent process resource' execution mode becomes a possible target.

outside of the current activity pointer, there are a number other of foreign key references in the execution datamodel.  we would have to do all of those text based.

another aspect that becomes more complicated in 'persistent process resource' execution mode is deployment in a clustered environment.  when using the DB to store process definitions, this is the single entry point accessible from all nodes.  but how would we deploy a resource to all nodes in a cluster ?  and how would the process definitions be cached in memory ?

ok... my thoughts are not yet clear and structured. but i wanted to start this discussion.  cause if we want to include the persistent process resource mode for GA, then we need to discuss now and start working on it in the next iteration.

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4210262#4210262

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4210262



More information about the jbpm-dev mailing list