BizTalk Interview Questions

Q. What Is a BizTalk Application?

A BizTalk application is a logical grouping of the items, called “artifacts,” used in a BizTalk Server business solution. Artifacts include the following:

BizTalk assemblies and the BizTalk-specific resources that they contain –orchestrations, pipelines, schemas, and maps
.NET assemblies that do not contain BizTalk-specific resources
Policies
Send ports, send
port groups, receive locations, and receive ports
Other items that are used by the solution, such as certificates, COM components, and scripts
Q. What is the lifecycle of a Message in BizTalk server?
A message is received through a receive location defined in a given receive port. This message is processed by the pipeline associated with the receive location, and if there are any inbound maps associated with the receive port they are executed. The resulting message is then published to the MessageBox database. The MessageBox evaluates active subscriptions and routes the message to those orchestrations, and send ports with matching subscriptions. Orchestrations may process the message and publish messages through the MessageBox to a send port where it is pushed out to its final destination.
Q. Does BizTalk support synchronous communication?
BizTalk Server architecture is asynchronous for scalability reasons. However, the architecture of the BizTalk Messaging Engine enables exposing a synchronous message exchange pattern on top of these asynchronous exchanges. To do this, the engine handles the complex task of correlating the request and response messages across a scaled-out architecture by linking together a number of asynchronous message exchanges to expose a synchronous interface.
Q. Can an envelope schema consist of more than one schema type?
Yes. XML envelopes serve two purposes within XML instance messages sent and received by Microsoft BizTalk Server:
XML envelopes can contain data that supplements the data within the XMLdocuments. This data can be promoted into the message context by the XML disassembler to provide easier access from a variety of BizTalk Server components. For outbound XML instance messages, the XML assembler can demote values from the message context into an envelope for inclusion in the instance message transmission.
XML envelopes can be used to combine multiple XML documents into a single, valid XML instance message. Without an envelope to wrap multiple documents within a single root tag, an XML instance message containing multiple documentswould not qualify as well-formed XML.
Q. What are the execution modes in a pipeline Stage?
A stage in a pipeline has an execution mode of either “All” or “First Match”, which controls the components that get executed if more than one component is added to a stage.
For stages with a mode of “All”, each component is called to process the message in the order in which they are configured in the stage.
For stages with a mode of “First Match”, each component is polled to indicate that it is the right component until a match is found, at which point the component that matches is executed, while the remaining components do not get executed.
Q. Which Interfaces do you need to implement in a disassembling custom pipeline component?
A disassembling pipeline component receives one message on input and produces zero or more messages on output. Disassembling components are used to split interchanges of messages into individual documents. Disassembler components must implement the following interfaces:
IBaseComponent.
IDisassemblerComponent.
IComponentUI.
IPersistPropertyBag.
Q. What is a link in a Map?
A link specifies the basic function of copying data from an element or attribute in an input instance message to an element or attribute in an output instance. You create links between records and fields in the source and destination schemas at design time. This drives the creation, at run time, of an output instance message conforming to the destination schema from an input instance message conforming to the source schema.
Q. How to route binary data?
To route binary data you can use pass-through pipelines on the receive location and send port. BizTalk will route (copy) the data from the source (receive location) to the destination (send port). If you want to route the binary data based on some information in the binary data then you write a custom Disassembler to promote the properties you need from the incoming message to route the binary data.

Q. What is MessageBox?
MessageBox is a SQL server database along with messaging agent. See MSDN MessageBox Jump .

Q. What is the purpose of MessageBox?

Store all messages and context received.
Stores all subscriptions.
Stores all Host Queues.

Q. What happens to the messages coming into MessageBox?
Checking the subscription table is the First thing when messages come in MessageBox and a copy of the message is sent to the subscriber.

Q. How does MessageBox treats messages without subscriber?
The message is suspended when there are no subscribers found for it.

Q. How many receive locations can a single receive port have?
Receive port can have any number of receive location.

Q. Types of subscription in BizTalk?
Two types of subscription
1. Activation
2. Instance
Instance subscriptions are removed from the message box while Activation subscriptions remain active as long as the orchestration or send port is enlisted.

Instance subscriptions are removed from the message box while Activation subscriptions remain active as long as the orchestration or send port is enlisted.

Q. Is it possible to have various ports with the same name in two applications?
No. The names of the various ports must be unique, not just inside an Application but for the whole BizTalk group.

Q. In which state can a send port does not subscribe to a message?

In Unlisted state send port does not subscribe to any messages and no messages will be sent through the port.

Q. What could be the reason for having multiple receive locations inside one Receive port?
The reason for having multiple receive locations inside one Receive port is to have the ability to receive different messages from different locations and having BizTalk treat them as if they were received from the same place and/or had the same message type.

Q. How can we check what’s going on inside BizTalk Server?
The group hub gives the user an overview of what is currently going on inside BizTalk.

Q. Can a send group be a part of multiple send group?
No only static send ports can be part of send group.

Q. Ordered delivery on send port has serious performance impact, why?
Because only one thread can submit messages through the port and each message has to wait for messages through the port and each message has to wait for the message before it can be processed.

Q. Ordered delivery does not have an effect even after it is set, when this might happen?
When back up transport is also applied.

Q. Can a message in a MessageBox be changed?
Messages in BizTalk are immutable after constructed and the message is considered constructed after it is placed into the MessageBoxDatabase.

Q. What happens when we run MSI package?
When we run MSI packages, it will register the application with Windows Operating System and then load any related assemblies in the Global Assembly Cache.

Q. In how many ways can we do the BizTalk Application deployment?

BizTalk Application deployment can be done using the following:
a. Deploying from Visual Studio
b. Building a Microsoft Installer (MSI) package that can be exported or imported between environments.
c. Using command line-based tools such as MSBuild and BtsTask.
d. Using community frameworks, such as BizTalk Deployment Framework and NANT.

Q. Ordered delivery on send port has a serious performance impact, why?
Because only one thread can submit messages through the port and each message has to wait for messages through the port and each message has to wait for the message before it can be processed.

Q. What is the Difference between an Isolated host and an In-Process host?
The difference between an Isolated host and an In-Process is that an Isolated host must run under another process, in most cases IIS, and an In-Process host is a complete BizTalk service alone. Additionally, since In-Process hosts exist outside of the BizTalk environment, the BizTalk Administration Tools are not able to determine the status of these hosts (stopped, started or starting).

Security is also fundamentally different in an Isolated host versus an In-Process host. In-Process hosts must run under an account that is within the In-Process host’s Windows group, and do not maintain security context within the Messagebox. Isolated hosts are useful when a service already exists that will be receiving messages either by some proprietary means or by some other transport protocol such as HTTP. In this case, the Isolated host only runs one instance of the End Point Manager and is responsible for receiving messages from its transport protocol and sending them to the Messagebox through the EPM.

Q. What is the maximum number of branches that can be used in a parallel shape?
There are no limitations on the number of branches which can be used in a parallel shape.

Q. What is binding?
The term binding refers to the configuration of orchestration ports in order to control the creation of subscriptions and/or promoted properties. Binding is used to control how messages will be routed to or from orchestration ports by the subscription mechanism.

Q. What is the basic flow of messages in Biztalk Server engine?

Receive Port:

listens for messages.

Adapters information interchange with external systems

Pipeline, dis-assembler, and sub-components: normalizing the schemas (wire message in its native format) of the internal messages using XML as the common language.

MessageBox: internal XML messages are published here and then are further consumed by Subscribers.
Subscribers (Send Port and Orchestration components): subscribe to internal messages per metadata or message context properties.

When the subscribed orchestration finishes processing the internal messages are re-published in the MessageBox to be consumed by other subscribers.

Send Port: consumes the internal XML messages, converts them to wire messages through the associated pipeline and subcomponent Assembler.

Finally, the adapter is used to convey the wire message to the target system.

Q. When working with Schemas, Maps, Pipelines, and Orchestrations, how should the projects be structured?
Schemas and Maps in its own project
Or Schemas and Maps together in its own project
Orchestrations in its own project
Pipelines in its own project
Q. What Is The Default Mapping For Auto Mapping?
The default mapping for Auto Mapping is mapping by structure. This can be changed to by node name in the map properties.

Q. How do you achieve First-In-First-Out message processing of messages received from multiple sources using an Orchestration?
Use a Sequential Convoy to process the messages in the order they are received into the Message Box.
Make sure Ordered Delivery is set to True inside the Orchestration Receive Port.
Q. Describe the purpose of BAM in BizTalk Server?
Purpose of deriving up-to-date metrics and key performance indicators from BAM databases, Business integration tools are used. The forecasting of process trends by uses and monitors processes in a real-time scenario is done by using BI tools. Users get alerts for situations which need their intervention for preventing undesirable outcome for encouraging beneficial results, a mechanism is provided by BAM.

For more  Click Here