Pipelines are probably the least properly utilized tools in the BizTalk toolbox.
Pipeline is important part of BizTalk server in message processing. It is a component of Microsoft BizTalk Server that provides an implementation of the Pipes and Filters integration pattern. As per BizTalk runtime architecture, pipeline comes just after receive message on receive port/receive location. And messages in BizTalk are immutable once they have entered the Messagebox.
In pipeline level we can do several activities before sending to Messagebox.
Following activity can be applied in Pipeline:
- Conversion from another format to XML vice-versa
- Process encoded document (MIME/SMIME)
- Breaking incoming document into separate individual documents
- Modify message
- Verifying or signing document with digital signature
Pipelines are divided into two part: Receive & Send pipelines. Receive pipeline specify on receive location, and send pipeline specify on send port.
It processes messages in a predefined sequence. it 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.