TechNet
Products
IT Resources
Downloads
Training
Support
Products
Windows
Windows Server
System Center
Microsoft Edge
Office
Office 365
Exchange Server
SQL Server
SharePoint Products
Skype for Business
See all products »
Resources
Channel 9 Video
Evaluation Center
Learning Resources
Microsoft Tech Companion App
Microsoft Technical Communities
Microsoft Virtual Academy
Script Center
Server and Tools Blogs
TechNet Blogs
TechNet Flash Newsletter
TechNet Gallery
TechNet Library
TechNet Magazine
TechNet Wiki
Windows Sysinternals
Virtual Labs
Solutions
Networking
Cloud and Datacenter
Security
Virtualization
Updates
Service Packs
Security Bulletins
Windows Update
Trials
Windows Server 2016
System Center 2016
Windows 10 Enterprise
SQL Server 2016
See all trials »
Related Sites
Microsoft Download Center
Microsoft Evaluation Center
Drivers
Windows Sysinternals
TechNet Gallery
Training
Expert-led, virtual classes
Training Catalog
Class Locator
Microsoft Virtual Academy
Free Windows Server 2012 courses
Free Windows 8 courses
SQL Server training
Microsoft Official Courses On-Demand
Certifications
Certification overview
Special offers
MCSE Cloud Platform and Infrastructure
MCSE: Mobility
MCSE: Data Management and Analytics
MCSE Productivity
Other resources
Microsoft Events
Exam Replay
Born To Learn blog
Find technical communities in your area
Azure training
Official Practice Tests
Support options
For business
For developers
For IT professionals
For technical support
Support offerings
More support
Microsoft Premier Online
TechNet Forums
MSDN Forums
Security Bulletins & Advisories
Not an IT pro?
Microsoft Customer Support
Microsoft Community Forums
Sign in
Home
Library
Wiki
Learn
Gallery
Downloads
Support
Forums
Blogs
Resources For IT Professionals
United States (English)
Россия (Pусский)
中国(简体中文)
Brasil (Português)
Skip to locale bar
Editing: BizTalk Developer Interview Questions and Answers - Functoid
Wiki
>
TechNet Articles
>
BizTalk Developer Interview Questions and Answers - Functoid
Article
Edit
History
Title
<html> <body> [toc]<br> <h1><a name="Introduction"></a>Introduction</h1> This article intends to cover the answers to BizTalk functoid based questions, which a BizTalk developer can face during an interview.<br> <h1><a name="Questions_and_Answers"></a>Questions and Answers</h1> <ol> <li><strong>What is functoid?</strong><span style="font-size:12.1px"><br> The term functoids refers to predefined functions within the BizTalk Mapper tool set. Functoids support a </span><span style="font-size:12.1px">number of useful translations and transformations.<br> <br> 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.”<br> <br> </span></li><li><strong>What is required for a developer to create a custom functoid?<br> </strong>Basically you need to Create a new class library project using the .NET language of your choice<strong> a</strong>nd create a classes derived from Microsoft.BizTalk.BaseFunctoids. However the easy way is to use the BizTalk MapperExtensions Functoid Wizard. See more <a target="_blank" href="http://code.msdn.microsoft.com/BizTalk-MapperExtensions-2895f528"> here</a>.<br> <br> <strong></strong></li><li><span style="font-size:12.1px"><strong>Why would a developer create a custom functoid ?</strong><br> <span style="font-size:12.1px">Below scenarios can tempt developer to create custom functoid:</span><br> </span> <ul> <li><span style="font-size:12.1px">When there is no out of box functoids which can be used to complete the logic.</span> </li><li><span style="font-size:12.1px">When the number of functoids used to implement the logic goes on increasing and becomes difficult to follow and manage.<br> <br> </span></li></ul> </li><li><span style="line-height:16px; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; color:#2a2a2a"><strong>What is the difference between Value Mapping and Value Mapping Flattening functoid?</strong></span> <span style="line-height:16px; font-size:12.1px; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; color:#2a2a2a"> <ul> <li><span style="font-size:12.1px">Value Mapping: When both the source and the destination schemas define parallel repeating structures between which the relevant data is mapped.</span> </li><li><span style="font-size:12.1px">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 unique elements in the flat structure in the destination schema.</span><span style="font-size:12.1px"><strong style="font-size:12.1px"></strong></span> </li></ul> </span><br> <br> </li><li><span style="line-height:16px; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; color:#2a2a2a"><strong>How can you build an if-then-else construction with functoids?</strong><span style="font-size:12.1px"><br> To build if-then-else it will need any of the Logical functoid (depending upon the requirements, e.g., if value is to be matched then <strong>Equal Functoid</strong>) and a Value mapping functoid. The combination (Logical Functoid and Value Mapping Functoid) will repeat, firstly to implement <strong>IF</strong> condition and secondly to implement <strong>ELSE</strong> condition. <br> </span><br> </span></li><li><span style="line-height:16px; font-size:12.1px; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; color:#2a2a2a"><strong>Is it possible to reuse method of a Scripting Functoid in other Scripting Functoid?</strong><span style="font-size:12.1px"><br> 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.</span><br> </span></li><li><span style="line-height:16px; font-size:12.1px; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; color:#2a2a2a"><strong>What is Microsoft.BizTalk.BaseFunctoids.dll?</strong><span style="font-size:12.1px"><br> This DLL implements all the base classes which are needed to create a functoid.</span><br> <br> </span></li><li><span style="line-height:16px; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; color:#2a2a2a"><strong>What are the ways to integrate custom functoid into solution?</strong><span style="font-size:12.1px"><br> Custom functiod can be integrated in solution using two ways (in both BizTalk.BaseFunctoid is derived):</span></span><span style="font-size:12.1px"><br> </span></li></ol> <ul> <ul> <li><span style="font-size:12.1px">Directly by using inline code</span><span style="font-size:12.1px"> </span> </li><li><span style="font-size:12.1px">Indirectly by reference to a method in a class library deployed into the global assembly cache.</span> </li></ul> </ul> <div> 9. <strong>What can be done using Scripting Functoid?</strong><br> Custom code or custom scripts can be added .<br> <br> <strong> 10. How many categories are functoids divided in Tool Box?<br> </strong> There are 9 categories available in Toolbox viz.,<br> </div> <div> <blockquote style="margin:0px 0px 0px 40px; border:none; padding:0px"></blockquote> <span style="font-size:12.1px"> <ul> <ul> <li><span style="font-size:12.1px"> Advanced</span> </li><li><span style="font-size:12.1px"> Conversion</span> </li><li><span style="font-size:12.1px"> Cumulative</span> </li><li><span style="font-size:12.1px"> Database</span> </li><li><span style="font-size:12.1px"> Date and Time</span> </li><li><span style="font-size:12.1px"> Logical</span> </li><li><span style="font-size:12.1px"> Mathematical</span> </li><li><span style="font-size:12.1px"> Scientific</span> </li><li><span style="font-size:12.1px"> String</span> </li></ul> </ul> </span> <blockquote style="margin:0px 0px 0px 40px; border:none; padding:0px"></blockquote> <blockquote style="margin:0px 0px 0px 40px; border:none; padding:0px"><span style="font-size:12.1px"></span><span style="font-size:12.1px"></span><span style="font-size:12.1px"></span><span style="font-size:12.1px"></span><span style="font-size:12.1px"></span><span style="font-size:12.1px"></span><span style="font-size:12.1px"></span></blockquote> </div> <div><strong> 11. Can we concatenate 200 input parameters using String Concatenate functoid?<br> </strong><span style="font-size:12.1px"> No. As the minimum input parameter accepted is 1 and maximum is 100.</span> </div> <div> <br> <strong> 12. How can we get the count of the repeating node or repeating element?</strong><br> Record Count Functoid cab be used here, the input to this is the looping record/element.<br> <br> 13. <strong>Is it possible to know the index of current record in looping structure?<br> </strong> Yes with the use of Iteration functoid. Iteration functoid gives the index of the current record in a looping structure<br> <strong> </strong><br> <br> <br> <br> </div> <span style="line-height:16px; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; color:#2a2a2a"> <div> <h1><a name="Author"></a>Author</h1> <p style="color:#2a2a2a; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; line-height:16px; background-color:#ffffff"> <strong>Maheshkumar S. Tiwari</strong><br> iVision Software Pvt Ltd<br> http://tech-findings.blogspot.com/<br> <br> </p> <h1><a name="Contributors"></a>Contributors</h1> <ul> <li><a href="http://social.technet.microsoft.com/wiki/contents/articles/7141.user-page-steef-jan-wiggers-microsoft-biztalk-server-consultant-and-mvp.aspx" target="_blank">Steef-Jan Wiggers</a> [Microsoft Integration MVP] </li><li><a href="http://social.technet.microsoft.com/wiki/contents/articles/18614.user-page-sandro-pereira-microsoft-biztalk-server-consultant-and-mvp.aspx" target="_blank">Sandro Pereira</a> [Microsoft Integration MVP] </li></ul> </div> <span style="font-weight:bold; line-height:16px; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; color:#2a2a2a"> <hr> <h1><a name="See_Also"></a>See Also</h1> </span></span> <p>Read suggested related topics:</p> <ul> <li><a href="http://social.technet.microsoft.com/wiki/contents/articles/19042.biztalk-developer-interview-questions-and-answers.aspx">BizTalk Developer Interview Questions and Answers</a> </li><li><a href="http://social.technet.microsoft.com/wiki/contents/articles/19712.biztalk-advanced-questions.aspx" style="font-size:12.1px">BizTalk: Advanced Questions</a> </li><li><a href="http://social.technet.microsoft.com/wiki/contents/articles/9014.biztalk-administrator-interview-questions-and-answers-50-q-a.aspx" target="_blank">BizTalk Administrator Interview Questions and Answers (50 Q&A)</a> </li></ul> <span style="line-height:16px; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; color:#2a2a2a"><span style="line-height:16px; background-color:#ffffff; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; color:#2a2a2a">Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is</span><a href="http://social.technet.microsoft.com/wiki/contents/articles/2240.biztalk-server-resources-on-the-technet-wiki.aspx" target="_blank" style="color:#00749e; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; line-height:16px; background-color:#ffffff"> BizTalk Server Resources on the TechNet Wiki</a><span style="line-height:16px; background-color:#ffffff; font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; color:#2a2a2a">.</span></span> <hr> <br> </body> </html>
Comment
Tags
Please add 2 and 2 and type the answer here: