What are Promoted Properties and why does BizTalk have them?


Long and short of it: Property promotion is about getting easy and fast access to data.

Easy: Because you typically do not have to know anything about your data to get access to it.  Example: Message(some property). Rather then some long and error prone xpath query.

Fast: Because you do not have to load the whole message into memory to get access to the data. It is placed inside the message context (a collection of key-value pairs that are associated with a message).

BizTalk provides two different types of promoted properties based on what you want to do with the data.  The two types are Promoted Properties and Distinguished Fields.

Distinguished Fields are light weight and only accessible inside an Orchestration.  They could be used inside a decision shape or for extracting data out of a message for dynamic routing.  They are read/write so it provides an easy way to change values inside your message without using a map – such as updating a status field. 

Promoted Properties are system wide but could also be used like
Distinguished Fields. They are “more expensive” then Distinguished Fields and typically should only be used when you need to do Context Based Routing on these values.  These are also read/write (in most cases).  BizTalk Server provides several context properties but you can create as many more as you like using a custom property schema. 

How does something get promoted? A lot of items are promoted by BizTalk for you at various points in the process. You can also promote items yourself using Promotion inside a schema or by using a custom pipeline. It all depends on what you want to accomplish.


More information on Promoted Properties can be found inside the help guide.