BizTalk Interview Questions - Latest Updated
1. What is BizTalk?
Answer: Biz Talk is a Business Process Management server from Microsoft. It is a message based integration tool. Biz Talk enables large enterprises to automate and integrate business processes. This process is done by using adapters that are tailored for communicating among various software systems in an enterprise. It provides functions like Business Process Modeling, Business-to-Business communication, Message broker, EAI, Process automation. Biz Talk enables enterprises for integrating and managing business processes by exchanging various documents such as PO (Purchase Order), Invoices within and across boundaries of enterprises. MS Visual Studio supports development for the Biz Talk server.
2. What is the BizTalk business process configuration?
Answer: We can set parameters for an orchestration that implements a business process, which professional analysts might not be able to create, as they are used to practice with traditional methods. Parameters for creating an orchestration can be defined to enable developers to configure it. An information worker sets the parameters using TPM services by specifying their values in the agreement.
3. List the persistent Points?
Answer:
Following is the list of persistent points:
1. Orchestration instance is suspended or finished
2. System shutdowns in a controlled manner
3. The engine determines it wants to dehydrate
4. Atomic or long-running transactional scope ends
5. At debugging breakpoints
6. Execution of other orchestrations through the start orchestration shape
7. At the send shape.
4. What are the different types of BizTalk Schemas?
Answer:
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 the BizTalk Server for what is known as property promotion. Property promotion is the process of copying specific values from deep within an instant 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 instant message, just before the instant 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 instant message and the message context.
5. What is the difference between static, dynamic and direct binding?
Answer:
- Static binding specifies a port address,
- Dynamic gives the address of the port at runtime,
- Direct binding sends messages to the message box.
6. How does one enable subscriptions in BizTalk?
Answer: A filter on the Send Port is the first step to enable subscriptions in BizTalk.
7. What Is Direct Binding In Biztalk Server?
Answer: Sending messages from one orchestration to another is done by using the Direct Binding technique. It is also being used for sending messages directly into the message box. It is used in publish and subscribe system in BizTalk for sending messages among orchestrations.
8. Define Content-based Routing?
Answer: Content-based routing provides flexibility for users who want to route messages based on envelope properties or on receive port configuration properties. Routing can be performed based on information contained in the envelope of the document or even configuration information from the receive location.
A BizTalk Server business process involves receiving, processing, and sending messages. Some messages do not require intensive processing in an orchestration. They can benefit from a simpler and more efficient solution called Content-based routing.
9. Does BizTalk support synchronous communication?
Answer: BizTalk Server architecture is asynchronous for scalability reasons. However, the architecture of the BizTalk Messaging Engine enables exposing an asynchronous 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 several asynchronous message exchanges to expose the asynchronous interface.
10. What is atomic Transaction?
Answer: 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.
11. What is the correlation?
Answer: An Orchestration can have more than one instance running simultaneously. Even though each of those multiple instances performs the same action, it does it on different data contained within a message. Correlation is a process of associating an incoming message with the appropriate instance of an orchestration. For Example: If your orchestration issues a purchase order, receives an invoice, and sends a payment, the developer must make certain that the invoice message is received by the orchestration instance which corresponds to the orchestration that sent the Purchase Order. Without correlation, it would be possible to send out an invoice for thousands of items even though the purchase order is for one.
12. Is it possible to use Message Assignment shape and Transform shape individually?
Answer: No, it is not possible, Transform and Message assignment shape must run under construct shape.
13. How can we check what’s going on inside BizTalk Server?
Answer: The group hub gives the user an overview of what is currently going on inside BizTalk.
14. What has been your most difficult challenge in implementing Biztalk applications in the real world?
Answer: I think with BizTalk things were not THAT challenging but with legacy systems things were. Like calling a web service from oracle, or getting a LARGE object from orchestration into an oracle. And things like that.
15. Why do we need convoy?
Answer: 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 that handles all the 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 that 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 supposed to process the message hasn’t started yet (ie 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.
16. What could be the reason for having multiple receive locations inside one Receive port?
Answer: 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.
17. When do Error Report properties get promoted?
Answer: 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. Error Report. Error Type, Error Report. Receive Port Name etc.
18. What is direct binding?
Answer: port bindings: Your orchestration can communicate directly with another orchestration by using direct binding. In this case, the message is processed internally by the engine, and no external transport of the message takes place.
Charles young has a great article about this topic BizTalk Server 2004: Direct Binding models in BizTalk, I recommend you to check it out.
19. What are Persistence Points and what causes them?
Answer: The orchestration engine saves the state of a running orchestration instance at various points. If it needs to rehydrate the orchestration instance, a start-up from a controlled shutdown, or recover from an unexpected shutdown, it will run the orchestration instance from the last persistence point, as though nothing else had occurred.
on the following link, you can read more about persistence.
20. What Is Promoted Property In Biztalk Server?
Answer: The promotion of Prompted Fields/Properties is done in the message context by a pipeline called receive pipeline at the time when a message is received on a port. This task is performed by dis-assembler pipeline component (XML or a flat-file dis-assembler). In addition to it, a custom pipeline component could also be performing it.
21. What is the lifecycle of a Message in the BizTalk server?
Answer: A message is received through a receive location defined in a given receive port. This message is processed by the pipeline associated with the receive location, and if there are any inbound maps associated with the receive port they are executed. The resulting message is then published to the MessageBox database. 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.
22. What is Property Promotion and why is it required?
Answer: 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.
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.
23. What is BizTalk MessageBox Database?
Answer: The heart of the publish/subscribe engine in the 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.
24. What is BizTalk Pipeline?
Answer: BizTalk is a message-based system receiving and sending data inside messages. Sometimes the incoming and outgoing messages must be processed to fit 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.
25. What Is Bam In Biztalk Server?
Answer: Business data and process milestones are captured by Business Activity Monitoring(BAM), which is a module in BizTalk. Business decision-makers are allowed by BAM for gaining insight into their in-flight process.
26. What Is Message Type (i.e. Bts.messagetype) In Biztalk Server?
Answer: Messages in BizTalk are data, and each message must be of a selected message type. E-mail, Documents, Info-path forms, large binary files, SQL records, flat files, and anything XML can be processed as messages. BizTalk is all about messages and message-oriented programming. The most common message type in Biz-talk is a schema.
27. How can you programmatic submit messages to BizTalk?
Answer: In previous versions of BizTalk you could easily submit messages to BizTalk using the interchange. Submit. In BizTalk Server 2004 there is no trivial way to submit messages.
However, you may use the Transport Proxy interfaces to submit messages. There is an SDK sample showing how to programmatically submit documents into the product if you don’t want to write a full-blown adapter: \Program Files\Microsoft BizTalk Server 2004\SDK\Samples\Adapters\SubmitDirect
28. What are un-typed messages, how does one create them?
Answer: When 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. XML Document instead of a schema. Thus, an un-typed message is one whose message type is set to “XML Document” in an orchestration.
Alt:
- A typed message is bounded to a schema that is created in BizTalk Orchestration.
- An un-typed message is bound to XML document instead of a schema – System. XML. XML Document
29. What is a link in a Map?
Answer: 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.
30. What is a long-running transaction?
Answer: Long-running transaction supports CD properties of ACID. It is not practical to lock transactions for a long time. This transaction can run indefinitely and can be dehydrated also.
31. Can an envelope schema consist of more than one schema type?
Answer:
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 XML documents. 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 instant 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.
32. What is meant by Virtual Directory? Why do we use it?
Answer: The publishing wizard publishes service at IIS (isolated host) in the virtual directory (the directory at which schema reference is given and config file for this). this is also called a service end where we receive messages.
33. In which scenarios, would use a “promoted property” vs “distinguished fields”?
Answer: 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.
34. What is the difference between Windows Workflow and BizTalk server? Explain the scenarios?
Answer: I want to put a definition around BizTalk to make it easier to compare to Windows Workflow. BizTalk Server is an enterprise-level workflow and message processing environment. This environment is tried and tested (extremely rigorously over the last many years). BizTalk also includes many adapters to connect to a variety of back end systems. Out of the box, BizTalk provides scalability, manageability, tracking, logging & administration tools.
Windows Workflow is an SDK for creating workflow-based applications. The tools are there to build a host and to render a graphical workflow environment. Scalability is possible with Windows Workflow but it is up to the developer to create a truly scalable solution. In addition, there are administrative functions through runtime and tracking visibility but there is not an out of the box administration tool as this is also up to the host developer to create.
The message that I tell people is to use BizTalk when you want to target users/clients that want to span multiple applications whereas Windows Workflow would be used when you want to target users/clients that want workflow within an application.
So, to summarize, Windows Workflow is great for workflow within an application whereas BizTalk is great for workflow across applications.
35. What are the Hosts and Host Instances?
Answer: A host is a logical representation of a Microsoft Windows process that executes BizTalk Server artifacts such as to 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.
36. Can the schema have multiple root nodes?
Answer: 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.
37. Is it possible to include and import in a single schema?
Answer: Yes, it is possible, both are the ways to utilize already existing schema. The only condition is the schema that is included should have the same Target Namespace or no namespace.
38. What kind of transformation can we accomplish using maps?
Answer: 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 different document, we may miss important details of its reconstruction.
39. Where is information about promoted properties stored?
Answer: The information about the promoted properties is extracted and stored in the bts_DocumentSpec table in the Management database.
40. What is XLANG and where it is used?
Answer: 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 to receive or send, and complex statements that contain or group either simple statements or other complex statements, such as scope, parallel, and listen. The semantics embodied in XLANG/s are a reflection of those defined in the Business Process Execution Language for Web Services (BPEL4WS) specification published by Microsoft, IBM, and BEA for the definition of business process semantics.
41. What is Message routing and Content routing?
Answer: 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 values of schema, it is called content routing.
42. What are grid pages and how many can we have?
Answer: 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 instant 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.
43. Design patterns in Orchestration?
Answer: 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.
See TechNet Wiki articles BizTalk Server 2010:
Orchestration Patterns and BizTalk: Enterprise Integration Patterns.
44. Described The Purpose Of Bam In Biztalk Server?
Answer: Purpose of deriving up-to-date metrics and key performance indicators from the BAM databases, Business Integration tools are used.
The forecasting of process trends by uses and monitoring processes in real-time scenarios is done by using BI tools. Users get alerts for situations which need their intervention for preventing undesirable outcome for encouraging beneficial results, a mechanism is provided by BAM.
45. What is direct Binding in Biz Talk Server?
Answer: Direct Binding is the process through which messages are sent from one orchestration to another. It is also utilized for sending messages into the message box. It is indispensable in the Microsoft’s publish and subscribe system in BizTalk for sending messages amongst orchestration.
46. What Is Distinguished Field In Biztalk Server?
Answer: A pipeline is used to write Distinguished Fields in the message context when a message is received on a port. Dis-assembler pipeline component such as XML and flat file disassemble does the job of writing the message context by the pipeline. In addition to it, a custom pipeline component could also be performing it.
47. How To Change The Message Type?
Answer:
1. Before jumping in to do as the error message suggests, let’s think for a moment about what that requires
2. Inspect every Receive and Send shape to determine if it uses a Message variable that’s associated with the schema you want to change.
3. It’s not a good practice to create a single orchestration with so many Receive/Send shapes
4. Delete Port connection, once you find all the Receive Send Shapes.
5. Change the message variable so that the message type property is set to the new schema and then re-associate the message variable with each Receive/Send shape.
6. Find all the port Types that are associated with ports you disconnected from Receive/ Send shapes and reset their operation’s message Type Properties.
7. Use a Multi-Part Message Type to wrap the underlying schema. It’s flexible and saves time in the long run.
48. What is Single Sign-On (SSO)?
Answer: 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.
49. What are the adapters? What do we need it?
Answer: Adapters can simply be termed as a medium with which BizTalk communicates with other software, processes, and information together.
50. What are the communication patterns available in BizTalk?
Answer: 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.
51. What is the purpose of an envelope schema?
Answer: 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. See MSDN Different Types of BizTalk Schemas.
Note: Browse latest Biztalk Interview Questions and BizTalk Tutorial. Here you can check BizTalk Training details and Biztalk Training Videos for self learning. Contact +91 988 502 2027 for more information.