BizTalk Mapper 101The Mapper presents you with source and destination panes, displaying your source/destination schemas in a tree view.You then link source elements/attributes to destination attributes/elements, optionally using functoids to perform an operation.A large collection of default functoids are included, and you can write your own functoids if the operation you're performing isn't included.One of the functoids (the Script functoid) allows you to directly type in XSLT/C#/VB.NET/JScript or specify a .NET assembly to call to perform an operation.Additionally you can specify your own XSLT file to use if you have one (e.g. if you use Altova MapForce or Stylus Studio to maintain XSLT) - this will replace anything the Mapper would generate.HistoryThe BizTalk Mapper was originally unveiled with BizTalk Server 2000.In its original incarnation, the Mapper was a separate executable, which worked hand-in-hand with the BizTalk Editor.A developer would use the BizTalk Editor to create a specification (analogous to a schema in today's BizTalk), and then use the BizTalk Mapper to map from one specification to another.A specification was an XDR (Xml-Data Reduced) representation of a document.XDR specifications could represent DTDs, XML docs, EDI docs, flat files, etc. by noting the position of the elements within them (by comparison, BizTalk Server from v2004 onwards uses XSDs (Xml Schema Definition) to accomplish the same task).BizTalk could convert from a source format to an Xml Document (and vice versa) by referencing the XDR specification.The XSLT generated by the BizTalk Mapper would convert (map) one Xml Document into another Xml Document, and this Xml Document would then be converted into the destination format via the XDR.The BizTalk Mapper from BTS 2000/2002 would look very familiar to current BizTalk developers - most of the functoids we use are all there, as is the familiar source/destination grid:BizTalk Mapper circa 2002 (click for a larger view)Under the covers, however, the Mapper was predominantly VBScript based.Most of the functoids used VBScript to perform the functions, and the script functoid only allowed you to type in VBScript (or JScript in BTS 2002).One thing about the Mapper never changed though: it was used to generate XSLT, which in BTS 2000/2002 was consumed by the MSXML 3.0 parser to perform transforms.BizTalk Mapper in BTS 2004 / 2006 / 2006R2The Mapper present in BizTalk since 2004 still performs the same functions. In fact it looks very similar, and even has the same functoids (along with some new ones).However there are some important differences:
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.