A typical messaging requirement is to aggregate multiple related messages for processing within a single BPEL process instance. There are two parts to this recipe; the first is to route related messages through to the same instance of a BPEL process. This can be achieved using a correlation set defined against a common value present in each message.
The second is to determine when we have all the messages that belong to the aggregation. Typically, most use cases fall into two broad patterns: