I am trying to design systems to implement my complex business process. I am trying to decide which approach would be better considering the below scenario.
The are multiple parallel tasks that are a part of the process. Is it better to have them as parallel tasks in BPMN, as described in the first image or have multiple processes that are interacting with each other as described in the second image?
The systems being de-coupled in the second diagram gives me the freedom to change things w/o worrying too much about the consequences to the entire process. Something like Microservices.
I am not limited by the system but as of now I am planning to use a combination of Camunda and custom APIs which generates triggers based on business logic.
Multiple Processess
If it is one process, you should model it as one process. So your first solution is definetely the better one. If you want to decouple things a bit: Instead of creating separate processes have a look at the concept of the call activity or subprocesses. With these elements you can encapsulate certain aspects of the logic and still model one whole process.
(BTW: in your first picture, I would replace the inclusive gateway with a parallel one because you also split the flow with a parallel gateway.)