Project Description
BizTalk Application Comparer was created to compare different BizTalk groups to see what is different in the configuration of the environment. It compares assemblies, schemas, maps, orchestrations, ports etc and visually display the objects that are different.

Goal of this tool

This tool was created because I have to manage multiple environments for the same 'system' - and each has its own sub environment like development, integration, QA and production. Some times little changes are made to test small things in some environment and then it is forgotten or when setting up the binding files the developers might miss one small setting that could affect the functionality of an application.
The tool connects to both environments gathering environmental details. It then compares the details and display the results in a treeview with icons displaying the comparison status. You can also view the results in a report which can be exported/saved to RTF format for offline use.

What does it look like?

The main application is really simple:
BizTalkAppCompare.JPG
The report window is even simpler - but it allows you to save the output to a RTF file.
BizTalkAppCompareReport.JPG

What is compared

It is important to note this tool does not compare 'binding' details like url's for send and receive ports. It compares the base environment for installed artifacts and ports and some of their properties. The following things are checked.
  • Applications
  • Assemblies
  • Schemas
  • Maps
  • Pipelines
  • Orchestrations
  • Orchestration ports
  • Receive ports
  • Receive locations
  • Send ports

BizTalk versions

The tool is created using BizTalk ExplorerOM to connect to the BizTalk groups. This allows for it to connect to BizTalk 2006, 2006R2 and 2009. Again, like all other tools using the BizTalk ExplorerOM library the source must be compiled to 32-bit only - due to ExplorerOM 32-bit limitation. It will run on a 64-bit machine but only in 32-bit mode. It has been tested against BizTalk 2006 and 2009. Three important things to remember - 1 - The BizTalk run-time libraries must be installed on the machine where it runs. 2 - Both BizTalk groups must be of the same version of BizTalk. 3 - The version of the BizTalk run-times on the machine the tool runs must be the same as the BizTalk groups you connect to. All thanks to ExplorerOM limitations.

Still in progress

The tools is still in progress because there are many things that can still be added. It is fully working but limited to just basic visual comparisons.
My own wish list for this tool includes things like:
  • Have the ability to 'sync' settings a.k.a. change the destination value to be the same (or vice versa)
  • Compare applications of different names - even on the same group in case someone made a 'copy' for testing (still thinking about this)

Last edited Nov 12, 2009 at 11:36 AM by RudolfHenning, version 15