[jboss-dev-forums] [Design of JBoss jBPM] - Re: user based process versioning ?
david.lloyd@jboss.com
do-not-reply at jboss.com
Mon Jan 8 10:51:18 EST 2007
In my opinion the new prototype would work like this:
All process information is stored in the process definition archive (not in the database). The database has a row for the process, and a row for the specific version; this allows executions to link back to their owning process. These rows need not use system-maintained versioning, and in fact probably should not.
A process definition archive contains the name and version of the process, as well as any associated information (process diagram, forms, etc). A variation on the standard file deployer is used to add a process definition to the container.
A jBPM instance can execute any process that is currently deployed. An attempt to execute a process that is not deployed in the current container will result in an exception.
Deploying processes in this way has several advantages:
* We no longer have to deal with BLOBs, as we are not storing large chunks of binary data in the database. The process definition archives and their associated metadata are deployed much like any other javaee component.
* We support two models of versioning. The first allows the user to deploy a new, independent version of their process by specifying a new version number, allowing the old version to continue to exist. The second allows the user to easily *replace* the definition of an existing version, in the case where they have (for example) a critical bug in their process definition and they want to get a quick fix out there, without having to execute a potentially complicated data update as well.
* Table normalization. This should always be a goal in my opinion. We should never require grouping or distinct operations for a query of a simple domain object, as we do today for distinct process definitions.
* Reusing standard javaee deployment mechanism. This is the standard way of performing a javaee deployment. By way of comparison, EJB authors do not deploy their code into the database; and they are used to the idea of doing a new file deployment for new versions of their applications.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3999061#3999061
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3999061
More information about the jboss-dev-forums
mailing list