The point of a process engine is to provide a "process virtual machine".
A thread is a machine level concept.
Whereas a process engine actually uses a thread is an implementation detail. The process engine could use pthreads or forks, you should not care.
And if the process engine actually spans multiple physical machine, well only the admin should care.
Process Virtual Machine
Posted byAnonymous Userat
2006-07-13 10:53 AM
Of course, a process engine is a virtual machine and high level workflow languages don't have the low-level notion of thread.
But still, the point is: if your process declares tasks to be parallel, why should the engine serialize their execution, effectively killing the performance of your workflow?
The point of a process engine is to provide a "process virtual machine". A
threadis a machine level concept. Whereas a process engine actually uses athreadis an implementation detail. The process engine could use pthreads or forks, you should not care.And if the process engine actually spans multiple physical machine, well only the admin should care.
Of course, a process engine is a virtual machine and high level workflow languages don't have the low-level notion of thread.
But still, the point is: if your process declares tasks to be parallel, why should the engine serialize their execution, effectively killing the performance of your workflow?
Replies to this comment
That is exactly what we have been extracting: A single embeddable process virtual machine on top of which multiple process languages can be build.
Full article: http://jbpm.org/pvm
Shorter version: http://www.onjava.com/pub/a/onjava/2007/05/07/the-process-virtual-machine.html
Forum: http://www.jboss.org/index.html?module=bb&op=viewforum&f=253
Sources: http://anonsvn.jboss.org/repos/jbpm/tempranillo/pvm