BizTalk Maps

Maps or transformations are one of the most common components in the integration processes. They act as essential translators in the decoupling between the different systems to connect. In this article, as we explore the BizTalk Mapper Designer, we will explain its main concepts, covering slightly themes such as product architecture, BizTalk Schemas and some of the most widely used standards in the translation of messages.

From Virtual Mapper

Maps transform messages from a source schema format to a target schema format. They are created with the BizTalk Mapper, a visual tool used to map between schemas by drawing lines from source to target and by using functoids.

Functoids are BizTalk components that provide encapsulated functionality for doing things like Boolean logic and string manipulation. The screenshot below shows the map Workplace.  

From Custom-XSLT

XSL Stands for Extensible Style sheet Language, and is a style sheet language for XML documents.

XSLT Stands for XSL Transformations.

The Built-In Functoids as shown above, BizTalk Mapper uses the XSLT as its source languages.

Using the Custom XSLT in Maps

The steps below help to create the custom XSLT and apply to the maps.

  1. Create your BizTalk map, specifying the input and output schemas.
  2. Right click your map file and Validate Map.
  3. From the Output window Ctrl-Click the resultant Xsl file to open.
  4. In the Xsl file view, right click View Source.
  5. Save this Xsl file in your project directory.
  6. Go back and open the BizTalk map from step 1.
  7. Click on the grid.
  8. In the Properties window select the Custom Xsl Path ellipsis and select the Xsl file saved in step 5.
  9. Proceed to edit your Xsl to suite your Requirement.

Reason to use the Custom – XSLT

Using the Direct XSLT (Custom-XSLT) we have the performance benefits when compared to the direct mapping.

The Custom XSLT is the best option when the mapping logic is very complex (using lot of functoids and scripting functoids) to reach our logic.

BizTalk Mapper Vs. Custom XSLT

In the past couple of months, I learnt when to use the BizTalk Virtual Mapper (Using Functoids...) and when to use the Custom-XSLT mapping.

Although, the post might be a debatable but I consider them to be a good guidelines for my future BizTalk mapping practices.

My choice is using the Custom-XSLT than using the BizTalk Mapper, once you get used to it, I guarantee you will not want to go back to using clunky visual interface ever again, the main reasons are…

  1. Performance
  2. Maintainability
  3. Complexity

1. Performance

2. Maintainability

If we have a simple map which uses no scripting functoids and some 50-100 connections will be easy to understand.

  • Just consider the map with the 1000 connections and lot of scripting functoids.
  • Is it easy to monitor?
  • To go to each scripting functoid and analyze what the operation is performed….
  • No, I don’t think it’s easy to see what the map does or maintain it.

For the more complex map as the scenario above, custom XSLT will be very good.

The Custom-XSLT is very easy to maintain when designed properly.

3. Complexity

The Complexity of the Map that is designed using the Custom-XSLT is really less when compared with the map designed using the BizTalk virtual Mapper.

Just consider the map which is very complex and requires you to have more logical pages to have a clear view. In this case, maintaining the complex BizTalk map would far outweigh the benefits of rapidly creating in the visual interface. In this case the Custom XSLT will be good choice.

My Preference

My Preference is using the Custom - XSLT which is a good choice if you are most familiar with the XSLT.
If you are not familiar with the XSLT, you need to get the good learning XSLT kit to get familiarized, to build the complicated project efficiently...

See Also

Read suggested related topics:

You can find an extensive amount of BizTalk related articles in the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.