I recently presented at the Toronto BizTalk User Group on the topic of "Streaming Pipeline Component Development in BizTalk". I found this to be a hard topic to present, as the content is possibly easier to absorb when reading it at your own speed and being able to take the time to soak it all in. It is also a reasonably in-depth topic, and as a result assumes a prior knowledge of BizTalk pipeline design.
Anyway, I plan to blog the content as a series of posts. I hope these posts will serve to fill in the gaps of an area of BizTalk that is not well known or documented.
These posts will cover:
- An overview of streaming design & development – benefits and design differences
- A detailed look into BizTalk pipeline's streaming design, and the underlying classes that BizTalk exposes to provide this
- A look into BizTalk’s publicly available classes which are useful for pipeline components
My knowledge in this area is a result of developing a set of EDI pipeline components for BizTalk 2004 & 2006 to replace the Base EDI Adapter. These components were developed prior to BizTalk 2006 R2, and support the original BizTalk 2000 - 2006 EDI schemas.
I will update this page with links to the articles once they have been posted.
[Update 28th April 2008 - links below]
Part 1 - Streaming versus In memory comparisons & pros/cons
Part 2 - Execution of custom processing logic differences
Part 3 - Coupling the XmlReader and XmlWriter
Part 4 - Deep dive into the XmlTranslatorStream
Part 5 - Implementing custom logic by sub-classing the XmlReader and XmlTranslatorStream