Thursday, January 27, 2011

BPEL Correlation


BPEL correlation provides the ability to implement stateful, long-running interactions between BPEL and partner services. Correlation associates the message with the particular BPEL instance thus the stateful interactions are implemented in BPEL. It is especially useful for asynchronous interaction. BPEL adds some identifying variables when interacted with the clients or partners. These identifying variables are called properties which are defined in WSDL while in BPEL a set of properties which is called correlationSet is defined. In correlationSet the properties are specified. And in BPEL when the interaction with correlation is needed for some activities such as , and etc. , one defined correlationSet is used for BPEL correlation. What needs to be noted is that a property is just nominal representation of identifying variables. Its actual value comes form the one field of the message. How the property gets the value is handled by propertyAlias which is also defined in WSDL. A propertyAlias specifies how a field of the message is mapped to a property. Why BPEL introduces propertyAlias is to decrease the dependency between WSD and BPEL by using property as intermediate variable. For example when one field name of the message is changed no part of BPEL will be impacted.