What is Correlation?

Correlation is when a process sends a message out and that same process is expecting a response to be returned to the same instance of that process. The complexity rises when the messaging patterns become asynchronous or the process becomes long running. Asynchronous and long running processes are a common scenario inside business processes today.

BizTalk Server is great at correlation inside Orchestrations given the publish and subscribe architecture of BizTalk Server. BizTalk supports both system based correlation (based on a Send Port or File Name) and content based correlation using specific values inside the message. Content based correlation fits a greater number of scenarios.

Workflow 4.0 has the ability to do content based correlation and it looks and feels a lot like BizTalk (which is a good thing).

I have put together a short screencast video to walk though setting up content based correction inside Workflow 4.0. To set up content based correlation in Workflow 4.0, you first create a correlation variable of type CorrelationHandle. Then, you set this variable and xpath on the corresponding send and receive shapes. This video takes you through the process step by step.

Watch the video live via Flash or download the Windows Media version.