Last year I wrote the initial version of my PipelineTesting library,
a wrapper library that makes it possible to automate testing of BizTalk
Server 2006 pipelines and pipeline components. Since then, I’ve used the library successfully
on several projects and I’m extremely happy I spent the time creating it, as it has
made my life a lot easier when working with Pipelines.

However, the original API for the library was not the best. While not hard to use,
it was not completely intuitive and it was very verbose, for no good reason except
that it resembled (partially) the original API in the PipelineObjects library from

Finally this bothered enough that I decided to do something about it and improve the
API with something better. My goals are:

  • Keep the original API compatible. In other words, you should still be able
    to use the original API if you so want (if only to keep compatibility for existing
  • Make it less verbose, but more readable.
  • Fix pain points in the current API.

The current API works, but it is somewhat painful in the following aspects:

  • Creating pipelines from scratch and using default pipelines
  • Executing Send pipelines (since you need to create collections even if you’re only
    going to use one input message)
  • Manipulating messages

I’ll be exploring some options to fix these issues in following posts, and I’d sure
appreciate any feedback!