dcsimg
August 19, 2018
Hot Topics:

BizTalk Pipeline Dreams, Part I

  • June 29, 2007
  • By Jeffrey Juday
  • Send Email »
  • More Articles »

PipelineBinding

The PipelineBinding class in the prototype serves a similar purpose as the Binding class in WCF. PipelineBinding houses a stack of PipelineBindingElements and the resulting Stack created by the stack of PipelineBindingElements. Build is the primary PipelineBinding function. The body of the Build function appears below.

internal void Build()
{
   Type currentType = null
   PipelineChannelContext channelContext = null
   PipelineBindingElement elm = null;

   for (int n = 0; n < _elementOrder.Count; ++n)
   {
      currentType = _elementOrder[n];

      elm = _elements[currentType];

      channelContext = elm.BuildChannel();

      _stack.Contents.Add(channelContext);
   }

}

The StandardPipelineConfiguration class is responsible for populating the PipelineBinding.

Binding is primarily the construction foreman and home for the Stack. All the real work of building the Stack happens in the PipelineBindingElement class.

Implementing a PipelineBindingElement

PipelineBindingElements build specific classes derived from the PipelineChannelContext or implementing the IPipelineChannel interface. PipelineBindingElement is an abstract class, so it cannot be instantiated directly.

As you will see in an upcoming article, adding an IPipelineChannel requires building a class implementing IPipelineChannel and building a PipelineBindingElement to build the IPipelineChannel class.

OnBuildChannel does the building work. PipelineBindingElement can pass the BizTalkContext to IPipelineChannels it creates if desired.

To Be Continued

There are still some open issues to cover, such as:

  • How do you build a PipelineBindingElement?
  • How do you set up the Configuration in XML?
  • How do you test and deploy a solution once you have built it?
  • What are some of the things you can do with a Pipeline Channel Stack?

I will answer these questions and more in the next article.

Conclusion

By applying the WCF ideas of BindingElements, Binding, and Channels, you can make a BizTalk 2006 Pipeline Component behave like a WCF Channel Stack. The included source code will show you what you need to do. In a future article, I will show you how to extend the solution.





Page 3 of 3



Comment and Contribute

 


(Maximum characters: 1200). You have characters left.

 

 


Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

By submitting your information, you agree that developer.com may send you developer offers via email, phone and text message, as well as email offers about other products and services that developer believes may be of interest to you. developer will process your information in accordance with the Quinstreet Privacy Policy.

Sitemap

Thanks for your registration, follow us on our social networks to keep up-to-date