Introduction
These are the list of interview questions which every BizTalk 2004/2006 developer needs to know and answer
General
- Does BizTalk 2004/2006 support Synchronous communication?
BizTalk is essentially Asynchronous. It can exhibit some synchronous behavior, if an Orchestration is converted into a web service.
- Enumerate the new functoids added BizTalk 2006?
Please refer to this article New functoids in BizTalk 2006
Schemas
- What is the difference between a Document Schema and a Property Schema?
A document schema is like any regular schema, whereas a Property schema consists of only child elements under a root node.
- Can an Envelope schema consist of more than one schema type?
Yes. Technically it is possible.
Messaging
- Can a flat file message be processing without a pipeline?
A Pipeline's job is to convert any external format into XML, be it a flat file or EDI or anything else.
- Can multiple messages be processed or batched without an envelope schema?
It is possible to process multiple messages, without an envelope.
- What is property promotion, why is it required?
When a property is Promoted, it is exposed to the orchestration/send port filters etc.
- In which scenarios would use a "promoted property" vs "distinguished fields"?
The rule here is, if you dont want the schema element to appear in send port filters/debugging information then make it a distinguished field.
- In Biztalk, what does a message type consist of?
A message type consists of the TargetNamespace#RootElement name.
- What are un-typed messages, how does one create them?
A message created in BizTalk Orchestration is bound to a schema, this is a typed message. In un-typed messages, the message is bound to System.Xml.XmlDocument instead of a schema.
- What is the difference between static, dynamic and direct binding?
Refer to Binding models in BizTalk
- How does one enable subscriptions in BizTalk?
A filter on the Send Port is the first step to enable subscriptions in BizTalk.
Orchestrations
- How do you prevent occuring of zombies in a Parallel Convoy?
Refer to the article known as "Convoy Deep Drive" on MSDN
- What is the difference between a delay shape vs a listen shape?
A 'Delay' is very much similar to a sleep on the current thread. A 'Listen' shape is used to wait for an incoming resource, with a timeout period.
- When you use Call Orchestration shape vs Start Orchestration shape?
A Call Orchestration returns the control back to the caller. A Start Ochestration shape starts the orchestration in a non-deterministic way.
- What is the difference between a "Message Assignment" shape and an "Expression" shape?
A "Message Assignment" shape is used to create a new message and assign values to it. A Expression shape is used to assign values to variables and also write 'if' conditions.
- Does BizTalk Orchestrations support recursion?
An Orchestration does NOT support recursion.
- What is the purpose of the property "Activate" in a Receive shape?
It is used to invoke a new instance of an Orchestration.
- Can an orchestration Start without an Activatable receive?
A Nested Orchestration can be started without an Activatable receive
- Is it necessary for all .NET components being called from an Orchestration be Serializable?
Yes it is necessary. There are cases where a .NET component need not be Serializable.
- When do we need set the property "Synchronized" = true for a scope?
This needs to be set, when a variable is shared across the branches of a parallel shape.
- What is the difference between an Exception block and a Compensation block? is it the equivalent of try-catch-finally?
Refer to HOW To Compensate a Transaction in a BizTalk Orchestration
- Is it possible to have a exception block for an Atomic scope? if not why?
Refer to Parallel Branching and Scoping in BizTalk Orchestrations - Advanced Concepts
- How does one enable Correlations in BizTalk?
First create a Correlation type and then create an instance of it.
- Is it possible to share variables across two branches in a Parallel shape?
Refer to Parallel Branching and Scoping in BizTalk Orchestrations - Advanced Concepts
- Does BizTalk automatically compensate a unsuccessful transaction?
Refer to HOW To Compensate a Transaction in a BizTalk Orchestration
- What is the main difference between a Long-Running transaction and an Atomic Transaction in BizTalk context?
Refer to HOW To Compensate a Transaction in a BizTalk Orchestration
Architecture and Design
- In an Orchestration design, Orchestration "A" calls another Orchestration "B", and vice versa. Is it possible to implement this design?
It is NOT possible, since it forms a cyclic dependency.
- List out the three important things to consider while designing a BizTalk orchestration!
The Incoming data format, The Business process and The Outgoing data format.
- Enumerate the steps required to deploy an BizTalk solution from one machine to another machine.
Refer to Using the MSI installer wizard for deploying applications created in BizTalk Server 2006
This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.
A list of licenses authors might use can be found here