There are two tools that I recommend to clients as soon as I arrive on site.
The first is the BizTalk 2004 Explorer Extension.
The extension is the BtsAsmExt.dll and is located in the \Program Files\Microsoft BizTalk Server 2004\Developer Tools subdirectory. This functionality is turned off by default (which is why most people don’t know about it). To enable this functionality, run regsvr32 BtsAsmExt.dll either on the run windows or from the command prompt. Once you have done this, you will see the BizTalk Server Assemblies icon in Windows Explorer alongside the drive letters.
When you click on the BizTalk Server Assemblies you will a list of all of the deployed assemblies. You can then click on each of the assemblies and you will see the BizTalk artifacts that are used in that specific assembly. These includes Orchestrations, Schemas, Maps and Pipelines. In addition, if you double click on an individual artifact, the Type Content Viewer windows pops up and will show you an XML representation.
This tool also includes additional functionality. It adds a BizTalk Server Search pane (found under the View ->Explorer Bar->BizTalk Server Search) which lets you search across the deployed assemblies for any of the BizTalk types. So, I could do a search for any schemas that are referenced by pipelines across all assemblies or Correlation Types referenced by Orchestrations found in assembly X.
The second is the BizTalk Subscription Viewer.
The BTSSubscriptionViewer.exe is a Windows application and is located in the \Program Files\Microsoft BizTalk Server 2004\SDK\Utilities subdirectory. This tool shows how BizTalk is matching the subscribers (Orchestrations and Send Ports) to the published items in the MessagBox.
When this tool is loaded you need to select Load from the Main menu before you will see any subscriptions. The tool is split into 2 sections. The top is a grid showing every subscriber and the bottom shows the filter expression information for the selected subscription. This will tell you what BizTalk is using to match in order to trigger the subscriber.
When looking at the subscribers, you will see 3 different types of subscribers as listed under the ServiceType column. There will be entries for EPM, XLANG and a GUID. The EPM is the End Point Manager which is responsible for the messaging subservice. These entries are for the messaging based subscribers. The XLANG entry is for Orchestration subscriptions. The entries where the name is preceded by Activate, represent a new instance of an Orchestration where the receive shape’s Activate property is set to true. The last type of entry is a GUID. This represents an internal subscription that deals with the CacheRefresh. There will be one of these entries for each host.