Search This Blog

Tuesday, August 9, 2011

Biztalk interview questions 2004/2006/2010 Part :3



Biztalk interview questions :
Part 1

Part 2


Part 4

43. How can I clean up suspended send port instances after handling the XLANGs exception?
Whenever a message is suspended after retries to a send port, the messaging engine generates a NACK. This NACK is translated into an exception in the orchestration. You can set the DeliveryNotification property to Transmitted on your send port, and add a catch handler to your scope to handle a DeliveryFailureException. However, in addition to generating the NACK, the messaging engine also suspends the message. There is no way to disable this behavior.
You need your own logic to clean up the suspended send port instance (message). You can create another orchestration that subscribes to NACKs. Both ACKs and NACKs have the following system context properties promoted, which can be used in filter expressions for routing.
After you have written an error-handling orchestration to subscribe to NACKs, you can use BizTalk Server WMI methods to terminate the suspended instance. You will get the instanceID of the suspended send port instance in the NACK.
Some of the context properties you can use in subscribing are:
· BTS.AckType. Set to ACK or NACK.
· AckID. Set to the message ID of the message that this ACK/NACK is for.
· AckOwnerID. Set to the instance ID that this ACK/NACK is for.
· AckSendPortName. The name of the send port that this message was being sent over.
· AckOutboundTransportLocation. The outbound URL that this message was being sent to.

44. When is the Delivery Notification delivered?
A Send on a Delivery Notification (ACK/NACK) can appear at any point in the orchestration. The Receive for the ACK/NACK occurs at the end of the enclosing scope, unless the enclosing scope is atomic. If the scope is atomic, the Receive for the ACK/NACK occurs at the end of the atomic scope's enclosing scope (for example, you do not get the delivery failure exception until all shapes in the enclosing scope have executed).

45. I have an orchestration with custom components. I deployed my assembly successfully. However, when I tried to run the application, I got an error: "File or Assembly name or one of its dependences not found."

This error usually means the BizTalk orchestration engine cannot locate the custom component. You must install all assemblies included in a BizTalk application in the global assembly cache of the computer that hosts the application.

46. Why does the orchestration debugger show the orchestration is running at the Send shape even though I know the Send has finished?

When you look at an orchestration in the debugger, you only see its state at the last commit point (in this case the send).
To see the current state of the orchestration, you can suspend the orchestration instance from HAT and open the Orchestration Debugger on this instance. From the Debug menu of the Orchestration Debugger, you can resume the instance in debug mode and attach to the instance to see its state.

47. When I terminate active orchestration instances from HAT, the instances stay active with Terminate as the pending job. How can I force them to terminate immediately?

You can stop and unenlist the orchestration. Then you can terminate the orchestration in HAT.

50. What is Correlation in context of BizTalk Server?

An Orchestration can have more than one instance running simultaneously. Even though each of those multiple instances performs the same action, it does it on different data contained within a message. Correlation is a process of associating an incoming message with the appropriate instance of an orchestration. For Example: If your orchestration issues a purchase order, receives an invoice, and sends a payment, the developer must make certain that the invoice message is received by the orchestration instance which corresponds to the orchestration that sent the Purchase Order. Without correlation, it would be possible to send out an invoice for thousands of items even though the purchase order is for one. And each correlation is based on a set of properties known as correlation types.
Kindle 3G, Free 3G + Wi-Fi, 3G Works Globally, Graphite, 6" Display with New E Ink Pearl Technology - includes Special Offers & Sponsored Screensavers

52. List out some Artifacts of BizTalk Server?

#. HAT #. BAM #. Adapter #. Pipeline #. Orchestrations #. Role Links #.
Send Ports and Send Port Groups #.
Receive Ports #. Receive Locations #.
Policies #.
Schemas #. Maps #.
Resources #. BAS Artifacts (Business Activity Services).

53. What is Biztalk Orchestrations Dehydration and Rehydration?

Dehydration: When an orchestration has been idle for a while, the orchestration engine will save the state information of the instance and free up memory resources. Rehydration: When a message is received, or else when a timeout has expired, the orchestration engine can be automatically triggered to rehydrate the instance – it is at this point that the orchestration engine loads the saved instance of the orchestration into memory, restores the state, and runs its from the point it left off.

54. What is the default mapping for Auto Mapping?

The default mapping for Auto Mapping is is mapping by structure. This can be changed to by node name in the map properties.

55. 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.

56. Can an Envelope schema consist of more than one schema type?
Yes. Technically it is possible.


57. 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.

58. Can multiple messages be processed or batched without an envelope schema?
It is possible to process multiple messages, without an envelope.

59. What is property promotion, why is it required?
When a property is Promoted, it is exposed to the orchestration/send port filters etc.

60. 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.

61. How does one enable subscriptions in BizTalk?
A filter on the Send Port is the first step to enable subscriptions in BizTalk.

62. 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.

63. 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.

64. 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.

65. Does BizTalk Orchestrations support recursion?
  An Orchestration does NOT support recursion.

66. What is the purpose of the property "Activate" in a Receive shape?
It is used to invoke a new instance of an Orchestration.

67. Can an orchestration Start without an Activatable receive?
A Nested Orchestration can be started without an Activatable receive

68. 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.


69. 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.

70. 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.

71. 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.


1 comment: