Correlations Overview

In ALBPM, a correlation is a map that relates one or more values to a process instance. A correlation allows you to access an instance in a process without knowing the instance ID. Instead, you can define a correlation that uses values with business meaning, such as an invoice number or a product code.

Consider a situation where you have a process to manage purchases and your suppliers can access the system through some kind of interface. You start the process by sending a purchase order to a supplier, creating an instance in the purchase process. This process will expect the seller to return an acknowledgment for the order, stating if the order is accepted or not.

For the process to continue, the acknowledgment must be routed to the same instance that originated the purchase order. However your supplier's system does not have the instance ID. So then the question is: How can the acknowledgment be routed to the correct instance? You could send the instance ID to your supplier, but this number has no meaning to the supplier, and the supplier may not even have a way of storing it. In fact, the instance ID has no meaning anywhere outside the process. Instead, you define a correlation set that correlates a business token to a given instance.

A business token is simply a value or set of values that has business meaning and is also unique to each instance. For example, a purchase order number could be used as a business token, but the date or amount of the purchase order cannot be, because neither are necesarily unique.