Size matters, keep your BizTalk Map Project small

Whenever a map contains a scripting functoid that uses inline language like c#, BizTalk Map assembly is created in memory. The object in memory is not deleted until the Biztalk service is restarted. This means every mapping operation causes the whole assembly to be loaded into memory. That’s why we must keep maps and schemas in a different projects and keep map projects’ size small.
Another option is not to use inline scripts but it does not seem possible. Because
some of most frequently used fuctoids are inline scripts. You can check below table to see which functoids use incline scripts.

Functoids Inline script?
All String Functoids Yes
All Mathematical Functoids Yes
All Logical Functoids except IsNil Yes
Logical IsNil Functoid No
All Date/Time Functoids Yes
All Conversion Functoids Yes
All Scientific Functoids Yes
All Cumulative Functoids Yes
All Database Functoids No
Advanced Functoids Inline script?
Looping Functoid No
Value Mapping Flattening Functoid No
Assert Functoid No
Table Extractor Functoid No
Table Looping Functoid No
Scripting Functoid with Inline C# Yes
Scripting Functoid with Inline JScript.NET Yes
Scripting Functoid with Inline Visual Basic .NET Yes
Scripting Functoid with Inline XSLT No
Scripting Functoid with Inline XSLT Call Template No
Scripting Functoid calling External Assembly No
Nil Value Functoid No
Value Mapping Functoid No
Mass Copy Functoid No
Iteration Functoid No
Index Functoid No
Record Count Functoid No

Post to Twitter Tweet This Post

Related posts:

  1. My Performance Notes for Biztalk Server 2006 R2
  2. What is my problem with Biztalk FTP Adapter?

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">