Service task or collaboration - which is preferred?

To model the engine process I can use a service task to call a web service on any application, but I might as well throw an intermediate messege event to a different process for the very application and model a catching message event to care for the response to be processed in further activities.
As much as I understand about BPMN both ways are synonymous. Does it make any difference using the camunda engine - is there a preferred way to do?

Hi Rainer,

there is no difference between the implementation of a service task and a message intermediate throwing event. You can decide on the flavor of the business readers of the process model.

I personally prefer send tasks (same implementation as service tasks) over message throwing events, as there normally is some acitvity to create the payload of the message. An event just happens (out of nowhere?).

Hope this helps, Ingo


Perhaps another way to look at it. If its a synchronous interaction, use a service task. If its asynchronous, use messages…