I should start by saying I was much happier with last year’s entry.  Last year, I used an Orchestration to limit other running Orchestrations.  It could be configures on the fly using the Rules Engine.  I should note that in Biztalk 2006 you will now have the ability to limit running Orchestrations since you now have per-host configuration. 



Since last year I didn’t place in the top 5, I decided to take a difference approach this year.  I decided to take a look at something simple and build on that.  So, I picked mapping.  Simple, right?



Transforms are a critical component in nearly every integration project.  The Transform design pattern is largely taken for granted since mapping is a relatively straight forward process.  The importance to a well thought out Transformation Approach is soon understood when messages start failing inside pipelines, when existing maps need to be updated, and when new maps need to be deployed. 



What if a truly dynamic Transform mechanism existed that could be configured at runtime, had no dependencies to outside assemblies, and handled exceptions? 



Key Features Demonstrated



  • Dynamic Transform inside an Orchestration

  • Untyped Receive and Send Ports

  • Direct Binding to the message box

  • Per-Instance Pipeline components

  • Effective Exception handling


Download: Dynamic Transforms in BizTalk 2006



To set up and run the sample, just unzip the download to the C:\ drive.  Then, follow the set-up instruction inside the DynamicTransformswithUntypedMessages.doc inside the DynamicMaps folder.