About Pipelines, Stages, and Components

A pipeline is a piece of software infrastructure that contains a set of .NET or COM components that process messages in a predefined sequence. A pipeline divides processing into categories of work called stages, and determines the sequence in which the stages are performed. Each stage defines logical work groups, determines which components can go in that stage, and specifies how the pipeline components in the stage are run.

Within each stage, pipeline components perform specific tasks. For example, components within stages of a receive pipeline may decode, disassemble, and then convert documents from other formats to XML. Send pipelines do essentially the opposite: convert documents from XML to other formats, assemble, and encrypt, with each pipeline component performing a portion of the entire process. Although a stage is a container of components, each stage is itself a component with metadata. Stages have no execution code, as opposed to pipeline components, which do have execution code.

The following figure shows how the pipeline design surface illustrates pipelines. This pipeline has two stages, the Assemble stage and the Encode stage. The XML Assembler pipeline component was added to the Assemble stage, but the Encode stage is still empty, because it still shows Drop Here! to indicate that a pipeline component can be added to the stage.

Stages and components in a BizTalk pipeline
Illustrates stages and components in a BizTalk pipeline.

Microsoft BizTalk Server contains a set of pipeline templates, pipeline components, and default pipelines. You can create and configure pipelines by using the Pipeline Designer user interface; you implement pipelines by using the API in the Microsoft.BizTalk.Component.Interop namespace. You cannot modify the pipeline templates.

In This Section