When is jBPM 3 going stable?
The roadmap for jBPM is available in Jira
Can I run jBPM on Tomcat?
Yes you can, see "Running on Tomcat"
Regarding jPDL: Can it be converted to another language? For example XPDL? Is there any correlation btw. both of them (XPDL and jPDL)?
Each activity has an implementation, which can be a task (task in a task-node) or a sub-flow (proceess-state), among others. Transitions can be attached conditions (transitions conditions in a decision node). Nodes can impose restrictions on incoming and outgoing transitions to model choice, concurrency and partial or total synchronization (fork, join and decision nodes).
Given this shallow comparison, I'm convinced there is a mechanical procedure to convert XPDL documents to jPDL documents. The inverse is not possible if the jPDL document contains delegations. In a nutshell, jPDL can be converted to XPDL. It's just that we feel, with the feedback from the community in mind, that the considerable effort needed to provide an XPDL converter does not add enough value to justify it.
Regarding the BPEL Extension: Which BPEL Standard is supported? I found standard 1.1 and 2.0 mentioned. Are both of them fully supported?
Regarding BPEL, we aim to support versions 1.1 and 2.0. The latter is a moving target, tough, because the OASIS technical committee is still working on it. Right now we are working in the draft dated Sep 1, 2005.
What does the role concept of jBPM look like? With role concept i mean that processes can be attached to different roles
jBPM makes a separation between process roles, termed swimlanes after the equivalent concept in UML activity diagrams, and organization roles. This allows you to group responsibilities irrespective of the actual shape of the organization.
See the jBPM user guide, section 9.4 for details about swimlanes.
BPEL doesnt support any kind of roles, as far as i know. Is this right?
BPEL, as an orchestration language, defines service roles. There is a construct in BPEL called partner link, which models the conversational relationship between two (web) services. Further, it defines the role of each service in the conversation. A partner link type defines the connection between these two services. Note the two roles in the relationship and how a port type specifies the interface each service presents to the other.
Is some kind of admin tool available for jBPM? (for monitoring running processes and so on)?
The jBPM web application supports the creation of new process instances, task lists, and several monitoring capabilities. Try the starters kit. You can have it running in 5 minutes and it will give you a better idea of what we offer.
Is there the possibility of administrating work- / todo lists?
With "todo lists" you mean a list of tasks to be performed by a given person? If so, jBPM and the web app do it.
What communication possibilities does jBPM provide? SOAP? RMI? etc.
jBPM itself does not provide specific actionhandlers or components to achieve this (yet). Since actionhandlers are written in Java, you can do anything you like.
e.g. Get a WSDL, generate javacode and make an actionhandler out of it. There has been some thinking of providing some soap wrapper, but it is not high on the list, since it is very to have any kind of communication.
If you think esb (Enterprise Service Bus) (e.g. the upcomming jboss implementation or others, mule, servicemix) they provide you with service bindings (jbi communication service) for e.g. mq, jms, soap, ftp etc.... now that would be great....
Does jBPM support process simulation?
Can you transfer a running process to a newly deployed process definition?
No, you have to end that process and start it again in order to use the new process definition.
Does jBPM have JMX integration and if so, how does it look like?
In the starters-kit, jBPM comes deployed as an MBean. But for the moment, this mbean is only used to put the JbpmConfiguration in JNDI. No properties or management operations are available yet on this MBean.
Are there any tools for process modeling ?
There is an eclipse plugin called the Graphical Process Designer (GPD) that support visual creation of process definitions. The GPD always keeps the graphical diagram in sync with the process XML. So the "Source" tab and the "Diagram" tab are kept in sync real time.
jBPM supports the notion of modelling freedom. This means that the business analyst is in charge of the diagram. The developer must be able to make the diagram, created by the business analyst, executable witouth making changes to the diagram. It is possible to use any other modeling tool that you are used to. In that case, the translation between the graphical diagram and the XML process has to be done manually by the developer. This task is not that hard because the graphical diagram and the process XML map one on one. There's no need for a translation into a software design. Of course, when using a separate diagramming tool, you don't have the real time synchronization between diagram and process XML.
Is the Graphical Process Designer (GPD) only useable in Eclipse? Is there a way to use it standalone?
The jBPM GPD is an eclipse plugin that targets usage by multiple roles. Both the business analyst and developer are able to use the same tool in different ways. The main reason why we think it is important to integrate those two in one single environment is because in many teams, these two roles are done by one person. Then it becomes very important that the tool can support both roles and gradually shift from being a diagramming tool to an implementation tool.
Of cource, a real business analyst does not want to see all the eclipse developer and implementation gadgets in his tool. To accomodate that use case, an eclipse perspective is on the roadmap. This means that a customized layout will be created for using the jbpm designer for business modeling purposes only. Only relevant buttons will be visible and all non relevant stuff will be hidden.
Let's say 2 persons modify the process definition simultaneously. How is that issue handled today?
During development of a process, a team can use any concurrent versioning system like CVS. Once you deploy the process into a jBPM database, the jBPM versioning mechanism kicks in. jBPM will assign a version number to each process. That way you can look up the latest version of a given process (referring to it by name).
Can jBPM be integrated with the Drools rules engine ? If yes, how ?
Yes, it can. See JbpmAndDrools for an example.
Why does jPDL lack a notion of a guard condition on every transition ?
first the background on the current situation (lack of general applicable conditions on transitions): my main problem with adding conditions or guards on all transitions is that jbpm is not able to do anything functional with them except throw an exception when a user wants to take a transition that is not available.
this can only be meaning full in the first transition that is taken. if a user provides a signal and process execution resumes. suppose that after executing a few nodes, an automatic node decides to take a transition for which the condition is not met. then the user will get an exception that is caused by a problem in the process definition. the user would get an exception in the line of "hey, somewhere in the process definition there was a contradiction: node x decided to take transition t, which was not accessible"
the user is only responsible for the initial signal and the transition that he/she specifies. in that case the engine could throw an exception with a message like "hey, you can't take this transition".
in the latter case, guards could make sense. BUT, the verification could just as well be done in the user code as in the process. Instead of sending a signal to the process and have the process decide wether you can take that transition, you might as well check that condition yourself. When checking for conditions in the user code, you don't rely on exceptions for your normal program operation.
So in my opinion, there is this one little thing in which guard conditions make sense. To ask the process execution: "to filter the outgoing transitions of the current node and answer the question: 'which transitions are currently available for this execution'"
Are you referring to exactly this last use case ?
Do you see another use case for guard conditions that i should be aware of ?
We have had this request many times. None of the requests convinced us yet to make it a high priority feature. So we are very sensitive for your feedback as this could be the drop that fills the bucket and makes us realize what all those people are asking for.
I have successfully deployed the jbpm-console.war(using jbpm-jpdl-suite-3.2.GA, and oracle database) to the tomcat, but when I try to login, I found that the jbpm.jpdl.oracle.sql doesn't include the JBPM_ID_GROUP etc, how can I find the schemas that the websale demo needed, I want to run the websale demo, how can I make it?