Leading on from the last couple of posts -
In my simple scenario a customer ordered some goods, a composite instance was initiated to do the work. In the meantime the customer cancels the order, we react by purging the instance.
Bad business of course, usually we would want to capture the business condition - order cancelled. A simple solution, in my scenario, would be to have 3 outcomes from the human workflow --> Approve, Reject, Cancel. The order could then be cancelled via the worklist app or via th api. Control is returned to the BPEL process which could then do what has to be done - e.g. compensation, update customer profile etc.