Anybody, who can answer these questions?
Just for the records, my comments are based on the XPDL spec dated Oct 3, 2005. The state machine is made up of activities (nodes in jBPM) and transitions.
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 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.
Please clarify what you mean with the role concept.
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.
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.
Thank you very much for this detailed answer.
With role concept i mean that processes can be attached to different roles.
In which relation are antities assigned to processes?
From what I've seen/been reading JBPM leaves this problem to the Designer
Only if you prefer so. 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.
OK, so can you expand a little
The idea of a swimlane fits well on to the project I am currently thinking about
BUT I will need to be able to asign a Task to n of m Users who 'fit' a particular swimlane
Can you explain how this might be achieved
I have to ask one additional question regarding roles: These are only supported with jPDL. BPEL doesnt support any kind of roles, as far as i know. Is this right?
Well, 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.
Imagine a scenario where a vendor exposes a service to receive orders online. Customers invoke this service to request items. After that, the vendor replies with a quote and a potential delivery date. Since it has to evaluate the order, possibly with human intervention, it doesn't reply immediately. It calls the customer service asynchronously instead.
The WSDL interfaces could be something like this:
<portType name="provider"> <operation name="takeOrder"> <input message="order"/> </operation> </portType> <portType name="customer"> <operation name="receiveQuote"> <input message="quote"/> </operation> </portType>
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.
<plt:partnerLinkType name="buy-sell"> <plt:role name="buyer" portType="customer"/> <plt:role name="seller" portType="provider"/> </plt:partnerLinkType>
Once again thank you for this very informative answer!
What is the BPEL equivalent to the JPDL swimlane
Hi there once again,
One more question: What communication possibilities does jBPM provide? SOAP? RMI? etc.
And another one: Does jBPM support process simulation?