Defining correlation sets and query properties

Correlation sets and query properties are both used to make it possible to find specific instances of a business process in a runtime environment where several instances are running.

Correlation sets

Correlation sets are used in situations where many similar conversations are occurring simultaneously, and might proceed something like this:
  1. A partner call is made, and an instance of the process is initialized.
  2. Correlation tokens are gathered for the partner.
  3. Communication is terminated for some reason. Usually because one of the participants needs to gather some more information independently.
  4. Communication is reestablished, the tokens gathered earlier are used to confirm that the same partner is interacting with the same instance of the process.
  5. The process continues its execution.

Correlation tokens refer to specific message parts in your process. Sometimes you may find that you want to correlate two message parts from two different interfaces. They may have what is essentially the same kind of content but use different names, so you will need to tell the system that they are analogous. You would do this with an alias. For example, you would use an alias to tell the system that whenever it encounters a message part called lastName, it should assume that it means the same as the other message part called familyName.

To illustrate how a correlation set might be used in a real world setting, imagine that you call a travel agent to ask about a trip. In this, the initial conversation, you tell the agent what you're interested in, and she gives you a quote. You tell her that you want to think about it, so she gathers some specific contact information about you (name and phone number), and you end the conversation. A week later, you have made up your mind, and you call the travel agent again and give her your contact information. With this, she is able to identify you, and pulls up your quote on her computer. You conclude your business.

In this example, the correlation set is the contact information that the agent stores so that she'll be able to recognize you in future correspondence. She does not stop everything else that she's doing while you decide what you want to do, instead she conducts similar business with other customers, and picks up your request where it left off when you re-initiate contact.

Query properties

Similar to the correlation set, query properties make it possible for the runtime engine to recognize a specific process in an environment where multiple ones are running. Each process would have the same variables, but these variables would each have different values. Through the use of the query properties, a user would be able to query the runtime engine, and find a specific instance of the business process.

Feedback
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.