BizTalk is a message-based system receiving and sending data inside messages. Sometimes the incoming and outgoing messages must be processed to fit to external formats. Pipelines, attached to send ports and receive locations, are the components through which the messages pass; then the data format is recognized and can be validated or changed if necessary; as well as the metadata is extracted and added to the message context.
BizTalk Receive Pipeline
A receive pipeline operates on a message after it is received by the receive adapter. The receive pipeline takes the initial message, performs some transformations, and disassembles the raw data into zero, one, or multiple messages. These individual messages can then be processed by BizTalk Server.
Receive pipelines have four stages:
- Decode. It can be used to prepare the message for the Disassemble stage for example decrypting, uncompromising and decoding a message.
- Disassemble. It can be used to produce multiple messages based on the input message by de-batching the incoming message into smaller messages. It can also recognize the format of incoming messages and then process it as well as promoting properties into the message context. For example, incoming messages formatted as XML are processed by the XML Disassembler or incoming messages formatted as CSV flat file will be parsed and prepared as individual XML units.
- Validate. It's mainly used to validate the disassembled messages. For example, verifying the XML Schema of the message to be of a certain type using the XML Validator component.
- Party resolution. It's used to determine the party that BizTalk receive the message from. This can be achieved by mapping the sender's digital certificate or sender's security identifier.
BizTalk Send Pipeline
A send pipeline is responsible for processing documents before sending them to their final destinations. The send pipeline takes one message and produces one message to send.
Send pipelines have three stages:
- Pre-assemble. It prepares the message for the outbound process.
- Assemble. It's responsible for combining multiple messages into one large message with the format that will be sent over the wire (Aggregating multiples messages in a batch). In this step, we can change XML format of a message into a flat file, or possible adding envelopment to the XML message. In this stage, you can also demote the properties (those properties promoted in the Disassemble stage of the Receive pipeline and used for the routing of the message) from the context message.
- Encode. It's responsible for writing the outgoing message in a fashion way in order to be understood by the target system. It involves encoding, compression, encrypting, and signing the message.
Custom pipeline components:
- IBaseComponent: Defines properties that provide basic information about the component.
- IPersistPropertyBag: Works with IPropertyBag and IErrorlog to define an individual property-based persistence mechanism.
- IComponentUI: Defines methods that enable pipeline components to be used within the Pipeline Designer environment.
- IComponent is responsible for providing any execution functionality.
ReplyDeleteNice blog .Well explained . Biztalk online course Bangalore