From the Activiti User Guide:
BPMN 2.0 makes a distinction between a regular subprocess, often also called embedded subprocess, and the call activity, which looks very similar. From a conceptual point of view, both will call a subprocess when process execution arrives at the activity.
The difference is that the call activity references a process that is external to the process definition, whereas the subprocess is embedded within the original process definition. The main use case for the call activity is to have a reusable process definition that can be called from multiple other process definitions.
It is currently possible to create more process definitions (besides the default userWorkflow) by empowering the REST endpoint
The new process(es) defined can then be called from the main userWorkflow via the <callActivity/> element(s): the main advantage is that, by doing so, there are no more problems about the process definition versions, as they only apply to the main process (e.g. userWorkflow).
What is currently lacking is:
- proper management for getting all available process definitions
- proper handling for initial loading of several process definitions from XML files
- proper editing features from Admin Console
as all the items above only consider the possibility that a single process definition is available.