It depends on
- your database and applicationserver. There is another thread where WLS and Oracle pose issues in 4.x that will be 'fixed' in 4.4.
- What you have implemented already in either and the complexity
If you have nothing, I'd go for 4.3 or trunk (4.4 in about 1 month) to be on the safer side with upgrading in the future. But agreed, 3.2.x (x=6 is 'officially' released and 3.2.8/9 is in svn) has a more proven trackrecord, integration with seam and other things.
So I cannot give you a real answer, just directions.
We are using the following configuration:
- JBoss AS 4.2.3
- JBoss Portal 2.7.2
- Seam 2.2.0, but jbpm-seam integration is not important for us. We do not use the jBPM-Seam functionality, we do by ourselves because it didn't exists support for portlet environment at the moment we integrated the 3.2.x version.
- MySQL 5.1.x
I'm attaching a zip with the model of the booking process. The process is composed by a Main Process and 7 Subprocesses.
As you can see in the diagrams, we are using the following bpm functionalities:
- Swim lanes
- Main Process Global Event Listeners (start-end) to free the rooms when the process ends abnormally or is canceled.
- Process-SubProcess communication. Main process waits until sub-processes ends.
- Task and Wait states with transition timers.
- The Task Nodes creates only 1 task, we do not need to create more than one task instance per node.
- Email nodes to send notifications to the users when needed.
- We have some Wait states that are waiting for a signal for external events like Payment Gateway and Insurance Services responses.
One think that I do not know if it will be available soon is the variable history support.
I have some questions and concerns but I will post new topics for them.
Process Diagrams.zip 154.1 KB
There will be variable declarations in jBPM 4.4 I think. Have a look at JIRA: https://jira.jboss.org/jira/browse/JBPM-2506
I don't know if that means that logging of variables will also be possible already. At least the issue describes how to enable and disable the history for certain variables.