Workflows and loose temporal coupling

Long-running conversations often involve multiple participating systems. The more participants there are and the more they need to communicate, the more important it is to ensure loose temporal coupling. This has different dimensions:

Using workflow for implementing long running conversations makes it easy to ensure these properties. The reason for this is inherent to the way workflow works: since the communication among the different systems is routed through the workflow engine, the workflow engine acts as a kind of buffer between these systems.

As such, it can

The workflow engine can take advantage of well known patterns such as periodically retrying failed requests, circuit breaker, polling consumer. Workflow can also degrade gracefully by skipping optional steps.

Most important, when using BPMN for modeling workflows, incidents can be visualized on a graphical diagram. This enables programmers and business people to analyse and assess incidents in collaboration. They are then able to prioritize them according to business impact and evaluate resolution strategies together.