BizTalk Interview Questions and Answers
1. What is Rehydration?
Answer: When a message is received, or else when a timeout has expired, the orchestration engine can be automatically triggered to rehydrate the instance – it is at this point that the orchestration engine loads the saved instance of the orchestration into memory, restores the state, and runs its from the point it left off.
2. How to route binary data?
Answer: 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.
3. What Is Trading Partner Management In Biztalk?
Answer: Information workers Manage trading partner relationships within organizations. Business Activity Services include a Trading Partner Management (TPM) component to allow them to do those. TPM database stores information about trading relationships. Information workers can create and modify agreements with trading partners who use
4. What is the difference between a Document Schema and a Property Schema?
Answer: A document schema is used to define a message. It is a definition on an Xml message with optional extensions for flat files, EDI files, 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 Message Data Property Base (the property value is promoted or demoted from/to the message itself) or Message Context Property Base(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.
5. What are the execution modes in a pipeline Stage?
- A stage in a pipeline has an execution mode of either “All” or “First Match”, which controls the components that get executed if more than one component is added to a stage.
- For stages with a mode of “All”, each component is called to process the message in the order in which they are configured in the stage.
- For stages with a mode of “First Match”, each component is polled to indicate that it is the right component until a match is found, at which point the component that matches is executed, while the remaining components do not get executed.
6. Describe the persistence points?
1. The procedure of saving your running orchestration states ate a certain point is called persistence.
2. Orchestration Engine persists a running instance that is based on the design of orchestration.
3. There are few events or stages which triggers the persistence operation called persistence points.
7. What is the difference between Property Schema and Document Schema?
Answer: A Documents schema is used to define a message. It is a definition of an XML message with optional extensions for flat files. EDI file, etc, that’s enables the parsers to convert the native format into XML. A Property schema is used to define messages contexts properties. This can be of type Message Data Property Base (the property value is promoted or demoted from to the message itself) or Message Context Property Base (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 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. What is the message type in the BizTalk server?
Answer: Messages in BizTalk are data and each message must be of a selected message type. E-Mail, Documents, Info Paths form, 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 BizTalk is a schema.
9. What is a business Orchestration Dehydration and Rehydration Process?
Answer: Dehydration is a situation when the orchestration has been idle for a while, the orchestration engine will save the state information of the instance and free up memory resources
Rehydration is a message when received or else when a timeout has expired, the orchestration engine can be automatically triggered to rehydrate the instance – it is that 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.
10. What is Dehydration?
Answer: 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.
11. What is property promotion, why is it required?
Answer: When a property is Promoted, it is exposed to the orchestration/send port filters, etc.
12. When you use Call Orchestration shape vs Start Orchestration shape?
Answer: A Call Orchestration returns the control to the caller. A Start Orchestration shape starts the orchestration in a non-deterministic way.
13. Does the Biztalk Framework Is An Open Framework?
Answer: The BizTalk Framework is an open framework for B2B exchange, It is implemented across all major platforms and most major B2B products.
14. What Is a Biztalk Framework?
Answer: The BizTalk Framework is a set of guidelines for driving the consistent adoption of XML to enable e-Commerce and application integration. It is initiated by Microsoft and supported by a wide range of organizations.
15. What Is Correlation In Context Of Biztalk Server?
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. And each correlation is based on a set of properties known as correlation types.
16. What Is Biztalk Orchestrations Dehydration And Rehydration?
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.
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.
17. What is a BizTalk Application?
Answer: A BizTalk application is a logical grouping of the items, called “artifacts”, used in a BizTalk Server business solution.
Artifacts include the following:
1. BizTalk assemblies and the BizTalk specific resources that they contain – orchestrations, pipelines, schemas, and maps
2. .NET assemblies that do not contain BizTalk specific resources
4. Send ports, send port groups, receive locations, and receive ports
5. Other items that are used by the solution, such as certificates, COM components, and scripts
18. What is the Rules Engine?
Answer: Orchestration Designer, together with BizTalk Editor and BizTalk Mapper, is an effective way to define a business process and the rules it uses. Over time, however, the rules specified in orchestration can change. The decisions embedded in a business process—the business rules—are commonly the most volatile. For example, a manager’s spending limit might change, or a customer’s maximum allowed order might change. You need a way to define and change business rules. To meet this need, BizTalk Server 2004 provides the Business Rule Engine to enable you to directly create and modify sets of business rules. These rules are created by using a tool called the Business Rule Composer and then executed directly by the engine. This technology is new in BizTalk Server 2004. Business Rule Engine.
19. What are binding files?
Answer: Binding files in BizTalk is an XML file that contains information to receive send ports in their locations. It is usually used when you make a deployment. We make MSI separately without bindings.
20. What is BizTalk Pub-Sub architecture?
Answer: Fundamental to BizTalk is the Publish / Subscribe Architecture. This architecture 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 the 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 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.
21. What is the BAM portal?
Answer: 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.
22. Which language does expression shape support?
Answer: Expression shape allows for writing XLANG/S statements that provide C# like coding capabilities.
23. How do you call a nun 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.
24. What is the Host and Host Instance? Did you deploy BizTalk more than one machine?
- The host is nothing but the logical container of the host instance. from which we can create a host instance. The host instance is a Win NT service.
- A BizTalk Server Host is a logical set of zero or more BizTalk Server run time processes in which you deploy items such as adapter handlers, receive locations (including pipelines), and orchestrations.
- A host instance is a process where the message processing, receiving, and transmitting occurs You install a host instance on each server running BizTalk Server 2006 that has one or more hosts mapped to that server.
25. Where and how did you use WebServices in Orchestration?
Answer: We can use web services where we need to get data from multiple sources in one go. E.g. getting price quotes from 10 different vendors. You make one orchestration and use WS inside it.
26. Is it possible to have various ports with the same name in two applications?
Answer: No. The names of the various ports must be unique, not just inside an Application but for the whole BizTalk group.
27. In how many ways can we do the BizTalk Application deployment?
Answer: 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.
28. What can be done to avoid loss of messages in a scenario where we know beforehand the unavailability of the destination system, but the source system is publishing messages?
Answer: In this scenario, we can stop the send port bound to the destination system. This way the messages will lie in a queue inside the Message box. Subsequently, we can start the send port when the destination system is available.
29. Define the Biztalk Server Rules Engine?
Answer: A rules engine is a software system, which is used for executing one or more business rules in a dynamic production environment. The rules might be from legal regulation, company policies or any other resources.
30. On What Biztalk Server 2000 Is Based?
Answer: BizTalk Server 2000 is based on the BizTalk Framework. It provides the infrastructure and tools to enable B2B eCommerce and process integration.
31. What Is Messagetype In Biztalk Server?
Answer: BizTalk sets a message context property called BTS. Message Type. This is a concatenation of the document namespace and Root Node Name in other words Message Type is a BizTalk System property that is promoted inside a Pipeline. It is made up of Document Name Space and Root Node Name.
32. What Is the Biztalk Server?
Answer: Biztalk is a messaging-based integration tool. It consists of several tools like Business Processes (Orchestrations), Business Activity Monitoring (BAM), HAT (Health and Activity Tracking), Rules Engines, BizTalk Server Administrative Console, etc.
BizTalk Server 2006 R2 builds upon the Business Process Management and SOA/ESB capabilities and address core challenges found in key vertical industries such as manufacturing and retail. Native capabilities of BTS R2 include support for Electronic Data Interchange (EDI) and AS2, Windows Workflow Foundation, WCF as well as RFID.
BizTalk server 2006 R2 application can be created using Visual Studio 2005 provided BizTalk Server SDK is installed into the system. A standard BizTalk Server application consists of Schema, Mapping, and Orchestrations.
The heart of the BizTalk Server application is a schema that is used to define the message format of source and destination data.
BizTalk Server can talk with any kind of legacy system as it only understand the plain text data (in the form of XML), to talk with different systems it has several inbuilt adapters like SQL Adapter, MSMQ Adapter, SMTP Adapter, File Adapter, SOAP Adapter, etc.
33. Can a flat-file message be processed without a pipeline?
Answer: A Pipeline’s job is to convert any external format into XML, be it a flat-file or EDI or anything else.
34. What is the difference between a delay shape vs a listen to shape?
Answer: A ‘Delay’ is very much like a sleep on the current thread. A ‘Listen’ shape is used to wait for an incoming resource, with a timeout period.
35. What is the difference between a “Message Assignment” shape and an “Expression” shape?
Answer: A “Message Assignment” shape is used to create a new message and assign values to it. An Expression shape is used to assign values to variables and also write ‘if’ conditions.
36. Define The Biztalk Server Convoy And Correlation Sets?
Answer: The BizTalk server detects the potential for certain race conditions, which are ensured that all correlated messages are received by the same orchestration instance. The potentiality of these race conditions is detected by the BizTalk server.
These messages are treated as a ‘convoy’. A convoy set is a group of correlation sets. All such subsequent messages which match the general subscription are evaluated against the convoy set, and the matched convoys are routed to an existing port.
37. List The Persistence Points?
Following is the list of events (Persistence Points) that call the persistence operation:
- Orchestration Instance is suspended or finished
- System shutdowns in a controlled manner
- The engine determines it wants to dehydrate
- Atomic or long-running transactional scope ends
- At debugging breakpoints
- Execution of other orchestrations through the Start Orchestration shape
- At the Send shape (but not atomic)
38. What Biztalk Provides?
Answer: BizTalk provides cost savings when used in internal IT projects and can be used in externally focused solutions too.
39. What Is The Difference Between Distinguished Field And Promoted Property?
- Promoted properties can be accessed in Orchestrations, ports, pipelines, schemas.
- Use server resources.
- Distinguished fields are lightweight and can be accessed only in Orchestrations.
40. What is a Message Type (i.e. BTS.MessageType) and how is it used in BizTalk?
Answer: Message types are messaged content properties (metadata) used for filter creation on send ports and orchestrations subscription criteria is queried against this metadata, these properties are promoted for the messaging engine. on this particular case BTS.MessageType is promoted by the disassembler pipeline during message parsing and specifies the message type (defined as document schema namespace + document root node).
41. When working with Schemas, Maps, Pipelines, and Orchestrations how should the projects be structured?
Answer: In theory, you must separate project assemblies by orchestration/schemas + maps/custom pipelines to reduce GAC dependency and future binding problems, Alan Smith has a very interesting article BizTalk Server Modular Deployment worth reading.
42. What user rights to you need to perform most actions in HAT?
- You must manually grant permission to the BizTalk administrators group to access the Analysis Services Tracking database; by default, only OLAP administrators have permissions to it.
- on Microsoft® BizTalk Server 2004 UNLEASHED you can find a good resource on Biztalk tracking.
43. What is the Correlation? Why do we need it?
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, receive an invoice, and sends a payment, the developer must make certain that the invoice message is received by the orchestration instance which corresponds to the orchestration that sent the Purchase Order. Without correlation, it would be possible to send out an invoice for thousands of items even though the purchase order is for one. And each correlation is based on a set of properties known as correlation types.
44. In the Orchestration what is the difference between Exception and Compensation?
Give an example of its usage scenario:
The 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 the catch block.
Compensation is like you made a transaction where u debited customers’ accounts. Now you will do the exact opposite meaning crediting with the same amount and the same account.
45. What is the difference between a Distinguished field and a Promoted Property?
- Distinguished fields are lightweight 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.
46. What is Fact Explorer of Rule composer contains?
D. .Net Assemblies
47. Where does XSLT come into the picture in BizTalk?
Answer: When a developer faces a complex mapping (problem) and to solve it requires a substantial amount of logic he/she can use custom XSLT.