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

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

3. Tell us can we concatenate 200 input parameters using String Concatenate functoid?

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

4. Tell me what does the Value Mapping Functoid do?

this functoid is used to send the second parameter as the output if the first parameter value is true

5. Tell me 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

6. Explain what are Persistence Points and what causes them?

The orchestration engine saves the state of a running orchestration instance at various points. If it needs to rehydrate the orchestration instance, 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

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

8. Do you know what is Microsoft.BizTalk.BaseFunctoids.dll?

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

9. Tell me 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.

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

Download Interview PDF

11. Tell me what is the difference between a Document Schema and a Property Schema?

Property schema consists of the elements of the document schema which has been promoted

12. Tell me what user rights to you need to perform most actions in HAT?

You must manually grant permissions to BizTalk administrators group to access the Analysis Services Tracking database; by default, only OLAP administrators have permissions to it.

13. Do you know what is Correlation? Why do we need it?

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. And each correlation is based on a set of properties known as correlation types.

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

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

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

17. BAM Based Biztalk Functoid Interview Questions:

☛ 1. What are activities ?
☛ 2. What are Views ?
☛ 3. How to capture data for your activities ?
☛ 4. What is TPE ?
☛ 5. What are the different types of event streams ?
☛ 6. What do you enable continuation ?
☛ 7. How do you ensure Transactional Integrity with Event Streams ?
☛ 8. Difference between Message and Orchestration Event Streams ?
☛ 9. What are the different sources of Data (event sources) inside TPE ?
☛ 10. How do you set permissions to a view ?

18. Pipelines Based Biztalk Functoid Interview Questions:

☛ 1. Different Stages in Receive and Send Pipelines.
☛ 2. How to develop a Custom Pipeline Component ?
☛ 3. What are the various interfaces implemented for General, Disassemble/Assemble components ?
☛ 4. How do you promote a property in pipelines ?
☛ 5. How do you debug a Pipeline ?
☛ 6. How do you validate an XML in a pipeline ?

19. Schemas & Maps Biztalk Functoid Interview Questions:

☛ 1. What are the different Types of Schemas ?
☛ 2. What is an Envelope Schema ?
☛ 3. What is a property schema ?
☛ 4. How property Schema differs from Others ?
☛ 5. How do you validate the incoming message against a particular Schemas ?
☛ 6. What are the ways to reuse Schemas ?
☛ 7. What is the difference between Importing and Including a Schema ?
☛ 8. What is a Canonical Schema ?
☛ 9. What is a Context Property ?
☛ 10. Are all Context Properties promoted ?
☛ 11. What happens if promoted property is not filled ? Will an exception be thrown.
☛ 12. What is the difference between Message Context Property Base and Message Data Property Base in Property Schema ?
☛ 13. How can you deploy 2 schemas side by side ?
☛ 14. Difference between Value Mapping and Value Mapping Flattening Functiods.
☛ 15. What is Auto Mapping Feature ?
☛ 16. Database Functoids.
☛ 17. Table Looping Functoids.
☛ 18. Cross Reference Functoids.
☛ 19. Difference between Value and ID Cross Reference Functoids ?
☛ 20. What is Part Context Property Base ?
☛ 21. Are Message Context Property Base Elements Promoted ? (No)
☛ 22. Can we have multiple versions of Schema within a pipeline ?
☛ 23. Difference between Index and Iteration Functoid ?
☛ 24. How do you call an external assembly from Map ?

20. General Biztalk Functoid Interview Questions:

☛ 1. Explain the Architecture of BizTalk Server.
☛ 2. What is a Messaging Agent ?
☛ 3. BizTalk Server is Very Costly. Why do you go for it.
☛ 4. Advantages of using BizTalk Server.
☛ 5. Why BRE ? What are the Advantages over Other Tools as it is very costly for Clients?
☛ 6. What is a Host?
☛ 7. What is a Host Instance ?
☛ 8. How do you run a Host Instance in a different Server ?
☛ 9. Difference between Inprocess and Isolated Host ? Why is Isolated Host required ?
☛ 10. How do you set the Host as Send/Receive Handlers ?

21. Deployment Based Biztalk Functoid Interview Questions:

☛ 1. How do you deploy your application to Test Server ?
☛ 2. How do you deploy your application to Production Server ?
☛ 3. What are deployment scripts ?
☛ 4. What is a Binding File ?

22. Orchestrations Based Biztalk Functoid Interview Questions:

☛ 1. What is an Orchestration ?
☛ 2. Read about each and every shape used in Orchestration. Specifically – Parallel, Listen, Compensate
☛ 3. Transactions in Orchestration.
☛ 4. Difference between Atomic and Long Running Transactions.
☛ 5. How to handle Delivery Failures ?
☛ 6. How do you ensure FIFO ?
☛ 7. Different Orchestration Patterns.
☛ 8. What is an Orchestration Instance.
☛ 9. How can you build a Singleton Pattern in Orchestration.
☛ 10. Convoys.
☛ 11. Race Condition and Zombie /Orphaned messages.
☛ 12. How can you deploy 2 Orchestration side by side ?
☛ 13. How do you update a deployed Orchestration with 0 or Less downtime.
☛ 14. How do you debug an Orchestration ?
☛ 15. How do you trace the messages processed by an Orchestration ?
☛ 16. Difference between call and start Orchestrations
☛ 17. Direct Binding ?
☛ 18. What are dynamic ports. How will you dynamically set the port.
☛ 19. Can we have dynamic send and receive ports ?
☛ 20. How do you consume a web/wcf service in an Orchestration ?
☛ 21. What are Persistence points ?
☛ 22. How do you count the Number of Persistence Points ?
☛ 23. What is Correlation ?
☛ 24. What are subscriptions ?
☛ 25. Which shapes will yield persistence points ?
☛ 26. How do you enable FIFO ?
☛ 27. What is a Multipart Message ? How do you use that ?
☛ 28. What is the use of Compensate shape ?
☛ 29. Assume you are using Transactions in your Orchestration. How do you set Timeout incase if you dont receive a response from an external system ?
☛ 30. What is XPath ? How can you use that ?
☛ 31. Difference between using XPath and using Distinguished fields.
☛ 32. Can you control the number of instances created for an Orchestration ?
☛ 33. How do you execute a Pipeline from an Orchestration ?
☛ 34. What happens when to try to use the Promoted Propery whose value (missing element/node) is not present in the message ? (Missing Property Exception)
☛ 35. How do you test the existence of a Promoted Property before using it ?
☛ 36. How do you ensure that a message is delivered to the destination ?
☛ 37. How do you call a non-serialazable class from an Orchestration ?
☛ 38. Advantage of having an Atomic scope.

23. Adapters Based Biztalk Functoid Interview Questions:

☛ 1. Difference between File and FTP Adapters.
☛ 2. Difference between SQL Receive and Send Adapters.
☛ 3. What is an updategram ? What is a Before and After Block in Updategram ?
☛ 4. How do you consume a WCF Service ?
☛ 5. How do you expose your artifacts as a service ?
☛ 6. What is the difference between exposing an Orchestration and Schema as a Service ?
☛ 7. Consider the Scenario – Everyday, you receive Updates for your BizTalk Hosted Application. You need 30min to perform the Updates. How do you handle this without having any downtime ?
☛ 8. What are the different modes of copying in Send File Adapter ?
☛ 9. What are the two methods in which File Adapter runs ?
☛ 10. What is the Advantage of Using Temporary Location for File Adapters ?
☛ 11. What are the various macros available for a File Adapter ?
☛ 12. How do you rename the Output File of a File Adapter ?

24. Tell us how many categories are functoids divided in Tool Box?

There are 9 categories available in Toolbox viz.,
☛ Advanced
☛ Conversion
☛ Cumulative
☛ Database
☛ Date and Time
☛ Logical
☛ Mathematical
☛ Scientific
☛ String

Download Interview PDF