Wednesday 17 September 2008

Where will Custome functoid be feasible than Scripting functoid?

The Scripting functoid enables you to execute custom script in BizTalk map. For example, you can call a .NET assembly by using the Scripting functoid.
The change in the assembly does not require a redeployment of BizTalk server artifacts for the modification to be applied. Additionally, by encapsulating custom logic in an external assembly, any changes to that logic will require only that the external assembly is rebuilt and redeploy to the GAC. No changes to the BizTalk Server environment (aside from the BizTalk server restart to immediately apply the changes in the redeployed custom assembly) are required. Implementing this logic in the external assembly has the addition benefits allowing reuse of the logic, minimizing code maintenance and providing access to the debugging utilities with in visual studio.

The main benefit of using a custom functoid is that the assembly is hosted with in the BizTalk environment. The actual assembly file is located with in the Biztalk program file directory, and the functoid can be added to the Functoid toolbox with in the development environment. Using generic external assemblies is sometimes a requirement, however such as when existing logic contained within them needs to be accessed directly (with out modification to the source code or assembly location). This may be the case when using third party or proprietary assemblies, where you do not have access to the source code.