Designer > What is Correlation
  

What is Correlation

Correlation is a construct for keeping track of a group of messages that belong together in one particular business partner interaction. Correlation matches messages and interactions with the business process instances they are intended for.
When a BPEL engine receives a message, it determines if it should create either a process instance or match an already-running process. The data within a correlation set is the signature that lets the engine match the message to the process expecting that message. You can add correlation to receive, pick, reply, invoke, and coordinate event handler activities for this purpose.
To use correlation, consider the following:
As an example, for each correlation set, create a data property, such as customerId. For each message being correlated, create a property alias for a message part, such as a Receive's message part named CustID, an Invoke's input message part named customerNum, and so on.
Alternately, you can use an engine-managed correlation policy assertion, described in Engine-Managed Correlation.
The steps for adding correlation to a process are shown in the following illustration.