Tag Archive for 'documenter'

HTML Generator Stylesheet for BizTalk 2004 Maps

One of the frustrations with BizTalk 2004 maps is the obscurity of functoids when viewing maps in Visual Studio. Depending on the volume of functoids in a map and/or depending on the degree of functoid chaining, easily understanding functoid usage can be impossible without diving into the functoid properties. So, I’ve written a stylesheet that transforms a BizTalk 2004 map into an HTML view containing the following information:

  • The node links between source and destination schemas.
  • All functoids used in the map are displayed with their parameters.
  • Chained functoids are displayed as nested “function” calls.
  • For HL7 schemas where source and desitnation are the same message type, links between different nodes are highlighted. The way I do this is not reliable as it depends on detecting a pattern in the root node name; looks for node names ending in ‘GLO_DEF’. Is there a more reliable way?

The other advantage to having HTML views of your maps is that HTML is a much more friendly format to share with non-developers who need to understand the transformations (e.g. testers) and who may not have access to Visual Studio.

You can download the stylesheet here. Consider it a beta version as it has not yet been fully tested (e.g. haven’t tested against all functoids, haven’t verified that all links and functoids are being reported correctly, haven’t tested against a wide variety of maps, etc).

At the moment I’m running the stylesheet using the Microsoft command line transformation utility (msxsl). Other more seamless approaches would be:

  • A right-click explorer context menu for “.btm” files that would present a menu item to transform the map into an HTML view.
  • Integration into Visual Studio so that you can choose to open a map as an HTML view (can’t remember how best to do this but I’m sure it can be done).

I’m sure there are a number of improvement/enhancements that can be made (e.g. including the functoid/link label attributes in the output). So please feel free to provide any feedback/ideas you have.

Following is a sample screen shot of an HTML view of a BizTalk HL7 map (click on the image to see the actual HTML):

Technorati Logo , , , , , ,