1. Explain how to Promote Property inside an Orchestration?

The Orchestration can not promote the properties to message context by default like pipelines can do by using the msg.Context.Promote() method. Inside Orchestration one has to create a correlation set and intialize that correlation set while publishing the message. Then the BizTalk Engine will promote the property to the message context.

2. Tell us 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.

3. Please 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.

4. Tell us what is relation between Orchestration instance and correlation?

Correlation is the process of matching an incoming message with the appropriate instance of an Orchestration.

5. Tell me what is correlation type?

A correlation type is a list of properties that eventually populates with values for use in routing messages.

6. Do you know 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.

7. Explain me 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.

8. Tell us pro's and Con's of Direct binding?

Pro's:
☛ Loose coupling
☛ Not bounded to any physical port (explicitly)

Con's:
☛ Can lead to subscribing to messages published by another publisher

9. Do you know 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.

10. Please explain 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.

Download Interview PDF