(I posted this to a different discussion space, I think this is the correct one. Sorry about this).
I want to propose jBPM5 as part of a new solution to which I have been assigned. I have worked with jBPM5 before, to the extent of developing a prototype and demo.
My questions are probably easy for most regular users of this board. As I don't currently have access to an adequate platform to use for answering these questions by experimentation, I was hoping I could get quick answers so I can confidently present a solution knowing it will work in practice. I'll add that my previous prototype involved strictly human tasks meaning that, for each step of the process, a work item waited for a human to complete some action before advancing.
What's new to me is the use of events, in particular I want to know how to represent this in BPMN2 as that is how I want to present this to my audience. So here's the example:
To oversimplify, let's say there are two action nodes in my process definition:
a.) Create -- a service task
b.) Resolve -- a human task
So when the process instance is created, the Create task executes then the process advances to Resolve. If a human does in fact resolve the work item manually, the process completes. However, depending on use case, an external actor of some sort (most likely a separate jBPM5 process instance) will signal an event and in response to this event, I want the work item to be resolved automatically i.e. via a service task rather than the human task. The outcome of resolving the work item automatically will be the same as if the human did it, but the human task will never be executed. What I am having trouble wrapping my head around is the idea that the process instance will have already "entered" the human task node but will never exit it "normally"; but will be pulled into a different node and exit, having completed. I am wondering if a better way to think of it is that the process instance remains in a gateway until either the human actor "claims" the process instance or the signal is caught. It doesn't help that almost 2 years have passed since I was hands on with this stuff.
What I mostly need is a simple example of how to represent this graphically in a BPMN2 diagram.
The second question is, assume a new instance of this same process is created due to a different signal (also from a separate jBPM5 process instance). I am referring to the last paragraph of section 6.8.4 of the user guide. Again, I just need the graphical representation at this point.
The third question is somewhat different and does not involve BPMN2. What I want to know is, say you have a process engine managing process instances, and you want some client application kept up to date when process instances are created and when they terminate, can that client be notified via some sort of publish-subscribe mechanism? If so, what type of inter-process communication technology is required? Is Mina or HornetQ required? Can WS-Notification be used?
If you've gotten this far, thanks for reading all of it and I hope my request is clear!