Hello!
Can someone please explain the difference between passively waiting on a receive message event and a user task.
For me they are steps that will halt the process until data is sent to the engine and makes the process move forward…
Any niche between them ?
Thank you
Hello @maroun_ayle ,
regarded in an abstract way, these 2 activities/events are waiting states. You could add some more events and activities as well that have a similar behaviour.
When we look at a process in a more semantic way, the difference is very clear. User tasks require interaction of a person with the system, receive message events require a message to be sent to a system (in a technical way usually).
Hope this gives you a first idea.
Jonathan
Hello @jonathan.lukas, thanks for the quick reply!
I understand so far, my question in a more technical way is the following:
If I’m exposing camunda via a custom API built on top of camunda which then accesses the camunda java API to forward the process, what are the differences between a message receive event and a user task?
Hello @maroun_ayle ,
for a user task, there will be 2 directions of information flow required. (Plus, there is more interaction possible)
- Towards the user: Information about which data needs to be entered where
- Towards the API: The submitted form data
https://docs.camunda.org/manual/latest/reference/rest/task/
For a receive message event, only one direction is relevant: Towards the API. Another possible endpoint could be a query for waiting receive message events to assert that your API call will not fail.
https://docs.camunda.org/manual/latest/reference/rest/message/post-message/
One very important difference regarding identification: A user task always has a unique ID, as a receive message event will be queried by its name and some other parameters that will make it unique as a whole.
The information sent towards the API will be handled in a quite similar way inside the engine again.
Hope this helps
Jonathan