This post intends to cover the BizTalk pipeline related questions, which a BizTalk developer can face during an interview.
Questions and answers:
1. Why do we need a 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 the maximum message
size supported by XML send an 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 the 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 the pipeline can take maximum of 255 components, except the
assemble stage that has a maximum of one.
5. Does Flat file assembler pipeline component
validates the incoming XML message?
No
6. What is a .btp File?
.btp file is a BizTalk Server pipeline file.
7. How many states have
the Receive Pipelines and the Send Pipelines?
The receive pipeline consists of four stages
o Decode Stage: This stage is used for components that decode or decrypt the
message.
o Disassemble Stage: This stage is used for components that parse
or disassemble the message.
o Validate Stage: This stage is used for components that
validate the message format.
o Resolve Party Stage: This stage is a placeholder for the Party
Resolution Pipeline Component.
Regarding to the send pipelines, they consist of three stages:
o Pre-assemble Stage: This stage is a placeholder for custom
components that should perform some action on the message before the message is
serialized.
o Assemble Stage: Components in this stage are responsible for
assembling or serializing the message and converting it to or from XML.
o 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 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 the box can do most of the
tasks for you. But sometime specific message processing or messaging
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 an 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 the root node of the message.
14. Which API is used to implement Pipeline?
To implement pipeline
we have to use the API in the Microsoft. BizTalk.
Component. Interop namespace.
15. What are types of pipeline components?
o General
o Assembling
o Disassembling
o Probing
16. Why attributes are added to class while developing a custom
component?
To indicate that the component
is a custom pipeline component and in which stage it can be used, couple of
attributes are added to the class.
[ComponentCategory(CategoryTypes.CATID_PipelineComponent)] -- This
attribute tells that the component is cutom pipeline component
[ComponentCategory(CategoryTypes.CATID_Any)]
-- This attribute tells that the component can be used at any stage
OR
[ComponentCategory(CategoryTypes.CATID_DisassemblingParser)] --
This attribute tells that the component can be used only on Disassemble stage
17. Custom Component is not
visible in Toolbox, even after adding the assembly to GAC?
Just adding assembly
is not sufficient, it needs to be added to component dll at
location : C:\Program Files\Microsoft BizTalk Server
2010\PipelineComponents and then
reset the toolbox, it will be visible and ready to use.
18. What interfaces are used in developing a
general custom pipeline component?
IBaseComponent,IComponentUI,IComponent,IPersistPropertyBag
19. What interfaces are used in developing a
custom dis-assembler component?
IBaseComponent,IComponentUI,IDisassemblerComponent,IPersistPropertyBag
20. What interfaces are used in developing a
custom assembler component?
IBaseComponent,IComponentUI,IAssemblerComponent,IPersistPropertyBag
21. What interfaces are used in developing a
custom Probing component?
IProbeMessage
If you have questions or suggestions, feel free to do in comments section below !!!
Do share if you find this helpful .......
Knowledge Sharing is Caring !!!!!!
Related Post
- Interview questions on Orchestration
- Interview questions on Schema
- Interview questions on Map
- Interview questions on BRE
- Interview questions on Visual Studio in context to BizTalk
- Interview questions on BizTalk Pipeline
- Interview questions on BizTalk BAM
- Interview questions on BizTalk Application
- Interview questions on XSLT - BizTalk
- Interview questions on Helper Class/.Net Assemblies BizTalk
- Interview questions on BizTalk Adapter
- Interview questions on Functoid
- Interview questions on BizTalk Database
- Interview questions on BizTalk EDI
- Interview questions on Orchestration
- Interview questions on Schema
- Interview questions on Map
- Interview questions on BRE
- Interview questions on Visual Studio in context to BizTalk
- Interview questions on BizTalk Pipeline
- Interview questions on BizTalk BAM
- Interview questions on BizTalk Application
- Interview questions on XSLT - BizTalk
- Interview questions on Helper Class/.Net Assemblies BizTalk
- Interview questions on BizTalk Adapter
- Interview questions on Functoid
- Interview questions on BizTalk Database
- Interview questions on BizTalk EDI