Hello,
we are running process A that needs to invoke process B and since the two are not strictly related, we would like to deploy them through two independently EmbeddedProcessApplications running two independent process engines using a Shared Database pattern.
We figured out some possible strategies:
-
Use a Call Activity Task
-
Develop a REST API for the EmbeddedProcessApplication deploying process B and invoke it from a Send Task / Service Task in process A
-
Use the ProcessEngine REST API to create an instance of process B from a Send Task or Service Task in process A
We already considered the following:
- if we need to expose process B as a REST API for other purposes, then use the API, so we are not constrained to deploy the two processes on the same process engine
- if we use the CallActivity, then for unit testing purposes we would need to deploy a “mock” process because the subprocess definition is resolved at runtime
Are there other important considerations we need to take into account ? It would be great if Bernd could write a blog post on the topic