I like to know the difference of Activity and Task

Hi All,
I am new to Camunda and using it as a embedded engine with our own system. It is an amazing workflow platform and we really enjoy it. Thanks a lot for bringing it to the community.

Here I use modeler to design the BPMN. And I work with the JAVA API. There are APIs against the activity and task. I like to know what the difference is between them? Because on the UI of modeler I can select a node and append a task. Then I need to query the activity to display the workflow diagram and current progress by using great bpmn-js component. That’s why I want to know the difference.

There is another question regarding the each node in modeler. Node contains the properties, id mapped to backend JAVA API as the key. So how about the name? Is there any mapped property I can get the name value from JAVA API?

Summary:

  1. What is the difference between activity and task?
  2. Can I get the value of the node (such like task, gateway) name property on the modeler designer?

Any help would be appreciated.

1 Like

Sorry, I just found the JAVA API activity.activityName is the one that I was looking for, which mapped to the name property of the task on modeler.

Hey,

an activity is the global class on which tasks, subprocess, call activities etc. belongs to.
So a Task is also an activity, but an activity is not necessarily a task.
See the reference for more detailed explanation.

Best regards,
Chris

2 Likes

In addition to Chris’ explanation, the term task is overloaded in the Camunda and BPMN context. It refers to a task in the BPMN 2.0 context (aka a design time unit of work that is/cannot broken down further => service task, human task, send task, etc.) as well as a task in the tasklist (aka a runtime unit of work that needs to be completed by a human).

Cheers,
Thorben

Thanks Chris & Thorben,
After took a look at the reference, I totally understood, Activities include Task, Subprocess, Call Activity, Event Subprocess and Transaction.

Thanks for your clarification again.

Task and Activity…

From an academic view (my interpretation from the BPMN 2 standard - with some help from noted authors on the topic):

A process-oriented activity is an abstract type and implies work performed within a process. This “work” refers to one or more assigned tasks. An activity also implies responsibility and participation. Though the terms “task” and “activity” are often used synonymously they are not the same. A task is a unit of work (atomic) – an activity is work performed and includes one or more tasks.

From an empirical perspective, looking at Camunda’s API/implementation:

  1. I’ve noticed that a “task” is better reflected as something implemented within a BPMN 2 process model. I bumped into this distinction while using the query, or history, API against process models.

  2. An activity is more suited for case-management (CMMN)

I’d recommend verifying this via Camunda’s process instance and history API.

  • Create a BPMN task and query its instance. Does either the Activity or Task filter return a reference?
  • Create a CMMN activity and query the instance (same as above)…