In data sincronization or entity integration scenarios developed using BizTalk Server, there are frequently situations where bi-directional maps have to be developed between two schemas: from A to B and from B to A. If these schemas are large and the maps complex, it can be quite tiresome to develop the two “symetric” maps, specially because of some usability limitations of the BizTalk Mapper in BizTalk Server 2004 (like the inability to copy&paste functoids and the time-consuming way parameters are set).
To help alleviate this problem, I developed a very simple tool that creates a reverse map from an existing one. All it does is replace the source and target schemas, and reverse the direction of all the links. I use it to produce B->A after I created A->B in the Mapper. You still have to manually check the result map and all the functoids, but at least most direct links should be correct.
The command-line tool was developed using VS2003/C#, and tested with BizTalk 2004 maps. I am not sure if the btm file format changed in BizTalk 2006, but even if it did, it should be very easy to adapt the tool to accomodate changes.
You can download the solution here. Hope it’s helpful.
[Cross-Posted de http://www.arquitecturadesoftware.org/blogs/joaomartins]