BizTalk Developer Interview Questions and Answers - Pipeline

BizTalk Developer Interview Questions and Answers - Pipeline


Introduction

This article intends to cover the answers to the BizTalk pipeline related questions, which a BizTalk developer can face during an interview.

Questions and Answers

  1. Why do we need custom pipeline when we have default pipelines?
    BizTalk Server provides a few out of the box pipeline components. For instance the S/MIME components for encrypting or decrypting messages. In case you need to do some pre- or post processing on a message and the functionality is not offered through the provided pipeline components you will need to built your own custom pipeline component. The pipeline component(s) can then be used within a custom pipeline. See also TechNet Wiki Article BizTalk: List of Custom Pipeline Components.

  2. What is maximum message size supported by XML send and XML receive pipeline?
    This depends on infrastructure specifications (CPU, Memory, Disk) and on specific (possible) bottlenecks in your Microsoft BizTalk Server system (see MSDN How BizTalk Server Processes Large Messages). While BizTalk Server imposes no restriction on message size, practical limits and dependencies might require you to minimize the size of your messages because large messages require more processing resources (see MSDN Message Considerations).

  3. What is minimum number of components allowed in pipeline stage?
    Minimum is zero components, example PassThru pipeline.

  4. What is the maximum number of components allowed in pipeline stage?
    All stages in pipeline can take maximum of 255 components, except the assemble stage that has maximum of one.

  5. Does Flat file assembler pipeline component validates the incoming XMLmessage?
    No

  6. What is a .btp File?
    .btp file is a BizTalk Server pipeline file.

  7. How many states have the Receice Pipelines and the Send Pipelines?
    The receive pipeline consists of four stages
    • Decode Stage: This stage is used for components that decode or decrypt the message.
    • Disassemble Stage: This stage is used for components that parse or disassemble the message.
    • Validate Stage: This stage is used for components that validate the message format.
    • Resolve Party Stage: This stage is a placeholder for the Party Resolution Pipeline Component.
    Regarding to the send pipelines, they consist of three stages:
    • Pre-assemble Stage: This stage is a placeholder for custom components that should perform some action on the message before the message is serialized. 
    • Assemble Stage: Components in this stage are responsible for assembling or serializing the message and converting it to or from XML. 
    • Encode Stage: This stage is used for components that encode or encrypt the message.

  8. Is there any Visual Studio Wizard to create custom pipeline components?
    Yes there is. The Pipeline Component Wizard is intended to ease to development of pipeline components used within a BizTalk Server environment. Supports both C# and VB.NET. See more here.

  9. What's the difference between Default Pipelines and Custom Pipelines?
    When you create a new application, the default pipelines are created and deployed by default and appear in the Microsoft.BizTalk.DefaultPipelines assembly in the \References folder for every BizTalk project. The default pipelines cannot be modified in Pipeline Designer. These pipelines can be selected when configuring a send port or receive location in BizTalk Explorer.

    Pipelines and pipeline components present out of box can do most of the tasks for you. But sometime specific message processing or massaging requirements encourage developers to develop custom pipeline components. You can create three types of pipeline components: general, assembling, and disassembling. Each of the three types can additionally implement probing functionality. Each type of pipeline component has an associated interface that must be implemented for the component to be plugged into the BizTalk Messaging Engine; the pipeline interfaces that distinguish the types of components are IComponent, IAssemblerComponent, and IDisassemblerComponent. A custom pipeline component is just a plain .NET class that implements several BizTalk interfaces.

  10. Is there is a error handling functionality to handle error on pipelines? 
    Yes . Error-handling functionality called  error reporting which enables handling pipeline errors.Error reporting is specified on receive and send ports within the BizTalk Administration console.

  11. When is filter used to create a subscription?
    Filters are used to create subscription when orchestrations are not part of the scenario.

  12. Which property is required when using Flat file Disassembler component?
    Setting the Document Schema property is required , all other properties are optional.

  13. What if Document Schema property is not specified when using Flat file Disassembler component?
    A runtime schema discovery will be attempted ,Biztalk Server attempts to determine the correct flat file schema to assemble the message with, based on the namespace and root node of the message.

  14. Which API is used to implement Pipeline?
    To implement pipeline we have to use API in the MIcrosoft.BizTalk.Component.Interop namespace.

  15. What are types of pipeline components?
    General
    Assembling
    Disassembling
    Probing

Author

Maheshkumar S. Tiwari
iVision Software Pvt Ltd
http://tech-findings.blogspot.com/

Contributors


See Also

Read suggested related topic:

Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.

Leave a Comment
  • Please add 4 and 8 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
Comments
Page 1 of 3 (21 items) 123
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • Maheshkumar S Tiwari edited Original. Comment: [toc]

  • Steef-Jan Wiggers edited Revision 1. Comment: Fixed HTML and formatting

  • Maheshkumar S Tiwari edited Revision 3. Comment: Added few questions and answers

  • Maheshkumar S Tiwari edited Revision 4. Comment: minor edit

  • Steef-Jan Wiggers edited Revision 13. Comment: Changed layout See Also

  • Article looks good. I think this one too is as good as done. Perhaps one more question, so have a nice set of 10 questions.

  • Maheshkumar S Tiwari edited Revision 14. Comment: Added question 10 and answer

  • Maheshkumar S Tiwari edited Revision 15. Comment: Editted HTML

  • Maheshkumar S Tiwari edited Revision 16. Comment: Added Q11, 12 and answers

  • Maheshkumar S Tiwari edited Revision 17. Comment: Editted HTML

  • Maheshkumar S Tiwari edited Revision 18. Comment: Added Q 13 and answer

  • Maheshkumar S Tiwari edited Revision 19. Comment: Editted HTML

  • Maheshkumar S Tiwari edited Revision 23. Comment: Added Q 14 and answer

  • Maheshkumar S Tiwari edited Revision 24. Comment: Editted HTML

  • Steef-Jan Wiggers edited Revision 28. Comment: Fixed typo

Page 1 of 2 (22 items) 12