I am in the process of porting a couple dozen BPMN workflows from a Switchyard/Fuse environment over to Camunda. Our workflow is fully automated - no user tasks - and each service task submits a job to our esb over REST. The esb responds with an acknowledgement, and the next step in each case is to wait for a signal when the job (most are very long-running) completes. When the signal arrives, workflow moves to the next service task. Most of the workflows also involve parallel executions (parallel gateways), so there’s a lot going on at once.
I was going to at least change the mechanism from signalling to message send/receive over REST, but the BPMN still looks as cluttered as before. I am considering using AbstractBpmnActivityBehavior
, but a previous post (Long-running JavaDelegate - disadvantages? - #3 by Ingo_Richtsmeier) indicated that this approach is no longer suggested, presumably in favor of external services. However, in our situation, I’m not sure how an external service could be much help unless it was simply a call/callback service to/from our esb.
Would it be acceptable to use AbstractBpmnActivityBehavior in our situation? If anyone has any suggestions with regard to a best practice here, it would be greatly appreciated.