10.5. Orchestration Inline Sends

For scenarios in which latency is important, it might be appropriate to send messages directly from an orchestration, thereby avoiding at least one MessageBox hop (two for the scenario in which you are using delivery notifications or two-way sends). In BizTalk Server 2004, inline sends from orchestrations were limited to scenarios in which XML messages were transmitted over the wire, because there was no way to execute a send pipeline from an orchestration. BizTalk Server 2006 enables this scenario. The product group packaged the pipeline manager code, which was previously internal to the messaging engine, into a public assembly, Microsoft.XLANGs.Pipeline.dll. You can reference and execute this public assembly from an orchestration. Enabling the execution of pipelines from orchestrations paves the way for inline sends, but it is only part of the story. BizTalk has more than 300 different transport adapters that may be used only via receive and send ports. Therefore, if inline sends are appropriate for your scenario, you will most likely need to write a certain amount of transport code.

Some other scenarios, aside from low-latency ones, can be achieved only by using inline sends. Consider, for example, that you need to atomically transmit two different messages to an MSMQ queue and a SQL Server database. The problem here is that the transaction is scoped between the BizTalk MessageBox and the adapter. (You cannot enlist two different adapters in ...

Get Professional BizTalk® Server 2006 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.