Do you see this as specific to one specific process, or just a compensation
mechanism for all processes executing on your engine (like, if anything goes
wrong, do this)?
More like specific to a process. Mainly because having one mechanism for
entire process engine could be too generic, will be difficult to handle what
shall be done for particular error in particular process, especially if the
process definition is big and there are quite many definitions running.
My initial idea was that each activity can (but does not have to) register
to a compensation manager on execution time specifying what/who to invoke in
case of rollback. Scope of it will be of course transaction, so on
commit/rollback compensation manager will drop all registered listeners for
given process. However, I don't know how does it fit BPMN2?!
/Maciej
2010/5/31 Kris Verlaenen <kverlaen(a)redhat.com>
> Maciej Swiderski wrote:
>
>> Hi,
>>
>> first of all, that's really great that jBPM 5 is on its way to be started.
>> This is really important to know because we can prepare some long term
>> planning.
>> There was number of different threads about jBPM5 features and I have to
>> admit that they cover almost everything that is required for first release,
>> to make it interesting for any customer. I hope you could come up with a
>> long term road map as well to illustrate to the customer that it is going to
>> be enhanced and will live quite some time (that I am sure of but sometime
>> without hard facts it is not so easy to convince business people).
>>
> Yes, we're focusing on the first releases now (for obvious reasons ;)), but
> we'll be defining a long-term roadmap as well, which will include
> productization etc.
>
>
> In one of the threads there was discussion about web editor for process
>> definitions and I have to say that from what I noticed so far, for business
>> experts this is really important. Eclipse based tools are not of any
>> interest for them, they are far to complex (as they used to say). Web based
>> editors - this is what they want, especially with some repository
>> capabilities and (what would be perfect) with collaboration capabilities
>> where business experts can share and exchange ideas (and processes). What is
>> really important as well about web process editor is to have "two way
>> support", meaning that process developed in web editor can be consumed by
>> eclipse based tool and the other way around without lost of information.
>> This was something that was missing in current web editor (signavio) and
>> eclipse plugin for jBPM 4.x.
>>
> Like I said in the previous mail, I hope that BPMN2 will be the answer
> here, providing interoperability between different (possibly external)
> components, even for round-tripping. But we need to give the spec and the
> tools a little more time to mature still I think.
>
>
> Another thing that could be quite useful is to have some kind of mechanism
>> that will support compensation. What would be good to have is to provide
>> compensation manager on process instance level that could invoke some stuff
>> in case of rollback (unexpected errors on process execution). Process
>> execution is within transaction boundaries but unfortunately not everything
>> is (or can be done) in transactional manner. This does not have to be very
>> sophisticated it is just to give some kind of listeners that could be used
>> by process developers to take some actions on rollback, even if that will be
>> just to send an email to administration personnel.
>
Do you see this as specific to one specific process, or just a compensation
mechanism for all processes executing on your engine (like, if anything goes
wrong, do this)?
>
> Ok, I think that's all. As mentioned before, most of the items were
>> already addressed by others. Thanks for that, and hope the dialog will go
>> on.
>>
>> Last but not least, I would like to take the chance to offer my help in
>> development (and any other tasks you find me useful). So whenever you have
>> complete plan and some issues to do, just let me know I will be on it ;)
>>
> That would be great, I bet we can find you plenty of tasks ;) Drop me a
> private email and maybe say what areas you are mostly interested in (like
> are you more a core, web or eclipse guy), or if you have specific ideas on
> what you want to do, and we'll see how we take it from there !
>
> Kris
>