In business processes, activities often occur concurrently. In BPEL, such concurrent activities are modeled using the
<flow> activity. Activities within
<flow> start concurrently as soon as the
<flow> is started. The
<flow> completes when all nested activities complete. Gathering nested activities within
<flow> is straightforward and very useful for expressing concurrency scenarios that are not too complicated. We have used it in the examples in this and the previous chapter.
To express more complex concurrency scenarios,
<flow> provides the ability to express synchronization dependencies between activities. In other words, we can specify which activities can start and when (depending on other activities), and define ...