If you’re looking for BizTalk Orchestration Questions and whether you’re experienced or fresher & don’t know what kind of questions will be asked in BizTalk Orchestration job interview, then go through the below Real Time 40 Top BizTalk Orchestration Interview Questions and Answers to crack your job interview.
BizTalk Orchestration Interview Questions and Answers
Question: Can An Atomic Scope Can Have An Exception Handler Of Their Own?
No, it can only have a Compensation Block.
Question: Can Orchestration Use Components Other Than Listed In Toolbox?
Yes. It is possible to use components like pipeline, business rule policy, .net component etc.
Question: Can Persistence Point Occur In The Delay Or Receive Shape?
Yes, but only if the Orchestration Engine determines that the instance needs to be dehydrated.
Question: Can Recursion Be Achieved In Orchestration?
Question: Can We Prevent Orchestration From Entering A Suspended State?
Any exception which is not caught within the exception handlers of the orchestration causes the orchestration instance to be moved to the Suspended state.
By applying the appropriate error handling in an orchestration it can be prevented entering the Suspended state.
Question: Can We Use Message Metadata In Orchestration?
Question: Explain Design Patterns In Orchestration?
One of the best practices when implementing orchestrations is to use orchestration patterns when possible.
These patterns are basically design pattern, which is a general reusable solution to a commonly occurring problem within a given context of BizTalk orchestration.
This article will provide some useful resource links to aid you in using patterns when implementing an orchestration.
Question: Explain Types Of Messages?
Two types of messages:
- Typed message : A message created in Orchestration is bound to the schema
- Untyped message : A message is bound to System.Xml.XmlDocument instead of the schema.
Question: How Are Messages Created In An Orchestration?
You construct a message any time that you introduce a message into your orchestration, either by receiving it or by assigning values to a message variable.
There are several ways to create a new instance of a message in an orchestration.
Question: How Does Orchestration Subscribes To Messages?
In Orchestration, the first Receive shape is responsible for creating a subscription. Following two properties are involved in it,
Message : This tells what message this Orchestration is subscribing to
Activate : This tells to consume the message when found in a MessageBox
Question: Is It Necessary For All .net Components Being Called From Orchestration To Be Serializable?
Yes it is necessary (good practice) for all .Net components being called to be serializable. If not then Atomic scope is to be used which has its own limits.
Question: Is It Possible : Orchestration A Calls Another Orchestration B And Vice Versa?
No it is not, since it forms cyclic dependency.
Question: Is It Possible To Enforce Orchestration To Behave In Singleton Way?
Yes it is possible with the help of correlation.
Question: Is It Possible To Get An Exception Object From General Exception?
No. General exception in BizTalk is similar to writing a Try-Catch block but without the exception object thus not possible to get the exception object.
Question: Is It Possible To Use Message Assignment Shape And Transform Shape Individually?
No, it is not possible, Transform and Message assignment shape must run under construct shape.
Question: Pro’s And Con’s Of Direct Binding?
- Loose coupling
- Not bounded to any physical port (explicitly)
- Can lead to subscribing to messages published by another publisher
Question: To Which Scope Compensation Block Can Be Added?
A scope configured as Atomic or Long running can have compensation blocks added, but scopes that are configured with no Transaction type cannot.
Question: What Are Conditional Persistence Points?
The Receive shape, Listen Branch and Delay shape are conditional persistence points.
Question: What Are Scopes Used For?
Scopes are used for following reasons:
- To configure transaction (long running and atomic)
- To handle exceptions
- To trigger compensating logic
Question: What Are The Different Types Of Transactions Available For Orchestration?
Unlike traditional programming, BizTalk Server supports two distinct types of transactions: atomic and long-running.
Question: What Are The Ways To Add Properties In Context?
Promoting a node to a property field means to make a node value available in the context of the message. Adapters and pipeline components write in the context.
Question: 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.
Question: What Is Correlation Type?
A correlation type is a list of properties that eventually populates with values for use in routing messages.
Question: What Is Message Metadata?
The message metadata is called Context Properties and on receiving the message, both the adapter and the pipeline will add information to the context.
Question: What Is Persistence Point?
At various points within a running orchestration the state can persist.
Question: What Is Relation Between Orchestration Instance And Correlation?
Correlation is the process of matching an incoming message with the appropriate instance of an Orchestration.
Question: What Is The Difference Between Written Property And Promoted Property?
Promoted properties can be used as criteria in message routing while written properties cannot. Property field is a Promoted Property in the context. Distinguished field is a Written property in the context.
Question: 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.
Question: What Is The Maximum Number Of Properties That Can Be Used In Correlation Set?
The correlation set can have a maximum of three properties used for correlation on the receive shapes.
Question: What Is Xlang And Where It Is Used?
- XLANG/s can be viewed as a messaging language with some of the expression capabilities of C#.
- However, code is not portable between XLANG/s and C#.
- The language is used for orchestrations.
XLANG/s statements generally fall into one of two categories:
simple statements that act on their own, such as receive or send, and complex statements that contain or group either simple statements or other complex statements, such as scope, parallel, and listen.
The semantics embodied in XLANG/s are a reflection of those defined in the Business Process Execution Language for Web Services (BPEL4WS) specification published by Microsoft, IBM, and BEA for the definition of business process semantics.
Question: What’s The Main Difference Between Call And Start Orchestration?
- Calling an orchestration will use the same thread to run another orchestration while using Start Orchestration will create a new thread to run the started orchestration.
- A Call Orchestration returns the control back to the caller. A Start Orchestration shape starts the orchestration in a non-deterministic way.
- As a conclusion, Calling an Orchestration will be synchronous operation where the caller waits for a response, while Start Orchestration is asynchronous operation.
Question: When A Persistence Point Occurs At The Orchestration Level?
The engine will save the state of an orchestration in the following circumstances:
- Send Shape (after a message is sent)
- Start Orchestration Shape
- Suspend Shape
- End of a Transactional Scope (atomic or long-running)
- An Orchestration Debugger breakpoint is hit
- Orchestration Engine determines that the instance needs to be dehydrated
When the Orchestration Engine is shut down; through the controlled shutdown of the host or abnormal circumstances. The engine tries to persist but if that fails, the Orchestration instance will resume from the last successful persistence point.
Question: When Is Convoy Used?
The convoy is used to receive multiple messages in sequence or parallel to achieve a goal/result.
Question: When Is Property “synchronized=true” Used?
When a variable is shared across the branches of parallel shape.
Question: Where Is Bts.spid And Bts.receiveportid Used?
It is used in Specify Later port binding option. In this model the orchestration ports are bound to messaging ports using BTS.SPID,BTS.ReceivePortID or other related properties.
Question: Where Is Information About Promoted Properties Stored?
The information about the promoted properties is extracted and stored in the bts_DocumentSpec table in the Management database.
Question: Which Language Does Expression Shape Support?
Expression shape allows for writing XLANG/S statements that provide C# -like coding capabilities.
Question: Which Scope Can Have An Exception Handling?
A scope configured with the transaction type of None or Long running can have exception handling added but not Atomic scope.
Question: Which Shapes Are Used To Implement “and” And “or” Situation In Orchestration?
Parallel Action shape is used for a AND situation whereas Listen shape is used for OR situation.
Question: Xmldocument Is Non-serializable Still It’s Called Without Atomic Scope With No Error, Why?
It is the only exception to the requirement of types for variables having to be serializable and treated as special case.