October 31, 2014
Hot Topics:
RSS RSS feed Download our iPhone app

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.

 

 


Sitemap | Contact Us

Rocket Fuel