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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...