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 Microsoft.
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 users).
- 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!