Article Source: http://geekswithblogs.net/charliemott
Ever wondered what the differences are between "id" and "value" cross referencing in BizTalk?
The functional difference is documented on msdn.
... The cross reference ID methods can be used to establish and lookup the relationship between the IDs used by the two systems. ... the cross reference value methods can be used to translate the value used by one system to the value used by the other system.
I had no idea what this meant. So digging a bit under the covers to understand this reveals the following:
Id cross referencing supports one-to-one bi-directional mapping data. In Id cross referencing, there is a one-to-one relationship of cross reference data between applications. This is enforced by the database table constraints.
Value cross referencing supports one-way many-to-one mapping data. For example, Germany, France or Spain can all be mapped to Europe. The tables for Value cross referencing are similar to the Id tables apart from the constraints. As a result, value cross referencing can only be guaranteed in a single direction. For example, you cannot map Europe to a single country.
A technical difference is identified by Michael Stephenson:
In ID cross referencing it will hit the database everytime....
VALUE cross referencing implements a simple cache....if you update data in the database you should restart each host instance that uses it before the changes will take effect.