Data Flow Control
The Iterator data flow control consists of two separate services - fork and join - which allow you to split and iterate over a collection of objects processing each object in the collection individually and at the same time (ie. in parallel).
Iterator fork takes in a collection of objects (eg. multiple sales order), splits the collection into individual objects and lets you process each one separately.
Iterator join, an optional closure of a forked process, ensures that all actions within the forked portion of a process are completed before continuing further.
Fork + Join: When both fork and join are used, the join service makes a process synchronous. Individual objects within a collection are processed in parallel but continuation of a process waits for all to complete before continuing onwards.
Fork only: Without the join, a collection is split into multiple routes which continue asynchronously - in any order.
Common use-cases where iterator service is used include: