ActiveVOS Designer User’s Guide

What is a Correlation Set?

A correlation set is a set of properties shared by messages. The purpose of the correlation set is to act as a conversation identifier: it keeps together all messages intended for the same conversation.

A message can have several properties, each defined as a property alias.

Properties

A message property to be used for message correlation must be a schema simple type like an xsd:int or an xsd:string

For example, a property might be a purchase order number or a customer Id. A property exists within a WSDL message that is transmitted during a Web service interaction. A single message may contain multiple properties and a single property might exist in several messages.

Property Aliases

Properties can exist in WSDL messages, schema elements, and schema types. In order to extract the value of the property from a message or variable, a property alias is required. The property alias identifies how to extract the value of the property from by specifying the message part and optionally a query. If the property alias is for an element or type variable then there is only the optional query.

For example, a purchase ordering process might define a property called OrderId. This property could exist in multiple messages like the purchase order, acknowledgement, and invoice messages. Each of these messages may store the value of the order Id in a different part of the message. A property alias must exist for each message that contains the property in order to determine how to extract the value for the order Id. A specific process instance is identified by a unique order Id such that no two processes will ever have the same value for order Id. This ensures that when a message arrives it is dispatched to the correct process instance.

The following illustration shows how a message property alias is mapped to a property name. The property name is mapped to a correlation set.

Correlation sets mapped to  message properties and property aliases

For more information, see: