I would like to walkthrough soome interesting enhancement which i came through.
Large message transformation:
A new large message transformation engine keeps the memory consumption flat by buffering the input message data in to the file system, if the size of the message exceeds a user-configurable size.
TransformThresold size can be configured by editing the below mentioned registry key
(Don’t understand why Microsoft gives such an option to edit registry, rather include it as a configurable property in beautiful Biztalk Administration console?)
Per-Instance Pipeline Configuration:
Biztalk 2006 provides a enhanced way to configure the pipeline per-instance basis. Why do you need this? For example, In Biztalk 2004 you create a custom pipeline (say CustomDecodePipeline1) by configuring the AllowUnrecognizedMessage = true property and you share across three Receive ports (say A, B and C). You deployed it. Now the customer wants you to modify only the Receive port B that needs protect Unrecognized Message and you need to set AllowUnrecongizedMessage= false. How do you do that?
Biztalk 2006 Explorer provides ReceivePipelineData and SendPipelineData to override the default properties per-instance basis.
Calling Pipelines from Orchestration:
In previous version of BizTalk if you want to call pipeline component from orchestration either you send the message out of Biztalk and receive it by the pipeline or write a custom .NET component that fulfills your requirements.
Biztalk 2006 opens you an option of calling the pipeline components directly from Biztalk orchestration.
Call your Send pipeline using the following syntax from Expression shape.
Receive pipeline using
CustomPipelineOut = Microsoft.XLANGs.Pipeline.XLANGPipelineManager.ExecuteReceivePipeline( typeof(CustomEnvReceivePipeline1), envInvoiceInMsg);
Receive pipelines must be called from an atomic scope of transaction.