Tech Blog

Affinus

Understanding the BizTalk Mapper: Part 12 – Performance and Maintainability

25 Feb 2008

In this section:Performance    Summary of Tests    Testing performance in isolation (non-BizTalk)    Performance Test Results    Measuring Memory Usage in BizTalk    BizTalk Memory Test Results    Byte Arrays    Analysing the performance results Maintainability    External XSLT    Serializable Classes    Why is it so difficult to edit code in the Script functoid?    Documentation Any large...

Understanding the BizTalk Mapper: Part 11 – Advanced Functoids

19 Feb 2008

Interestingly, all of the advanced functoids emit XSLT. No C# in sight at all. The reason for this is that the functoids in this category all perform operations best suited to trees of data i.e. XML. The only way to do this in C# would be to load the...

Understanding the BizTalk Mapper: Part 10 – Database Functoids

17 Feb 2008

This category contains both Database and Cross Referencing Functoids – but they all connect to a database to retrieve/update data. Unlike all other default functoids, these functoids all call classes/methods in external assemblies – no inline C# is emitted at all. Because of this, this is the only category...

Understanding the BizTalk Mapper: Part 9 – Cumulative Functoids

15 Feb 2008

Of the functoids in this category, only Cumulative Sum has a counterpart in XSLT v1.0 – all the others can be performed in XSLT v2.0, but not XSLT v1.0. For each functoid I’ve shown: Whether XSLT or C# is emitted Whether an XSLT equivalent exists The XSLT or C#...

Understanding the BizTalk Mapper: Part 8 – Scientific Functoids

14 Feb 2008

Yet another category which has no direct support in XSLT v1.0 or XSLT v2.0! However, given the strong support for scientific functions in .NET, it’s easy to call out to .NET classes, which is exactly what every single one of the functoids in this category does. Having said that:...

Understanding the BizTalk Mapper: Part 7 – Conversion Functoids

13 Feb 2008

Surprisingly, neither XSLT v1.0 nor XSLT v2.0 have any built-in conversion support (well, not for the scenarios represented in this category anyway). It is possible to download XSLT libraries which can do this sort of conversion (as mentioned in the notes below each functoid), but the XSLT is not...

Understanding the BizTalk Mapper: Part 6 – Date/Time Functoids

12 Feb 2008

XSLT v1.0 has no support for Date/Time values, whilst XSLT v2.0 has full support. Therefore it’s not surprising that your only option is to use C#’s rich support for Date/Time values. And this is why all of the functoids in this category emit inline C#. For each functoid I’ve...

Understanding the BizTalk Mapper: Part 5 – Logical Functoids

11 Feb 2008

Whenever I’ve looked at the XSLT generated by a map I’ve always been confused by the amount of inline C# generated by these functoids. After the String Functoids I’d say that these are the next most widely used and yet all but one of them has an XSLT v1.0...

Understanding the BizTalk Mapper: Part 4 – Mathematical Functoids

10 Feb 2008

Mathematics is not a strong point of XSLT. XSLT v1.0 has very poor mathematic support, whilst XSLT v2.0 has better support, but only by a small amount. Therefore most of the functoids in this category can only be implemented in C#. So if you want to perform a complicated...

Understanding the BizTalk Mapper: Part 3 – String Functoids

8 Feb 2008

The String Functoids are probably the most frequently used in maps (in my experience), mainly because they’re the most familiar to a procedural programmer (i.e. a C# or VB programmer). However because they all emit inline C#, they perform the slowest so if you want your maps to run...