BizTalk Interview Question and Answer Skip to main content

BizTalk Interview Question and Answer



1. What is BizTalk?

BizTalk is a middleware that sits in the middle of any two software who wish to communicate with each other and agree on some specified communication pattern. It uses SQL Server as back end database.

“Microsoft BizTalk Server is an Inter-Organizational Middleware System (IOMS) that enables companies to automate business processes, through the use of adapters which are tailored to communicate with different software systems used in an enterprise. Created by Microsoft, it provides enterprise application integration, business process automation, business-to-business communication, message broker and business activity monitoring.”
               
2. What is BizTalk Server Architecture and Life Cycle of Message?

BizTalk Server Architecture:


Life Cycle of Message:



In this simplified view, a message is received through a receive location defined in a given receive port. This message is processed by the receive location and then published to the MessageBox database, the main persistence and routing mechanism for BizTalk Server. 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.

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

a)      Schemas
b)      Maps
c)       Pipeline
d)      Adapters
e)      Orchestrations
f)       Policies
g)      Receive Locations
h)      Send Ports
i)        Certificate
j)        Com Component and scripting

4. What is Hosts and Host Instances?

A host is a logical representation of a Microsoft Windows process that executes BizTalk Server artifacts such as send ports and orchestrations. A host instance is the physical representation of a host on a specific server. A host can be either an in-process host, which means it is owned and managed by BizTalk Server, or an isolated host, which means that the BizTalk Server code is running in a process that is not controlled by BizTalk Server. A good example of an isolated host is Internet Information Services (IIS), which hosts the receive functionality of the HTTP and SOAP adapters. Hosts are defined for an entire BizTalk Server group; a collection of BizTalk Servers that share configuration, MessageBoxes, ports, and so on.

5. What is a Message Type (i.e. BTS.MessageType) and how is it used in BizTalk?

Message Type is a BizTalk System property that is promoted inside a Pipeline. It is made up of Document Name Space # Root Node Name.

6. What are different types of BizTalk Schemas?

1. XML schema: An XML schema defines the structure of a class of XML instance messages. Because this type of schema uses XML Schema definition (XSD) language to define the structure of an XML instance message, and this is the intended purpose of XSD, such schemas use XSD in a straightforward way.

2. Flat file schema: A flat file schema defines the structure of a class of instance messages that use a flat file format, either delimited or positional or some combination thereof. Because the native semantic capabilities of XSD do not accommodate all of the requirements for defining the structure of flat file instance messages—such as the various types of delimiters that might be used for different records and fields within the flat file—BizTalk Server uses the annotation capabilities of XSD to store this extra information within an XSD schema. BizTalk Server defines a rich set of specific annotation tags that can be used to store all of the required additional information.

3. Envelope schema: An envelope schema is a special type of XML schema. Envelope schemas are used to define the structure of XML envelopes, which are used to wrap one or more XML business documents into a single XML instance message. When you define an XML schema to be an envelope schema, a couple of additional property settings are required, depending on such factors as whether there is more than one root record defined in the envelope schema

4. Property schema: A property schema is used with one of the two mechanisms that exist within BizTalk Server for what is known as property promotion. Property promotion is the process of copying specific values from deep within an instance message to the message context. From the message context, these values are more easily accessed by various BizTalk Server components. These components use the values to perform actions such as message routing. Promoted property values can also be copied in the other direction, from the more easily accessible message context back into the depths of the instance message, just before the instance message is sent to its destination. A property schema is a simple version of a BizTalk schema that plays a role in the process of copying promoted properties back and forth between the instance message and the message context.

7. What is the difference between a Document Schema and a Property Schema?

A document schema is used to define a message. It is a definition on an Xml message with optional extensions for flat files, EDI file etc. that enable the parsers to convert the native format into Xml.
A property schema is used to define message context properties. These can be of type MessageDataPropertyBase (the property value is promoted or demoted from/to the message itself) or MessageContextPropertyBase(property value only exists within the message context and can be set by adapters, pipelines or within orchestrations).
If you wish to promote a field from a message into the message context then you need to define a document schema and property schema. In the document schema you promote the required field using the property schema to define the property type that will be used in the message context.

8. Is it possible to create a custom data type and use it in a schema?

Yes, it’s possible to create custom data types and it can be used across the schema.

9. Can schema have two nodes with the same name and different datatypes?

Yes, as long as they are not in the same scope.

10. Can schema have multiple root nodes?

Yes, a schema (XSD) can have multiple root nodes. In case you have a schema with multiple root nodes you will end up with multiple message types declared in BizTalk, one for every root node. So when you want to create a message you will need to specify exactly which message type you are going to use.

11. Is it possible to include and import in a single schema?

Yes, it is possible, both are the ways to utilize already existing schema. The only condition is the schema which is included should have same Target Namespace or no namespace.

12. What is Property Promotion and why is it required?

Biztalk provides you with a really smart routing feature that allows the engine to decide where to send which message. For example, If you receive a message with the EmployeePaySlip schema, and it has the approved flag to true, it should be redirected to the Finance system Orchestration for making the payments and to the HR system Orchestration for keeping the records. This built in intelligence for the Biztalk engine allows it to route the messages simply based on some content within the messages.
In order to achieve this, the Biztalk engine obviously needs to understand the fields based on which the routing decisions can be taken. To simplify and optimize this working, Biztalk has introduced the notion of “promoted properties”. The Biztalk engine can get easy access to the promoted properties without knowing the entire message and hence it can save loads of time and complexity when dealing with routing. To route a message, the Biztalk engine simply reads its promoted properties and does not care about other contents in the message.

13. 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 documents would not qualify as well-formed XML.

14. What is Receive Ports and Receive Locations?

A receive port is a collection of one or more receive locations that define specific entry points into BizTalk Server. A receive location is the configuration of a single endpoint (URL) to receive messages. The location contains configuration information for both a receive adapter and a receive pipeline. The adapter is responsible for the transport and communications part of receiving a message. Examples include the File adapter and SOAP adapter, each of which receives messages from different types of sources. The receive pipeline is responsible for preparing the message for publishing into the MessageBox. A pipeline is a series of components that are executed in sequence, each providing specific processing to a message such as decryption/encryption, parsing, or validation.

15. What is Send Ports and Send Port Groups?

A send port is the combination of a send pipeline and a send adapter. A send port group is a collection of send ports and works much like an e-mail distribution list. A message sent to a send port group will be sent to all send ports in that group. The send pipeline is used to prepare a message coming from BizTalk Server for transmission to another service. The send adapter is responsible for actually sending the message using a specific protocol such as SOAP, or FTP. 

16. What is Orchestrations?

Orchestrations can subscribe to (receive) and publish (send) messages through the MessageBox. In addition, orchestrations can construct new messages. Messages are received using the subscription and routing mechanism already discussed. When subscriptions are filled for orchestrations, a new instance is activated and the message is delivered, or in the case of instance subscriptions, the instance is rehydrated if necessary and the message is then delivered. When messages are sent from an orchestration, they are published to the MessageBox in the same manner as a message arriving at a receive location with the appropriate properties is inserted into the database for use in routing.

17. What is BizTalk MessageBox Database?

The heart of the publish/subscribe engine in BizTalk Server is the MessageBox database. The MessageBox is made up of two components: one or more Microsoft SQL Server databases and the Message Agent. The SQL Server database provides the persistence store for many things including messages, message properties, subscriptions, orchestration states, tracking data, and host queues for routing.

18. What are 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.

19. What is BizTalk Pipeline?

BizTalk is a message-based system receiving and sending data inside messages. Sometimes the incoming and outgoing messages must be processed to fit to external formats. Pipelines, attached to send ports and receive locations, are the components through which the messages pass; then the data format is recognized and can be validated or changed if necessary; as well as the metadata is extracted and added to the message context.

20. What is Receive Pipeline and their stages?

A receive pipeline operates on a message after it is received by the receive adapter. The receive pipeline takes the initial message, performs some transformations, and disassembles the raw data into zero, one, or multiple messages. These individual messages can then be processed by BizTalk Server.
Receive pipelines have four stages:
        I.            Decode: It can be used to prepare the message for the Disassemble stage for example decrypting, uncompressing and decoding a message.
      II.            Disassemble: It can be used to produce multiple messages based on the input message by de-batching the incoming message into smaller messages. It can also recognize the format of incoming messages and then process it as well as promoting properties into the message context. For example, incoming messages formatted as XML are processed by the XML Disassembler or incoming messages formatted as CSV flat file will be parsed and prepared as individual XML units.
    III.            Validate:  It's mainly used to validate the disassembled messages. For example, verifying the XML Schema of the message to be of a certain type using the XML Validator component.
    IV.            Party resolution: It's used to determine the party that BizTalk receive the message from. This can be achieved by mapping the sender's digital certificate or sender's security identifier.

21. What is Send Pipeline and their stages?

A send pipeline is responsible for processing documents before sending them to their final destinations. The send pipeline takes one message and produces one message to send.
Send pipelines have three stages:

1.       Pre-assemble: It prepares the message for the outbound process.
2.       Assemble: It's responsible for combining multiple messages into one large message with the format that will be sent over the wire (Aggregating multiples messages in a batch). In this step, we can change XML format of a message into a flat file, or possible adding envelopment to the XML message. In this stage, you can also demote the properties (those properties promoted in the Disassemble stage of the Receive pipeline and used for the routing of the message) from the context message.
 
3.       Encode: It's responsible for writing the outgoing message in a fashion way in order to be understood by the target system. It involves encoding, compression, encrypting, and signing the message.

22. What is Custom Pipeline stages?

IBaseComponent: It Defines properties that provide basic information about the component.
IPersistPropertyBag: It Works with IPropertyBag and IErrorlog to define an individual property-based persistence mechanism.
IComponentUI: It Defines methods that enable pipeline components to be used within the Pipeline Designer environment.
IComponent: It is responsible for providing any execution functionality.

23. What are different types of binding modes in BizTalk Server?

BizTalk offers four binding models, each with different characteristics. Each model is really a set of higher level abstractions of the basic BizTalk subscription mechanisms. One of these models is called ‘Direct Binding’. The term ‘direct binding’ is used to suggest that the techniques involved are all about binding one orchestration port directly to another. In fact, this is just one possibility when using this model. I find the term confusing, myself, as other binding models are used to ‘directly’ bind orchestration ports to messaging Send ports. Binding models are really differentiated by the following characteristics:

• Support for external binding configuration
• Use of static and dynamic messaging Send ports. NB., Receive ports do not support a dynamic model.
• Auto-generation of configured messaging ports at deployment time

Following four type are-

Direct binding:
In this model, orchestration ports do not automatically use or exploit BTS.SPID, BTS.ReceivePortID or other related properties. BizTalk therefore does not manage the binding of orchestration ports to messaging Receive and Send ports. Instead, it is entirely up to developers to control subscriptions and message context in order to route messages. Developers are free, if they wish, to route messages to other orchestration ports. External binding configuration cannot be used with directly bound orchestration ports. Direct binding is the most flexible model, but at a cost. You cannot configure your orchestration ports using binding files, and you generally need to do more programming in order to fully exploit the flexibility on offer.

Specify later binding:
In this model, orchestration ports are bound to messaging ports using BTS.SPID, BTS.ReceivePortID or other related properties. Outgoing messages are always routed through static Send ports. Binding configuration can be managed in deployed solutions using binding files or by writing WMI/ExplorerOM code. This is probably the most common model, but is significantly less flexible than direct binding. You have much less control over subscription and ‘promoted’ properties, and can only use this approach to bind orchestration ports to messaging ports.

Specify now binding:
This model is similar to the ‘Specify later’ model. However, BizTalk collects transport information at design time, together with pipeline information, and uses this to auto-generate messaging Receive and static Send ports at deployment time. Orchestration ports are then bound to these ports. Binding files can be used, if required, to amend binding configuration on a live system.

Dynamic binding:
This model has similarities to the ‘Specify now’ model in that BizTalk collects pipeline information at design time and auto-generates messaging Send ports. Receive ports are not generated, as there is no concept of a ‘dynamic’ Receive port. However, transport information is not configured in the same way. Instead, developers create expressions in orchestrations to assign transport location URIs using the ‘address’ property of orchestration ports. The auto-generated messaging Send ports are dynamic, rather than static.
Messages passing from an orchestration through dynamic Send and Send-Receive ports are routed solely on the basis of the orchestration port’s address property which is used to create BTS.OutboundTransportType and BTS.OutboundTransportLocation ‘promoted’ context properties. When a dynamic messaging Send port is enlisted, it creates a set of subscriptions, with one subscription for each adapter. Each subscription tests that the BTS.OutboundTransportLocation property exists, and that the BTS.OutboundTransportType property contains a value identifying the adapter. Hence, not only can dynamic binding route messages to any location based on the address, but also via any registered adapter.

24. What is the difference between static, dynamic and direct binding?

Static binding specifies particular port address,
Dynamic gives address of the port at runtime,
Direct binding sends messages to messagebox.

25. What are different Transaction types in BizTalk Server?

The classical definition of a transaction is – an atomic unit of work which results in moving the system from one consistent state to a new consistent and durable state. A transaction can either be “committed” or “rolled back” depending on various conditions. Note that a transaction which cannot be rolled back needs to be “compensated”. This means that if an operation ‘f(x)’ has been performed on some data, in order to revert it back we need to perform an operation ‘f(y)’, which essentially performs an undo operation, this is known as “compensation” in simple terms.

A non-transactional orchestration cannot have ‘scope’ shapes set to either “Atomic” or “Long Running”.
If an orchestration’s transaction type is set to “Atomic”, then the orchestration cannot have any other transactions within its ‘scope’ shapes.

Atomic transactions cannot contain nested transactions or catch exception blocks. However, they can have compensation blocks.

Long running transactions cannot be isolated from other transactions. However they can contain other atomic transactions and can have catch exception and compensation blocks.

Batch: A boolean value that determines if this transaction can be batched with other transactions across multiple instances of the orchestration. The default value is “true”. It may
improve performance with the possibility of losing isolation data.

Isolation level: This property defines the degree of isolation between the state changes performed by different atomic transactions. This is not applicable for Long-Running transactions. BizTalk supports three isolation levels. These are ‘Read Committed’, ‘Repeatable Read’ and ‘Serializable’. The last one being the default value.

Retry: A boolean value which specifies that the atomic transaction can be retried in the event of a failure. Perform the following for Retry-”throw an instance of Microsoft.XLANGs.BaseTypes.RetryTransactionException” within the transaction boundary.

26. What is atomic Transaction?

It follows full ACID properties Atomicity, Consistency, Isolation and Durability. If you require full ACID properties on the data for example, when the data must be isolated from other transactions. You must use atomic transactions exclusively. When an atomic transaction fails, all states are reset as if the orchestration instance never entered the scope.

27. What is long running transaction?

Long running transaction support CD properties of ACID. It is not practical to lock transaction for a long time. This transaction can run indefinitely and can be dehydrated also.

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

29. What is correlation?

An Orchestration can have more than one instance running simultaneously. Even though each of those multiple instances perform 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.

30. What is 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.

31. What is 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 it’s from the point it left off.

32. What is a canonical schema?

A canonical schema is a design pattern, which is applied within a service oriented paradigm, and within BizTalk server context establish the loose coupling between systems. Through performing the transformation of messages from one system to canonical schema and from the canonical schema to message of another system, systems have no direct relation with each other. The canonical schema can also be viewed as an internal schema in BizTalk and aid you in structuring your solution through best practice of creating separate projects for maps, orchestrations, internal and external schemas. Another advantage of using a canonical schema is that it reduces the number of transformations you need. If you need a to map a few types of inbound message coming from different parties to a few outbound messages, you can create a map to your canonical schema for each inbound schema and then a map from your canonical schema to each outbound schema. If for example you have three types of incoming that needs to be mapped to three types of outgoing messages you will only need to build and maintain six maps instead of nine.

33. What are Advantages of BizTalk Server?

A.      It is basically an Integration server. It helps in Integrating Enterprise Applications at one common point.
B.      Solutions can be developed really fast with BizTalk Server. Effort spent will be less.
C.      Updates can be handled in an easy way and maintenance will be easy. BizTalk Server supports Versioning of Artifacts.
D.      Negative scenarios can be handled easily with BizTalk Server- e.g. If some Service is down, we can set Retry Mechanism,
E.       Alternate Transport Mechanism. It even supports service windows. We can take advantage of enlist and stop features and prevent losing even a single Message.
F.       BizTalk is designed to operate in Multi Server Environment. We can run the application on various servers to manage load and Availability.
G.     MessageBox DB designed for optimum performance.
H.      Advantage for customers on cost saving in terms of development time.
I.        BizTalk has a number of Tools like BRE, BAM, SSO which be effectively used.
J.        It can be used to communicate with wide range of Legacy Applications. There is always a scope to develop custom Components.

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

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

36. How do you call a Non-Serializable .Net helper class inside an Expression Shape?

• Add a reference to that class.
• Make sure your Orchestration is Long Running transactional.
• Add an Atomic scope.
• Create an Orchestration variable of that class inside the scope.
• Create an instance on that object inside the scope.
• Call the method.
• Bonus: Mention the class must be strongly signed and in the GAC.

37. What are difference between Flat File Schema and XML schema?

A flat file schema defines the structure of a class of instance messages that use a flat file format, either delimited or positional or some combination thereof. Because the native semantic capabilities of XSD do not accommodate all of the requirements for defining the structure of flat file instance messages—such as the various types of delimiters that might be used for different records and fields within the flat file—BizTalk Server uses the annotation capabilities of XSD to store this extra information within an XSD schema. BizTalk Server defines a rich set of specific annotation tags that can be used to store all of the required additional information.

Different Types of BizTalk Schemas: An XML Schema is basically a contract of your message and defines it. The XML Schema definition (XSD) language defines the structure of an XML instance message, and this is the intended purpose of XSD, such schemas use XSD in a straightforward way.

38. What is <Any> element in schema?

An <Any> element in a schema designates a specific location in the schema where new elements or attributes can be added. When BizTalk uses the schema to process a message containing unknown elements or attributes in the designated location, the schema will still consider the message valid.

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

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

41. What are Persistence Points and what causes them?

• Persistence is when the state of a running Orchestration is stored into SQL.
• It is good enough to know various shape and actions cause persistence. More specifically, it occurs:

         i.            After the execution of a Send Port
       ii.            After the execution of a Start Orchestration shape
      iii.            After the successful execution (commit) of a transactional scope
     iv.            When the Orchestration instance is suspended
       v.            When the Orchestration instance is completed
     vi.            When the Orchestration engine shuts down gracefully
    vii.            When a debugging breakpoint is hit
  viii.            When dehydration is determined appropriate by the engine

42. How BizTalk engine identifies a unique schema?

BizTalk uses a combination of namespace#rootnode to define the schema type of a message, thereby making a MessageType unique (for example: http://mynamespace.com#MyRootNode). In other words, BizTalk uses this combination to identify and resolve schemas references.

43. Is it possible to promote XML record of ComplexContent?

No. To promote XML record its ContentType property should be set SimpleContent.

44. Can we have schema without a target namespace? What will be its MessageType?

Yes, we can have a schema without target namespace and its message type will be the Root node.

45. Can an Envelope schema consist of more than one schema type?

Yes. Technically it is possible.

46. In which scenarios would use a “promoted property” vs “distinguished fields”?

The rule here is, if you don’t want the schema element to appear in send port filters/debugging information then make it a distinguished field.

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

48. Are there different editions of BizTalk Server?

BizTalk Server 2002, 2004 2006 R2, 2009, 2010, 2013, 2013R2 and 2016.

49. Why do we need convoy?

When a group of correlated messages could potentially be received at the same time, a race condition could occur in which a correlation set in a particular orchestration instance must be initialized by one of the messages before the other messages can be correlated to that orchestration instance. To ensure that all of the correlated messages will be received by the same orchestration instance, BizTalk detects the potential for such a race condition and treats these messages as a convoy.

Convoy is a term which we use to describe a class of application protocols, specifically it is a set of application protocols which have a race condition as described above. Let’s take an example. Say you are a hospital and want to have a service which handles all information about each patient. For a given patient you have three types of messages, an admittance message, status messages, and a discharge message.

If you look at your protocol, you will have built a service which just receives. Now let’s think about what could happen. Let’s say you send the patient admittance message and it goes through the system using maybe a synchronous protocol like HTTP. That means when you get the 202 back, you know the message has been delivered. But what if the BizTalkServer host which is actually supposed to process the message hasn’t started yet (i.e. the NT service is stopped). Maybe you had a power outage, maybe some intern decided to “hit this button”, who knows.

So the orchestration instance which is supposed to handle all messages for patient X has not physically started. The message is in the database (MessageBox) and if you look in HAT you will see the orchestration is marked as ready to run, but it can’t start cause there is nowhere for it to start.

50. How does one enable subscriptions in BizTalk?

A filter on the Send Port is the first step to enable subscriptions in BizTalk.

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

52. When you use Call Orchestration shape vs Start Orchestration shape?

A Call Orchestration returns the control back to the caller. A Start Orchestration shape starts the orchestration in a non-deterministic way.

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

54. Does BizTalk Orchestrations support recursion?

An Orchestration does NOT support recursion.

55. What is the purpose of the property “Activate” in a Receive shape?

It is used to invoke a new instance of an Orchestration.

56. Can an orchestration Start without an Activate receive?

A Nested Orchestration can be started without an Activatable receive

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

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

59. How does one enable Correlations in BizTalk?

First create a Correlation type and then create an instance of it.

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

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

62. What is Message routing and Content routing?

When a message is passed through BizTalk without being processed then it is called Message Routing. When a message is passed based on certain field value of schema, it is called content routing.

63. Does Flat file assembler pipeline component validates the incoming XML message?

No

64. What is a .btp File?

.btp file is a BizTalk Server pipeline file.

65. Is there an error handling functionality to handle error on pipelines?

Yes. Error-handling functionality called error reporting which enables handling pipeline errors. Error reporting is specified on receive and send ports within the BizTalk Administration console.

66. Does BizTalk automatically compensate an unsuccessful transaction?

Ø  A Compensation section is generally written, in order to UNDO the effect of a transaction.
Ø  The Compensation section for a scope gets activated only when the scope terminates normally or the scope completes its execution.
Ø  Unlike exceptions, a compensation section can be written for a “Atomic” as well as a “L-R”
Ø  A Compensation section needs to be explicitly invoked, using the Compensation Shape in order for it to execute.
Ø  A Compensation section for a scope does NOT automatically undo the effect of a transaction. The compensation section must have the undo logic in place in order to have such an effect.
Ø  A Compensation shape can be used to invoke/execute a compensation section. The control returns to the next operation after compensation shape, once the execution of the compensation section is complete.
Ø  Is it possible to share variables across two branches in a Parallel shape
yes it is possible you just need to set the “Synchronized” property to true.

Transaction types

The classical definition of a transaction is – an atomic unit of work which results in moving the system from one consistent state to a new consistent and durable state.

A transaction can either be “committed” or “rolled back” depending on various conditions. Note that a transaction which cannot be rolled back needs to be “compensated”.

This means that if an operation ‘f(x)’ has been performed on some data, in order to revert it back we need to perform an operation ‘f(y)’, which essentially performs an undo operation, this is known as “compensation” in simple terms.

A non-transactional orchestration cannot have ‘scope’ shapes set to either “Atomic” or “Long Running”.
If an orchestration’s transaction type is set to “Atomic”, then the orchestration cannot have any other transactions within its ‘scope’ shapes.

Atomic transactions cannot contain nested transactions or catch exception blocks. However, they can have compensation blocks.

Long running transactions cannot be isolated from other transactions. However they can contain other atomic transactions and can have catch exception and compensation blocks.

Batch: A boolean value that determines if this transaction can be batched with other transactions across multiple instances of the orchestration. The default value is “true”. It may improve performance with the possibility of losing isolation data.

Isolation level: This property defines the degree of isolation between the state changes performed by different atomic transactions. This is not applicable for Long-Running transactions. BizTalk supports three isolation levels. These are ‘Read Committed’, ‘Repeatable Read’ and ‘Serializable’. The last one being the default value.

Retry: A boolean value which specifies that the atomic transaction can be retried in the event of a failure. Perform the following for Retry-”throw an instance of Microsoft.XLANGs.BaseTypes.RetryTransactionException” within the transaction boundary.

Transaction type: Can be either “Atomic” or “Long Running” or “None”.

67. What is the difference between an Exception block and a Compensation block? Is it the equivalent of try-catch-finally?

Exception block can be termed as a catch block. But compensation is different. It’s like reversal of a committed transaction. When do we need set the property “Synchronized” = true for a scope
In case we want to share a variable between parallel scopes.

68. What is Single Sign-On (SSO)?

Enterprise Single Sign-On (SSO) provides services to store and transmit encrypted user credentials across local and network boundaries, including domain boundaries. SSO stores the credentials in the SSO database. Because SSO provides a generic single sign-on solution, middleware applications and custom adapters can leverage SSO to securely store and transmit user credentials across the environment. End users do not have to remember different credentials for different applications.

69. How to version your schema?

Ø  Side by side versioning in BizTalk 2004 Configure any pipeline components to use a specific version of the schema. If the schema is redeployed under a different version and this is not done it will fail because it looks up by target name space / root element not by assembly. Deploy the new version. Bind the orchestrations. The Manual steps are below. Disable the receive location
Ø  Unenlist the old version using the Explorer (do not stop it), this will prevent new instances from starting  while allowing old ones to finish
Ø  Enlist the new version and start it, all new instances will be created using this one.
Ø  Enable the receive location

70. How to transfer files without using Orchestration?

Content Based Routing.

71. Where and how did you use Web Services in Orchestration?

We can use web services where we need to get data from multiple sources in one go. For e.g. getting price quote from 10 different vendors. You make one orchestration and use WS inside it.

72. What is binding files?

Binding files in BizTalk is an XML file that contains information of receive send ports there locations. It is usually used when you make a deployment. We make MSI separately without bindings.

73. In a BizTalk project how to consume an external web service?

a.    About Consuming Web Services
b.    Adding Web References
c.    Constructing Web Messages
d.    Creating Web Ports
e.    Considerations When Consuming Web Services

Solution1
§  You can consume (call) a Web service from your orchestration by using Web ports. To consume a Web service from an orchestration, you create a Web port and construct Web messages.
§  You can use SOAP headers with the consumed Web service, change the URI of a consumed Web service, and dynamically set the URI for a consumed Web service.
§  Important an orchestration is required to consume a Web service. You cannot use the SOAP send port in scenarios that only use messaging. SOAP send ports must be used with an orchestration.
 Solution2
§  Add configuration port and on port type select web service port type it will automatic create appropriate request and response port.
§  Here you need to assign input message value to Web service request message

74. What are adapters? What do we need it?

Adapters can simply be termed as medium with which BizTalk communicates with other software, processes, and information together.

75. In the Orchestration what is the difference between Exception and Compensation? Give an example of its usage scenario. 

Exception is simple the try catch block in .net. Let’s say you have an expression a = b/c where c=0 it will raise an exception and will be caught in catch block.

Compensation is like you made a transaction where u debited customers account. Now you will do exact opposite meaning crediting with the same amount and the same account.

76. What is BizTalk Pub-Sub architecture?

Fundamental to BizTalk is the Publish / Subscribe Architecture. This architecture basically comprises of 2 main components. First of all, a publisher, who would be responsible to publish the message in the message store.  And secondly, a subscriber, who will subscribe to messages of a particular format so that he gets them whenever they are published.

Publishing refers to the process of inserting the messages in the message box database. Normally, a receive port, an orchestration or solicit send port would be involved in publishing any message to the message box. A receive port would receive the message from the pipeline and publish it to the message box for an orchestration or a send port to pick up.

An orchestration would publish the message usually while sending it using the send shape. A solicit response port would actually publish the message when it receives a response from the end system.

The subscribers would indicate the message they would like to receive by a set of criteria or filters.
Thereby, whenever a message is posted or published to the message box database, a subscriber will be able to get the message based on the filters or criteria mentioned while subscribing. The filters can be specified only on the promoted fields on the message.

77. What is debatching in BizTalk?

Recently I end up in a scenario where I need to debatch a message inside the orchestration to produce multiple messages based on XPATH

78. What are the communication patterns available in BizTalk?

Each port type has a communication pattern. The communication pattern determines whether one-way or two-way (request-response) transmissions can take place on ports of the given type.

79. What is the tool used to manage and configure the BizTalk Server and to deploy, manage, monitor, and troubleshoot Applications?

BizTalk Administration Console

80. What is the architecture of BizTalk?

Pub-Sub Architecture

81. What is BAM?

Business Activity Monitoring (BAM) is a collection of tools that allow you to manage aggregations, alerts, and profiles to monitor relevant business metrics (called Key Performance Indicators, or KPIs). It gives you end-to-end visibility into your business processes, providing accurate information about the status and results of various operations, processes, and transactions so you can address problem areas and resolve issues within your business.

The BAM Framework provides an easy, real-time, transaction-consistent way to monitor heterogeneous business applications, and to present data for SQL queries and aggregated reports (OLAP). Through queries and aggregations, you can include not only the data that is present during the running business process, but also the state and the dynamics of the running business process, independent of how the business is automated.

82. What is the BAM portal?

The BAM portal in BizTalk Server provides real-time, end-to-end visibility into a business process. It is a Web-based feature that consists of a collection of pages. You can customize BAM to enhance the performance and experience for your users.

83. What is the difference between a Distinguished field and a Promoted Property?

• Distinguished fields are light weight and can only be used inside an Orchestration.
• Promoted Properties are defined inside a property schema, are tracking in SQL, can be tracked in HAT, and can be used for content based routing.

84. What is BizTalk Business Rule Engine?

The Business Rules Framework is a Microsoft .NET-compliant class library. It provides an efficient inference engine that can link highly readable, declarative, semantically rich rules to any business objects (.NET components), XML documents, or database tables.

Application developers can build business rules by constructing rules from small building blocks of business logic (small rule sets) that operate on information (facts) contained in .NET objects, database tables, and XML documents. This design pattern promotes code reuse, design simplicity, and modularity of business logic.

85. What are Fact Explorer of Rule composer contains?

A.      Vocabularies
B.      Schemas
C.      Databases
D.      .Net Assemblies

86.  What are BRE Importance Note?

·         BRE is available only in licence BizTalk Server
·         Document Type of schema should be same as fully qualified schema name
·         We can set priority for rules execution if more than one rule
·         Higher number mean higher priority
·         There is only if then and no else condition
·         When a new version of the policy is deployed, you should wait approximately 60 seconds before testing. The rule engine update service polls the rule engine database on a periodic basis (every 60 seconds by default) to look for newly deployed policies.
·         A policy or vocabulary cannot be modified after it is published

87. Can we edit vocabulary and policy after deployed?

We can edit both vocabulary and policy after deployed by using update nStatus value from BizTalkRuleEngineDb of following Tables-

For Vocabulary -  re_vocabulary
For Policy-  re_ruleset

88. What is zombie message in BizTalk?

A zombie message is a message that was routed to a running orchestration from the messagebox and was "in flight" when the orchestration ended. An "in flight" message is a message that has been routed to a service instance and so is in a messagebox queue destined for the service instance. Since the message can no longer be consumed by the subscribing orchestration instance, the message is suspended and marked with a ServiceInstance/State value of "Suspended (Non-resumable)".

A zombie service instance is an instance of an orchestration which has completed while a message that was routed to the orchestration instance from the messagebox was still "in flight". Since the orchestration instance has ended, it cannot consume the "in flight" messages and so is suspended and marked with a ServiceInstance/State value of "Suspended (Non-resumable)".

89. When a zombie service instance is suspended, which error message is generated?

0xC0C01B4C The instance completed without consuming all of its messages. The instance and its unconsumed messages have been suspended. 

90. When zombie message error occurs?

Terminate control messages – The orchestration engine allows the use of control messages to cancel all currently running work in a specific orchestration instance. Since the control message immediately halts the running orchestration, zombie instances are not unexpected. A number of Human Workflow related designs tend to use this mechanism as well as some other designs.

Parallel listen receives – In this scenario the service instance waits for 1 of n messages and when it receives certain messages it does some work and terminates. If messages are received on a parallel branch just as the service instance is terminating, zombies are created.

Sequential convoys with non-deterministic endpoints – In this scenario, a master orchestration schedule is designed to handle all messages of a certain type in order to meet some type of system design requirement. These design requirements may include ordered delivery, resource dispenser, and batching. For this scenario, the tendency is to define a while loop surrounding a listen with one branch having a receive and the other having a delay shape followed by some construct which sets some variable to indicate that the while loop should stop. This is non-deterministic since the delay could be triggered, but a message could still be delivered. Non-deterministic endpoints like this are prone to generating zombies.

91. Tell me how to transfer files without using Orchestration?

1) By using content based routing, files can be transferred.
2) By creating receive port and send port. If send port is configuring, provide the condition as BTS.
3) Receiveportname= <receive_portname created>

92. What is BizTalk business process configuration?

Information worker can set parameters for an orchestration that implements a business process, which a business analyst may not be able to create. Developer creating an orchestration can define parameters for an orchestration to enable information workers configure it. An information worker sets those parameters using the TPM service by specifying their values in the partner’s agreement.

93. Explain the difference between BizTalk Server and Web Services?

BizTalk is a product while Web Services are a standard.
BizTalk Server is a Microsoft product whereas Web Services have been developed by many organizations including Microsoft, IBM, etc. BizTalk Server application has been built to enable the internal business processes of organizations, operate with ease. Web Services are small applications published using UDDI to enable all the people find them. Web services are that they are platform neutral. BizTalk can leverage Web services.

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

95. What is XSLT?

XSLT or Extensible Stylesheet Language Transformations is a style sheet language for XML documents (stands for XSL Transformations), it defines the transformation rules of the messages.

96. Where does XSLT come into the picture in BizTalk?

When a developer faces a complex mapping (problem) and to solve it requires a substantial amount of logic he/she can use custom XSLT.

97. What are maps?

Maps are graphical representations of XSLT (Extensible Stylesheet Language Transformation) documents that allow us to perform, in a simple and visual manner, transformations between XML messages. A map file basically is the XML file that defines the correspondence between the records and fields in one schema and the records and fields in another schema. You create a map when you want to transform or translate data that you receive or send from one schema to another.

98. Can we have a map without any links on it?

Yes. But to do so custom XSLT is to be provided to the map.

99. How do we provide/include custom XSLT in the map?

Click on the map grid and in properties tab specify the location where custom XSLT is stored against the property "Custom XSLT path"

100. Is it possible to have a global variable in a map?

Yes. The choosing inline code allows us to declare global variables outside the method declaration. These are accessible throughout the map from within all inline code scripting functoids.

101. What are the places map can be used?

Receive Port, Orchestration, Send Port

102. Can we have map chaining on ports?

Not on the same port, only the first that matches the received message type will execute.  You can have a map execute on a Receive Port and then have another map execute on the Send Port (or have multiple maps in an Orchestration, or use the ESB Toolkit to achieve this.

103. What is limit of maps on ports?

There is no limit.

104. Is it possible to generate XSLT from the map?

Yes, right click the map and select Validate Map. The output window will include "The output XSLT is stored in the following file:" and the location of the XSLT file.

105. Is it possible to use the untyped message in the map?

No.

106. Is it possible to create a map for a schema with unknown structure?

Yes, it’s possible. It can be done by including the <Any> element in the map. 

107. Where are transformations more flexible?

Transformations are more flexible and fast when they are executed from a send or receive port. We can replace map on the ports without any development effort. But if we replace map in orchestration we have to recompile and redeploy the orchestration assembly.

108. Is it possible to override the mapping of Mass copy?

It can be done on line by line basis. Example a field need to be passed a current date, then have the Date functoid placed a link to destination field this will override mass copy. 

109. Is there a limit on a number of pages on Map grid?

There is no limit, it depends on the requirement and complexity of the map.

110. Why should pages to be added to Map Grid if all can be done on a single page?

Multiple pages enable you to organize your links so that any one page does not become too cluttered and confusing. It is also very helpful to label the pages and the links.

111. Is there a way to add custom logic required in a Map?

Yes, it's possible and it can be done with the help of Scripting functoids or creating the custom functoids.

112. Can value from Orchestration variable be passed to the destination field in the Map?

Yes, it can be done, by creating a new schema which will contain fields for capturing values from Orchestration variable and with the help of LoadXml  to load the values. This schema can be used along with another source schema and mapping can be done. The variable also can be passed inside the Assign shop in an expression.

113. Is it possible to have a map with n incoming messages to n outgoing messages?

Yes, but you need to create these kind of maps inside Orchestrations only! This type of maps must be created using the Transform shape within an Orchestration. Orchestration Editor creates an envelope schema which includes all nested message schemas. Once created you can use this map on ports as well.

114. Is it possible to have map with n incoming messages to 1 outgoing messages?

Yes. And the only place that map can be created with multiple schemas is in a Transform shape within an Orchestration.

115. Is it possible to have a map with 1 incoming message to n outgoing messages? 

Yes, but only inside Orchestrations! This type of maps must be created using the Transform shape within an Orchestration.

116. Can the graphic map representation and external XSLT be used in a single map?

No. As everything which we see in Map grid (links, functoids) are overwritten when external XSLT is used.

117. Can we debug Map just like .Net code?

Yes. Right click the map to debug and select "Debug Map".

118. What is a .btm File?

.btm is a BizTalk Server map file.

119. What is the BizTalk Mapper Designer and where I can find it?

It is a tool that runs within the Microsoft Visual Studio .NET environment after you install BizTalk Server. We use the Mapper to create and edit maps.

120. What kind of transformation can we accomplish using maps? [Controversial]

Using maps he can accomplish Semantic Transformations. This type of transformation usually occurs only in BizTalk maps but also can be performed inside pipelines. Here the document maintains the same syntax that is represented (XML), but changes its semantics (data content). This type of transformation is typically one-way, since that's when we added and aggregate small parts of the information, that compose the document into another differently document, we may miss important details of its reconstruction. 

121. What are grid pages and how many can we have?

The mapper grid plays a critical role in the definition of maps, containing the links and functoids that control how data in a source instance message is transformed into an instance message that conforms to the destination schema. 

The grid view can have multiple layers, called grid pages, allowing you to organize complex maps into logical subdivisions of mappings. BizTalk 2010 no longer has the limitation of 20 grid pages that exist in the previous versions of the product. 

122. Is it possible to link the output of a functoid placed on the right side of the map grid with a functoid placed on the left side of the map grid? 

No, it is not possible as grid follows left to right precedence. An output link of the first functoid has to be placed into an input of the second functoid.

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

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

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

126. Can we use message metadata in Orchestration?

Yes.

127. How Orchestration does 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

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

129. How to load message in a variable?

It can be done using the LoadXml method. Say xmlDoc is a variable then following is done to load employee message. 

xmlDoc.LoadXml("<Employee><first_name>Joe</first_name><last_name>Smith</last_name></Employee>");

130. Can recursion be achieved in Orchestration?

No.

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

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

133. 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 scopeparallel, 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.

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

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

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

137. Can an Atomic scope can have an exception handler of their own?

No, it can only have a Compensation Block.

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

139. Can orchestration use components other than listed in Toolbox?

Yes. It is possible to use components like pipeline, business rule policy, .net component etc.

140. When is convoy used?

The convoy is used to receive multiple messages in sequence or parallel to achieve a goal/result. 

141. Is it possible to enforce Orchestration to behave in singleton way?

Yes it is possible with the help of correlation. 

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

143. When is property "Synchronized=true" used?

When a variable is shared across the branches of parallel shape. 

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

145. Which language does expression shape support?

Expression shape allows for writing XLANG/S statements that provide C# -like coding capabilities. 

146. What is relation between Orchestration instance and correlation?

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

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

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

149. What is correlation type?

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

150. What are conditional persistence points?

The Receive shape, Listen Branch and Delay shape are conditional persistence points. 

151. What are Scopes used for?

Scopes are used for following reasons: 
A.      To configure transaction (long running and atomic)
B.      To handle exceptions
C.      To trigger compensating logic

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

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

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

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

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

157. Is it possible to use IF Then Else logic inside the Message Assignment?

No, it is not possible to use the If Then Else Logic inside the message Assignment. It has to be used in the expression shape.

158. How to Promote Property inside an Orchestration?

The Orchestration cannot 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 initialize that correlation set while publishing the message. Then the BizTalk Engine will promote the property to the message context.

159. What is MessageBox?

MessageBox is a SQL server database along with messaging agent.

160.  What is the purpose of MessageBox?

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

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

162. How MessageBox does treats messages without subscriber?

The message is suspended when there are no subscribers found for it.

163. How many receive locations can a single receive port have?

Receive port can have any number of receive location.

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

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

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

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

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

169. Can a send group be a part of multiple send group?

No only static send ports can be part of send group.

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

171. Ordered delivery does not have an effect even after it is set, when this might happen?

When back up transport is also applied.

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

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

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

175. How it's possible to work with several pipelines as soon as new Application is created?

BizTalk.System is already referenced in all new applications, as a result of this we can work with several pipelines as soon as a new application is created.

176. What happens to message when all subscribers have received their message?

BizTalk will no longer need to hold on the message and the message will be removed from BizTalk.

177. What can be done to avoid loss of messages in a scenario where we know beforehand unavailability of the destination system, but source system is publishing messages?

In this scenario we can stop the send port bound to the destination system. This way the messages will lie in a queue inside Messagebox. Subsequently, we can start the send port when the destination system is available.

178. When do Error Report properties get promoted?

When Failed message routing is enabled and if an error occurs at the port, then the message will have all the regular context properties unprompted and instead have some error-specific context properties promoted - all in the ErrorReport Namespace e.g. ErrorReport.ErrorType, ErrorReport.ReceivePortName etc.

179. Which is the first step to enable Subscription?

A filter on the send port is the first step to enable subscriptions in BizTalk.

180. Can Application be in start state when host is Offline?

Yes. But this application will not function properly.

181. When don't filters on send port apply?

If a send port is directly bound to an orchestration port, then filters do not apply.

182. How to apply maps on send port group?

Maps can't be applied to Send Port Group.

183. Is it possible to integrate BAM installed on server1 and BizTalk installed on server2?

Yes it’s possible with a condition that BAM server has to be part of the BizTalk group.
184. What is the difference between TrackingProfile DB and DTADB?

Both are same and terminology is used interchangeably.

185. What is an Activity and an Alert?

BAM Activities identify the milestones and tracking data an individual is interested in tracking. Milestones are the steps in an activity that are measured in time, and tracking data are the key data points in a process you are interested in tracking (such as a customer ID or name).

BAM alerts allow you to configure and receive alerts related to specific changes in business data. Alerts are set up per BAM view.

186. What is ContinuationID? 

Continuation is the ability to contribute to a single BAM activity from different applications by using two different unique identifiers as the ActivityID. For example, in one part of a business process, a customer’s PO number might be used to track an activity. In another part of the process, an internal order fulfillment number might be used to track the same activity. You could enable continuation and relate the PO number and the order fulfillment number, so that both parts of the process could add information to the same activity.

187. What is TDDS?

Tracking Data Decode Service or TDDS, is a service that moves event data from the MessageBox database to the BAM Primary Import database. This service processes and persists both Business intelligence and BizTalk Health Monitoring data.

188. What are the various types of BAM Interceptors available? 

The BAM Interceptor is an object that lets you instrument your application to capture data of interest.
·         BAM WCF interceptor: BAM can capture data from SOAP envelope in a WCF request, response or fault message. The data is specified using interceptor configuration (IC) file (XML file created by developer). The service’s app.config must be modified to load the BAM components at runtime.
·         BAM WF interceptor: like WCF Services, BAM can also capture milestones from WF Activities. Am IC file is used to specify the data that must be captured. BAM components must also be loaded at runtime.

189. What is Activity Relationship?

An activity relationship exists when an activity relates to one or more other activities. An example of this is having multiple Shipment activities related to a single Purchase Order activity, or one Shipment activity containing items from two Purchase Order activities.

To indicate that two activities are related, you need to know both names and have the corresponding ActivityIDsin memory in order to call AddRelatedActivity. This API creates the link between the corresponding activity records.

190. What is a BAM View?

A BAM view is a representation of the milestones and business data tracked in one or more activities on the BAM Portal.

191. Can we have multiple views created on single Activity?

Yes it’s possible to have multiple views on single Activity.

192. Where BAM collects raw tracking data?

BAM collects raw tracking data from the BAMPrimaryImport (BAM Primary Import) Database.

193. Is BAM Tools a prerequisite for EDI/AS2 Runtime in BizTalk Server 2010?

That depends on the functionalities (features) you want to install, but for me the correct answer is no.

194. How many database are used by BAM?

BAMPrimaryImport, BAMStarSchema, BAMAnalysis, BAMArchive, BAMAlertsApplication and BAMAlertsNSMain.

195. What is this tool BM.EXE and why do I need it?

BAM Management utility or “bm.exe” provides for end-to-end management and deployment of BAM. You can use the BAM utility to perform the following tasks:

·         Consume BAM definition and BAM configuration XML as input.
·         Deploy the run-time infrastructure on the server, which includes the BAM Primary Import database, BAM Star Schema database, BAM Analysis database, and corresponding Data Transformation Services (DTS) packages. 

196. Where the data came from, what the BAM Data Sources?

The most commonly data sources used with BAM are: 
BizTalk Application
BAM API
WCF Services (WCF Interceptor)
WF Workflows (WF Interceptor)

197. What is BAM Portal?

It is a Web-based feature that consists of a collection of ASP.NET pages, it portal provides real-time, end-to-end visibility into a business process.

198. It is required to track custom code used in application, which can be used TPE/BAM API or both can be used?

TPE can't be used here as it can only be used to capture data from BizTalk artifacts, thus BAM API have to be used.

199. Is there any shape in Orchestration which can't be tracked? 

Yes. There are some shapes like:
a.       Terminate
b.      Throw Exception
c.       Group 
d.      Loop 
e.      Message Assignment
f.        Suspend
g.       Transform

200. What are various event streams used in BAM API?

Orchestration Event Stream (OES)  
Asynchronous, participates in BizTalk orchestration transactions.

 Buffered Event Stream (BES)  
Asynchronous, high throughput, some latency.

 Direct Event Stream (DES)  
Synchronous, no latency and directly written to the BamPrimaryImportDb.

 Messaging Event Stream (MES) Asynchronous, participates in BizTalk Server pipeline transactions.

201. Is it possible to apply BAM on the retry mechanism of Send Port?

No, because the code execution for retry happens in adapter which is out of the BAM tracking scope.

202. What is the dfference between Real Time Aggregation and Scheduled Aggregations used in BAM?

The storage of RTA is a SQL table and the aggregation is updated and maintained by SQL trigger. The event importing and aggregation update are completed in the same transaction, therefore its data latency is negligible and almost real-time.  The scheduled aggregation is saved in Olap cubes which need to be processed periodically by the cubing DTS package

203. What is the minimum number of components allowed in pipeline stage?

Minimum is zero components, example PassThru pipeline.

204. What is the maximum number of components allowed in pipeline stage?

All stages in the pipeline can take maximum of 255 components, except the assemble stage that has a maximum of one.

205. Does Flat file assembler pipeline component validates the incoming XML message?

No.

206. What are types of pipeline components?

v  General
v  Assembling
v  Disassembling
v  Probing

207. What is the tool that I need to use to create Business Rules?

You need to use the Business Rules Composer. This is a graphical tool used for authoring, versioning, and deploying policies and vocabularies.

208 .What is a Business Rule Language?

It is a rule markup language in XML format for declarative rule definitions.

209. How can I execute a Business Rule in my orchestration?

Using the Call Rules Shape.

210. What is used to create new vocabulary definition?

The Vocabulary Definition Wizard is used to create vocabulary definitions.

211. What is a Policy?

A policy is a logical grouping of rules. You compose a version of a policy, save it, test it by applying it to the facts, and, when you are satisfied with the results, publish it and deploy it to a production environment.

212. Is it possible to change Business Rule policy after it was published?

No. After policies are published it can't be edited. But if there is a need to have a change in policy then new version of policy is to be created.

213. Does rule composer have provision of adding ELSE logic?

No, there is no provision of adding ELSE but else logic can implemented with extra IF.

214. What is Long term fact and Short Term fact?

The fact is the user data to which rule conditions are applied. At design time a fact is a reference to that data.

Facts have two categories – Short Term Facts and Long Term Facts. Consider a loaning process of any Bank. We can think a “loan application” as short term fact. Short team facts are business information which changes per occurrence. On the contrary, “interest rates” do not change very regularly. This business information is steady and we can consider it a long term fact.

215. What is the difference between Publishing and Deploying the Rule?

Rule alone cannot be published or deployed, it has to be wrapped under Policy and then published and deployed. When a policy is deployed it is ready to use and can't be edited whereas when published, policy aren't ready for use.

216. Can we call policies from .Net code?

Yes. Firstly it needs to be declared (policy name which is to be called), passed in the fact instance and finally executed. 

217. Can we call a specific version of Policy using Call rule shape in Orchestration?

No, as the call rules shape calls the latest version of the policy deployed.

218. What is purpose of BizTalkRuleEngineDb?

This database is a repository for: 
         i.            Policies, which are sets of related rules
       ii.            Vocabularies, which are collections of user-friendly, domain-specific names for data references in rules.

219. Is there limit for versions of policies? 

No.

220. What is Rete Algorithm, does it have any relation with BRE?

Rete Algorithm is an efficient pattern matching algorithm for implementing production rule systems. BRE's inner working is based on the Rete algorithm.

221. How does it differ, calling the policy in Call Rules Shape and in Expression?

The Call Rules shape in the Orchestration calls only the latest version of the policy. To call an older (specific) version from within an orchestration, the Business Rules Framework APIs is used, which can be called from within an expression.

222. How to test specific rules (not all) defined under one policy?  

To be answered

223. What is an Adapter?

An adapter is a software component (COM or .NET-based) that enables you to easily send messages out of or receive messages in BizTalk Server with a delivery mechanism that conforms to a commonly recognized standard, such as SMTP, POP3, FTP, or Microsoft Message Queuing (MSMQ). As Microsoft BizTalk Server has evolved, the need for adapters that quickly enable connectivity with commonly used applications and technologies has increased. BizTalk Includes over 25 multi-platform adapters that simplify the integration with Line of Business (LOB) Applications (such as Siebel, SAP, JD Edwards, Oracle, and Dynamics CRM), database (Microsoft SQL Server, Oracle, DB2) and other technologies (Tibco, Java EE).

224. What is required for a developer to create a custom adapter?

A developer can receive requirements for building a custom adapter in case there are no out-of the box or commercial available to fulfil certain functionality.  This can be done by using the Microsoft Windows Communication Foundation Line of Business Adapter SDK.

225. What is the purpose of Adapter?

Adapters are the components that enable the BizTalk to interface with the external communications protocol. They mediate between the protocol and the messaging pipeline in use.

226. Does an adapter write to content of the message?

No. The adapter only writes data in the context of the message which is further interrogated by another component of BizTalk.

227. What are the native adapters in BizTalk?

"Native" or "integrated" adapters in BizTalk are: FILE, FTP, HTTP, MQSeries, MSMQ, POP3, SMTP, SOAP, Windows Sharepoint Services, and the seven WCF adapters (WCF-WSHttp, WCF-BasicHttp, WCF-NetTcp, WCF-NetMsmq, WCF-NetNamedPipe, WCF-Custom, and WCF-CustomIsolated)
(Adapters in BizTalk Server, BizTalk 2010) or the ten WCF-based in BizTalk Server 2013 if you include WCF-BasicHttpRelay, WCF-NetTcpRelay, WCF-WebHttp and two other new ones SB-Messaging and SFTP adapter.

228. Which port do you need configure in a firewall for in and outbound traffic when using the FTP Adapter?

For the FTP adapter you will need to configure port 20 and/or 21.

229. What happens to file when message is suspended in a MessageBox?

The file adapter deletes the file from disk.

230. What does "Public address" property defaults to?

This property defaults to file://{Receive folder value}/{file mask value}. The literal prefix file:// is required so as to communicate the protocol in use. It is string from 0 to 255 characters.

231. What is the default value of Retry count and Retry interval (min)?

The default value is "5". This can be altered through the Advanced Options Tab of the Transport Properties of a Send Port.

232. What is an Adapter Handler?

An adapter handler is an instance of a BizTalk host in which the adapter code runs. When you specify a send or receive handler for an adapter you are specifying which host instance the adapter code will run in the context of. An adapter handler is responsible for executing the adapter and contains properties for a specific instance of an adapter. A default BizTalk Server configuration will create adapter handlers for all of the installed adapters, but you may want to create additional adapter handlers for purposes of load balancing or to provide process isolation for a particular adapter handler.

233. What Is the Adapter Framework?

The BizTalk Adapter Framework offers a stable, open mechanism for all adapters to implement or access work from the BizTalk Server Messaging Engine. The interfaces described in the Microsoft.BizTalk.Adapter.Framework namespace enable adapters to provide a means to modify configuration property pages. It also is a means to import services and schemas into the BizTalk project.

234. What you mean with Native Adapters and Custom Adapters?

Native adapters are those that are shipped with the product and there are more than 25 multi-platform adapters. But in some cases a BizTalk Server may need to transport messages to a specific custom application or use a protocol for which a native adapter does not exist. If you are unable to locate an adapter to support your communication requirements, BizTalk Server provides a framework for developers so that you can develop your own custom adapter. 

235. I've heard the term connector in BizTalk. So what's the difference between an adapter and a connector?

Probably the same thing. In BizTalk, we can call a connector as a software component that enables you to easily exchange messages between BizTalk Server with different systems, i.e., it's an adapter- a communications service used to exchange documents with your trading partners or your internal systems.

236. What can we expect when Propagate fault message is enabled?

The fault message will be published to subscribing applications. If it is not enabled then any fault messages will end up being suspended and are available in the BizTalk Administration Console.

237. What is an Isolated Receive Adapter?

The receive adapter that is hosted in a process other than a BizTalk Server process. This adapter is created and controlled by an external process and it registers with BizTalk server at run time to submit messages. 

238. What is journal queue?

The journal queue is a system queue that is automatically created when MSMQ is installed and is meant to contain copies of messages that are sent or received.

239. What is dead queue?

The dead letter queue is a system queue that is automatically created when MSMQ is installed and is meant to contain undelivered messages.

240. What is functoid?

The term functoids refers to predefined functions within the BizTalk Mapper tool set. Functoids support a number of useful translations and transformations.
We can consider functoids, as pre-defined functions that we can use to perform complex data manipulations and transformations. Typically on a map, the data is copied from source to destination by dragging links between elements of the two schemes. Functoids stays in the middle of these operations and apply an operation on the incoming data in order to transform them to the requirements of the destination. BizTalk Mapper Designer represents a functoid as a box in the middle of the link or links between the processing elements. As a point of interest, functoid is a term coined by Microsoft and is commonly described as “functions on steroids.”

241. What is required for a developer to create a custom functoid?

Basically, you need to create a new class library project using the .NET language of your choice and create a class derived from Microsoft. BizTalk. BaseFunctoids. However, the easiest way is to use the BizTalk MapperExtensions Functoid Wizard.

242. Why would a developer create a custom functoid?

Below scenarios can tempt developer to create custom functoid:
·         When there is no out of box functoids which can be used to complete the logic.
·         When the number of functoids used to implement the logic goes on increasing and becomes difficult to follow and manage.

243. What is the difference between Value Mapping and Value Mapping Flattening functoid?

Value Mapping: When both the source and the destination schemas define parallel repeating structures between which the relevant data is mapped.

Value Mapping (Flattening): When the source schema defines a repeating structure and the destination schema defines a flat structure, such that different instances of the repeating structure in the source schema are intended to be mapped into the unique elements in the flat structure in the destination schema.

244.How can you build an if-then-else construction with functoids?

To build if-then-else it will need any of the Logical functoid (depending upon the requirements, e.g., if the value is to be matched then Equal Functoid) and a Value mapping functoid. The combination (Logical Functoid and Value Mapping Functoid) will repeat, firstly to implement IF condition and secondly to implement ELSE condition.

245. Is it possible to reuse method of a Scripting Functoid in other Scripting Functoid?

Yes, it is possible. To do so the method at first place should be declared as public and then it can be called from other scripting functoid.

246. What is Microsoft.BizTalk.BaseFunctoids.dll?

This DLL implements all the base classes which are needed to create a functoid.

247. What are the ways to integrate custom functoid into solution?

Custom functiods can be integrated into a solution using two ways (in both BizTalk.BaseFunctoid is derived):
o   Directly by using inline code 
o   Indirectly by reference to a method in a class library deployed into the global assembly cache.

248. What can be done using Scripting Functoid?

Custom code or custom scripts can be added.

249. How many categories are functoids divided in Tool Box?

There are 9 categories available in Toolbox viz-
a.       Advanced
b.      Conversion
c.       Cumulative
d.      Database
e.      Date and Time
f.        Logical
g.       Mathematical
h.      Scientific
i.         String

250. Can we concatenate 200 input parameters using String Concatenate functoid?

No. As the minimum input parameter accepted is 1 and the maximum is 100.

251. How can we get the count of the repeating node or repeating element?

Record Count Functoid can be used here, the input to this is the looping record/element.

252. Is it possible to know the index of the current record in looping structure?
             
Yes with the use of Iteration functoid. Iteration functoid gives the index of the current record in a looping structure.

253. What effect does creating a new Host have on the Database?

When the new host is created it results in a new entry in the Host table in the Management database and also a new Host queue in the MessageBox.

254. The MessageBox database holds all the messages that are processed, what about messaging Objects?

Messaging objects viz. Receive Ports, Receive Locations, Send ports, etc. are stored in the Management Database.

255. Is there any change in the database when the filter is added to send port or when Activate property of Receive shape is set to true?

Yes. An entry is added in subscription table.

256. What databases are part of every solution?

BizTalk Server Management database, MessageBox databases, tracking database, and SSO database are four databases which are used by BizTalk server runtime operations. It is the component that encapsulates and abstracts the database component and is the interface used by BizTalk Server to interact with the MessageBox. The Message Agent is a Component Object Model (COM) component that provides interfaces for publishing messages, subscribing to messages, retrieving messages, and so on. This interface is the only mechanism used by other BizTalk Server components, including the adapter framework and orchestrations, to interact with the MessageBox.

257. Which service looks after known issues in the database?

Monitor BizTalk Server, this job scans the BizTalkMgmtDb, BizTalkMsgBoxDb and BizTalkDTADb database for any known issues, including orphaned instances.

258. How would you define database role in context to BizTalk?

The database is used to store the data about the Message and other data required for processing it, along with the help of SQL Server Agent Jobs.

259. Which SQL Agent job runs continuously?

MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb is the job which runs continuously in spite of scheduled to run once per minute.

260. Messages without subscribers are removed, how?

MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb determines when a message is no longer referenced by any subscriber. When no subscriber found it starts MessageBox_Message_Cleanup_BizTalkMsgBoxDb which removes the unused message.

261. Does implementing BAM require more database?

Yes. BAM Analysis, BAM Archive, BAMAlertsApplication, BAMAlertsNSMain, BAM Primary Import database and BAM Star Schema can be used to implement BAM solution.

262. Which database stores the configuration information for receive locations?

Single Sign-On database (SSODb) securely stores the configuration information for receive locations, other known secret information is stored in the BizTalkMgmtDb.

263. How many databases are used for implementing BRE?

In addition to the default 4 databases only one database, i.e. Rule Engine Database.

264. What are the options for upgrading BizTalk Server Database?

There are two ways for upgrading
1.In Place upgrade
2.Transfer Upgrade.

265. What is ESB Toolkit and why do we need it?

BizTalk ESB Toolkit provides a set of services on top of the existing BizTalk Server 2010 architecture to enable service consumers and service providers to be part of a loosely-coupled but mediated environment. Using ESB toolkit, it helps to enable Dynamic Routing, Transformation and Exceptions handling and considered to be a platform to realize a service-oriented architecture and by solving the problems of point-to-point service connectivity with the help of a common mediation layer (the "bus"). 

266. What is the ESB Toolkit version shipped with BizTalk Server 2013 R2 and 2016?

2.3 & 2.4

267. Can there be any drawbacks which you need to take care before deciding to implement ESB Toolkit?

It is a security issue that can happen while doing ESB Toolkit setup in a multi-server configuration. This happens when ESB Portal web application refused to forward the impersonated credentials to the SQL Server since it is on another server. An identity delegation rights should be given to the application pool. 

268. Can you highlight the features of ESB Toolkit?

Below are some underline features of ESB toolkit:
> Location & Version Transparency
> Transport Protocol Conversion
> Dynamic Data / Format Transformation
> Lightweight Service Composition
> Error Handling & Repair
> Service Interactions Support

269. Does ESB Toolkit improves BizTalk performance?

ESB Toolkit doesn't address to improve run-time performance.

270. How you can use ESB Toolkit and BRE for BizTalk application development?

We can have BRE resolver to achieve more dynamic routing approach. Rules can be configured not only for transport or transformation but also for itinerary itself.

271. What are the ESB toolkit Core components?

> Itinerary Services
> Resolver, Adapter Provider Frameworks
> Exception Management Framework

272. What is an Itinerary?

Itinerary (also described as "Routing slip") is a mediation Policy which can be attached to a message which comes to the ESB dynamically. Itinerary provides pictorial view of message flow with On/Off Ramp.

273. Can we encrypt Itinerary?

Yes, in fact, visual studio default option is to enforce encryption. Since Itineraries may potentially contain sensitive configuration information, “Itinerary Encryption” was introduced to encrypt your itineraries with a certificate before exporting them.

274. What is resolver, and can you list out the ESB toolkit provides?

A component which feeds runtime configuration values to the Adapter provider the so that it can dynamically configure the Dynamic Adapter at run-time. It is a .NET component having a collection of entries which tells what values to use for various BizTalk components.
Example: STATIC, UDDI, XPATH, BRE, BRI, ITINERARY, ITINERARY-STATIC, LDAP 

275. What are On/Off Ramps?

> On-Ramp is receive location which provides esb context (Corresponds to Receive port)
> Off-Ramp (typically dynamic) is send port with respect to esb context (Corresponds to the send port) 

276. What is ESB Management Portal?

The ESB Management Portal provides views of fault information that make it easy to monitor, manage, and debug ESB applications. It also provides features that you can use to manage alerts, publish UDDI information, and administer the portal. To open the portal, navigate to http://localhost/ESB.Portal.

277. What is Routing Slip pattern? How ESB toolkit supports it?

Routing Slip pattern is widely used message routing pattern and used when a message is routed through a series of components in a pre-defined order (may be unknown during design time). ESB provides this pattern via Itinerary-based processing. A business rule can be used to select an Itinerary for a message dynamically. 

278. Can we develop a custom itinerary resolver?

Yes, by implementing IResolverProvider interface.

279. What is the use of Export Mode property in?

Export Mode property can be used to define where the service will execute. 

Strict: ensures that the itinerary service executes in its prescribed container; itinerary has a stage property that specifies the pipeline in which the service executes. 

Default: the itinerary service executes in the order prescribed, but not necessarily in the pipeline stage desired.

280. I can see my Itinerary in the EsbItineraryDb database and set the correct resolver connection string in the pipeline but I still see the error "The itineraryESBTransformServiceItinerary was not found in the repository.  ", why??

The Itinerary need to be in the Deployed status in order to use it. To verify this, you can either check nStatus column value "1? In Itinerary table or ItineraryStatus column in Visual Studio by selecting Model Exporter as Database. You won't be able to call the itinerary in Published status.

281. Why there is no Itinerary status option when choosing XML Itinerary Exporter?

Because you have chosen to export your Itinerary in XML for moving it to a different environment. Once you are importing it to the targeted environment, you have an option for "Publish" / "Deploy".

282. How to move itineraries from one environment to another (e.g. QA to Production)?

An EsbImportUtil.exe utility tool is a good option used to publish or deploy the itinerary XML into the ESBItineraryDB database. 

283. What is ESB Dispatcher?

It sets endpoint location properties for the outbound message using ESB resolution guidance.

284. Can you summarize a typical Message Life Cycle in ESB Toolkit?

On-Ramp -> ESB Pipeline (ESB Context promotion) -> Itinerary -> MessageBox -> Queue message for subscriber -> Subscriber (Orchestration / Off-Ramp).

285. Can we On-Ramp / Off-Ramp message with message box?

Yes (with some trick), a message created within BizTalk Orchestration can promote properties with ESB context and published to MessageBox.

286. Can we perform multiple transformations in sequence inside Itineraries?

Yes, you need to add multiple Itinerary Services in sequence to achieve this.

287. How can you call an Orchestration inside the Itinerary?

Using Orchestration Service Extender.

288. What are the three commonly used promoted properties to subscribe correct message of an itinerary service?

ServiceName, ServiceState, ServiceType

289. What are the common patterns implemented in Itineraries?

Message Routing
-> Message Router: determines the recipient of the message based on a set of conditions
-> Content-Based Router: determines the recipient of a message based on message content
-> Routing-Slip: a message must be routed through a series of components in a pre-defined order, which may not be known at the design time.
-> Recipient List: a message is routed to one or more recipients (static / dynamic)
-> Splitter : Breaking one message to multiple chunks

Message Transformation
-> Translator: Solves the problem of translating incompatible data formats between two systems
-> Normalizer: Solves the problem when messages received from different sources are semantically equivalent but format is different
-> Content Enricher: Solves the problem by furnishing additional data to the received message required by target system

Service Mediation
-> VETO / VETRO: Solves the problem using esb pipelines for Validate, Enrich, Transform, Route, Operate
-> Request-Response: Solves the problem of two-way communication

Service Management
-> Repair and Resubmit: Solves the problem with the use of ESB Management Portal

290. Is it possible to implement service chaining in itineraries (i.e. Sending a message to a service and feeding the response received from that service as input to the next service and so on...)?

Yes. It is possible in itineraries.

291. What purpose does Visual Studio serve?

Development for BizTalk Server is done through Visual Studio <version> (depends on BizTalk version). Visual Studio has templates for BizTalk artifacts like orchestration, pipelines, schemas and maps, so a BizTalk solution can be created (design time) and deployed to the BizTalk runtime. Besides artifacts .NET development can be done in creating pipeline components, custom functoids, custom adapters, and .NET helper classes to aid in orchestrations. As a BizTalk professional Visual Studio is your friend and required to build BizTalk solutions.

292. What is strong name key?

A strong name ensures that each assembly name is unique. Each assembly in your BizTalk project requires a strong name in order to deploy successfully.  

293. How strong name key is generated?

At the command prompt, from the folder where you want to store the key file, type the following command, and then press ENTER: sn /k file_name .snk. In Visual Studio Solution Explorer, right-click the project and then click Properties. Click the Signing tab and choose Browse in the Choose a strong name key file drop down box.

294. Difference between Build and Rebuild?

Build means compile and link only the source files that have changed since the last build, while Rebuild means compile and link all source files regardless of whether they changed or not.

295. What are the actions in order to deploy from Visual Studio?

Sign the project with strong name key
Give the name to the Application

296. Can I create or configure Receive Ports or Send Ports through Visual Studio?

That depends of the BizTalk Version/Visual Studio that you are using! In previous version you could create and configure port through the BizTalk Explorer view in Visual Studio, but since BizTalk Server 2010 the BizTalk Explorer view was removed from Visual Studio.

297. What is a .btproj File?

.btproj is a Visual Studio BizTalk project file.

298. Are all the BizTalk development tools embedded in Visual Studio?

No. Indeed BizTalk Mapper Editor, Schema Editor, Orchestration editor and Pipeline editor are embedded in Visual Studio. However BAM and BRE tool are not embedded.

299. Why we get the error "Unexpected error writing metadata to file <filename>"? 

It is a known issue of Visual Studio. Visual Studio will not successfully compile a project if it would result in an assembly larger than 75 megabytes (Mb). 

300. Where can we see assembly information in Visual Studio?

AssemblyInfo.cs contains information about  assembly, like name, description, version, etc. It can be located under Project-->Properties-->AssemblyInfo.cs

301. What is Build Order and can it be changed?

Build Order is the sequence in which the projects will be build when the whole solution is build and yes it can be changed.

302. What is option Clean used for?

Clean Solution is used to delete any intermediate and output files (mostly assemblies). With only the project and component files left, new instances of the intermediate and output files (mostly assemblies) can then be built.

303. What is a helper class?

A .net helper class with the context of BizTalk is a class (library) that can support an orchestration with extra functionality. It can enhance an orchestration in tracing, error handling, caching, and serialization/deserialization.

304. Where can the helper class be used?

.NET (helper) classes can be used inside an orchestration.

305. A helper class which is not marked serializable, can it be used in Orchestration?

Yes, it can used in orchestration but in an atomic scope only.

306. Why is it required that helper class/.net assembly to be marked serializable?

When creating an assembly that will be used by BizTalk, it is appropriate to mark all classes as serializable. Since BizTalk is stateless and makes use of persistence points, which details are stored in BizTalk SQL Server databases by serializing all the data. Therefore non-serializable Classes or Types cannot be used directly in Orchestrations.

307. What does property "copy local" indicates?

Copy Local property indicates whether the assembly referenced should be copied into the local bin directory when a project is built.

308. Is it possible to create a .Net class variable in BizTalk if property "Use default constructor" is set to false?

Yes it is possible, in this case the variable will need to be instantiated in an Expression shape through the new keyword.

309. What is Gacutil.exe?

The Global Assembly Cache tool allows you to view and manipulate the contents of the global assembly cache and download cache.

310. Is there a way to automate the process of adding assembly in GAC?

Yes. Right click the project, go to properties and select Build Events
and add following in the Post-Build event command line:
"C:\Program files\Microsoft Visual Studio 8\SDK\v2.0\Bin\GacUtil.exe"   -u $(TargetName)


311. Is helper class deployed like BizTalk application?

No, it is added to GAC on the machine where it is used.

312. Why helper class/.Net assembly doesn't list in the Resources of Application, in spite of having reference to it and used in the application?

Because resources are meant to hold only BizTalk resources.

313. How helper class or .net assembly is added to GAC?

With the use of gacutil.exe and following command:
gacutil /i assemblypath /f

314. There is a .net helper class which suits to a requirement (in Orchestration) of an application but it is Non-Serializable, how can it be used?

Following are the steps:

1.       Add Reference
2.       Make Orchestration as Long running
3.       Add Atomic Scope
4.       Add Expression shape
5.       Orchestration variable of class inside scope 
6.       Instance of object inside the scope
7.       Call method

315. Cannot open BizTalk MMC?

> Go to C:\Users\username\AppData\Roaming\Microsoft\MMC
> Rename BTSmmc as BTSmmc_Old
> Now lounch biztalk administration console and now it working fine

316. How kill running host instance by command prompt?

taskkill /f /pid PIDnumber
E.g. taskkill /f /pid 12345

317. What is send port priority in BizTalk?

The priority given to the Send Port subscription (1 being the highest and 10 the lowest), the higher the priority, the faster the Send Port will get messages it has subscribed for.


318. How to put data using SQL Adapter?

We can use stored procedure or updategram to put data in SQL Adapter.

319. Is there possible to make atomic transaction as two way
communication?

No, because atomic doesn't have property to maintain persistent points.

320. When we are promote the fields as quick promote then they are stored in property schema, when we promote as distinguished fields then where the fields stored?

Distinguished Fields are written in the message context by the pipeline when a message is received on a port. Distinguished fields are written into the context using the Write() method on the IBaseMessageContext object.

321. In which case you have to use updategram and stored procedure?

If your case is the simple Add/Update-ing several rows, the Updategram give you more simple way. You completely were out of the SQL code.

SP give you more control under your data inside SQL. If you also have SPs or part of your business logic is/will be inside SQL you need use SPs. Usually we have to use SP with OPENXML.

322. How many ways to restart the host instance in BizTalk?

These are following ways to restart host instance:
1)VS 2008-->Select BizTalk project-->properties-->in deployment pane-->select host restart it true
2)go to run cmd-->type services-->select our host instance's SSO and click on restart
3)go to BizTalk admin console and select host instance and right click -->restart
4)Go to cmd prompt and type the command for host instance restart

323. If we are using single send port in two different host instances then either two copies of message will send or single copy will send to subscribers?

Only single copy will send because host instance is for load balancing purpose so that will send only to send location which is belongs to that host instance.

324. How to transfer files without using Orchestration?

Yes, go to BizTalk administration console and create the receive port and create the send port.
in the send port configuration wizard, in the left pane, there is tab called filters which is used to provide subscription information to BizTalk msgbox, that tells the msgbox,"if any information comes on a particular port, please send that information to me there is a filter property is there

bts.receiveportname="ReceivePortName"

So whenever the msg is dropped to receive location configured with receive port, it comes to BizTalk msgbox db, msgbox db sends the message to send port based on subscription information.

325. How orchestration gets the message from message box?

By using publish and subscribe method

326. How to create dynamic ports?

The dynamic port property is available only while creating a send port. The simplest way to create a dynamic send port by is by selecting the "New configured port" option in the orchestration designer port window.

Select the send port binding property as "Dynamic in the configuration wizard. You can also specify the pipeline to be used in the port. The Dynamic send port will be created as well as a physical port will be automatically created once you deploy the application. Bind the orchestration logical port and physical send port.

Create an expression shape or message assignment and set the address where the files are to be submitted example:
Microsoft.XLANGs.BaseTypes.Address="FILE://F:\\OUTPUT\abc.txt";

You can also promote a schema element and assign its value in a variable and pass it as address information so that the file location can be selected at run time depending on the values in the element.

327. How and why you have to use Active Directory in BizTalk development?

it’s all depends on sort of deployment, in case of single box hosting sql and BizTalk services then absolutely no need of active directory which is mostly happens in development environments, but AD importance coming in to the picture in enterprise deployments where you have BizTalk group, sql on separate boxes, more important when you want to have cluster for high availability and
performance scalability. Because the service user accounts and service group credentials are used across the network and group of computers and which is maintained in common repository called AD on windows platform.

328. In BizTalk development where and how you have to use custom developed .NET components?

Can have custom functoids, custom pipelines, custom adapters, custom way of calling BRE, calling external .NET assemblies.

329. In How many ways Orchestrations provide Subscription information to Message Box?

There are two ways to provide subscription to message box from Orchestration:

1) Direct Binding: In this case message from Orchestration is directly bound to message box and context property is written over the message for any SPID (send port subscribed to message).

2) Dynamic Binding: In this case message from Orchestration is directly bound to message box and context property is written over which can include Transport type property, Transport location property along with CLSID defining the runtime subscription.

330. You have two schemas that need to be represented with the same root node and same namespace or different namespace, is it possible?

It’s possible both schemas with same MessageType but we have set respective subscription then it will identify the correct message to respective application (With help of property of pipeline i.e. DocumentSpecNames).

331. Why messages are immutable inside BizTalk?



If your case is the simple Add/Update several rows, the Updategram give you more simple way. You completely were out of the SQL code.

SP give you more control under your data inside SQL. If you also have SPs or part of your business logic is/will be inside SQL you need use SPs. Usually we have to use SP with OPENXML.


!! Keep visiting BizTalkLive !!

Comments

  1. In such cases where the video is not loading on Facebook, the user should first of all check the internet connection also the Adobe flash player should be checked it should be updated if needed also the privacy settings of the Adobe player should be checked and changed if needed. Aldo, the add ons and plugins should be checked, if nothing helps then the user should use the Facebook video downloader the experts are available at +44-800-368-9064.
    Facebook Help Number UK

    ReplyDelete
  2. Excellent data with lots of information. I have bookmarked this page for my future reference. Do share more updates.
    CCNA Course In Chennai
    CCNA Course Online
    CCNA Course In Coimbatore

    ReplyDelete
  3. Thank you for sharing .. Useful information..

    ReplyDelete
  4. A Web application (Web app) is a software that is stored on a distant server and distributed through the Internet using a browser interface. Web services are, by definition, Web application development services, and many, but not all, websites feature Web apps. according to the web

    ReplyDelete
  5. This data is excellent, packed with valuable information. I've bookmarked this page for future reference. Please continue to provide more updates.
    ccna training in chennai

    ReplyDelete

Post a Comment

Please write comment only that belongs to this blog

Popular posts from this blog

Configuring BizTalk WCF Timeout Values on a Binding

There are a number of timeout settings available in WCF bindings. Setting these timeout settings correctly can improve not only your service’s performance but also play a role in the usability and security of your service. The following timeouts are available on WCF bindings: OpenTimeout CloseTimeout SendTimeout ReceiveTimeout Open Timeout :  This property represents the amount of time a channel open operation has to complete. Send Timeout :  Use this property to set the amount of time that a send operation has to complete. When used as part of a solicit-response scenario, this value encompasses the total amount of time for the interaction to complete. If we are sending a large message, we may need to increase this timeout to allow for the request and response messages to be processed within this window. Close Timeout :  A time-stamp that is used to indicate the amount Receive Timeout :  Used by the Service Framework Layer to initialize the session-idle timeo

PowerShell Script to enable BizTalk Receive Location

We are facing problem in BizTalk server 2016 that few of running SFTP Receive location would be stopped after some time due to sftp connectivity issue of their threshold so I am going to share PowerShell script to enable receive location by window task scheduler. Before execute following script Please do following task a. Set Server name in ConnectionString b. Set ( $hostname) host name value that is using in SFTP Receive location c. Set ( $rcvLocation) Receive location name # Import external assembly and create a new object [ void ] [ System.reflection.Assembly ]:: LoadWithPartialName( "Microsoft.BizTalk.ExplorerOM" ) $Catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer   #BizTalk Config $Catalog . ConnectionString = "SERVER=.;DATABASE=BizTalkMgmtDb;Integrated Security=SSPI"   #connectionstring for the BizTalkMgmtDb $hostname = "BizTalkServerApplication" #hostname $rcvLocation = "RL_GetAccReq_SQL

Step by step solution of BizTalk Two-Way WCF-SQL XmlPolling in Send Port

I am going to share most awaited Two way WCF_SQL Two Way XmlPolling so that you can easily enhance your old SQL procedure and BizTalk Map without any big change. I know there is no content available in any website to how work with XmlPolling in WCF-SQL two-way adapter. In the last of this post you can download complete source code with an example. Please follow carefully all steps – 1. Open Microsoft Visual Studio as Administrator user and Click File>New>Project… In Installed Templates click BizTalk Projects then Empty BizTalk Server Project and Name as “BizTalkLive-WCF-SQL” and click OK. 2. Now see the below picture and create all respective folders separately for Schema, Map, Orchestration, Pipeline, Binding- 3. Create Schemas in Schema folder as shown below picture to get Account request using One Way WCF-SQL XmlPolling a) Create Envelope Schema first with Target NameSpace - http://BizTalkLive_WCF_SQL.AccountRequest b) Create Second Sch

Publish a web service in biztalk using BizTalk WCF Service Publishing Wizard

Welcome you again in my Blog and let us do another mind blowing achievement that how to publish a WCF web service in BizTalk and as in previous post to Complete BizTalk project to host Schema as Web Service  so If you want to expose/publish a web service, you should run through the BizTalk WCF Service Publishing Wizard. This wizard guides you through choosing what you want to expose as a web service. This section walks you through the wizard step by step to publish WCF Web Service using  WCF-WSHttp- Step-1:  To start the wizard, go to Start, All Programs, Microsoft BizTalk Server 2016(version), BizTalk WCF Service Publishing Wizard. This fires up a welcoming screen, on which you just click Next. Consider disabling the welcoming screen for the future by checking the check box at the bottom. You will now see the screen shown in above figure. Step-2: Choose the Service Endpoint option, and choose which adapter to use. Check Enable Metadata Endpoint if you want to expose t