There have been some great posts so far on the new features included in BizTalk Server 2009 beta. For example: Richard Seroter’s overview of new features, Michael Stephenson’s BizTalk Testing Guide on 2009, Steef-Jan Wiggers’s building a sandbox, and so on… So on this post I would like to focus on the changes to viewing tracking and archived data.
In BizTalk 2009 the Health and Activity Tracking (HAT) tool is at long last gone. R.I.P. Well, sort of, the executable still exists on the BizTalk installation folder and is called by the Admin Console for its orchestration debugger and message flow screens. So, how do you query for tracked and archived data in BizTalk Server 2009? All that functionality has moved to the BizTalk Administration Console. This is a very logical move: why would you keep all this operational functionality on different tools?
So, let’s start from the basics. After messages have been processed, open the BizTalk administration console and select the BizTalk Group, then click on the “New Query” tab. From the “Value” drop down you can see the following two new searches: “Tracked Message Events” and “Tracked Service Instances”.
Tracked Message Events
Tracked Message Events will give you information from the messaging system on messages that went through pipelines and orchestrations, with useful event information in the results:
The default order of this query is by Timestamp descending like in other queries, making it very easy to follow a message path between pipelines and orchestrations. Of course you can also click any of the columns to reorder the results, as well as drag and drop columns to reorganize them as per the Admin Console default.
Once you select "Tracked Message Events” there are a few options in the field name filters, including the usual suspects like creation time, maximum matches, and others. If you select “Schema Name” the Value drop down will give you a list of schemas that have been tracked, and the field name that said <Select a Schema Name for Tracked Properties> before will now change to <Tracked Properties for Selected Schema> and you get a list of tracked properties for this schema, which you can then filter on:
Note from the print screen that the PO_Number tracked property I chose now shows up on the results as well.
If there aren’t any tracked properties for the schema you get a <No Tracked Properties for Selected Schema> in the dropdown:
More information: How to Search for Tracked Message Events
An interesting result column in this search is Event Type, which can have a value of Receive or Send:
- For a receive pipeline this value will show Receive if the message arrived at the pipeline from outside BizTalk through an adapter, and Send if the pipeline is sending the message to the BizTalk message box.
- For a send pipeline this value will show Receive if the pipeline received the message from the message box, and Send if the pipeline is sending the message to an adapter.
- Very straightforward, for orchestrations this value will show Receive if the orchestration is receiving the message from the message box and Send if it is sending it to the message box.
- Note: read the BizTalk runtime architecture on the BizTalk 2009 help to understand the flow of a message through BizTalk. This will help with understanding why a receive pipeline has both receive and send message events.
If your message content and properties were tracked you can double click on it or right click and select “Message Details” to see its details, context and message part bodies – no need to save the message body to file to see its contents anymore!
Right clicking and selecting “Message Flow” will show the same HAT screen for the message flow from previous versions of BizTalk:
You can also right click on a message instance and select “Show Tracked Service Instances” to get a new query tab with the Tracked Service Instance filtered to the pipeline or orchestration that handled that message:
If the message is still being processed and hasn’t been moved to the tracking database you can right click and select “Show Live Message” to get the message information.
Tracked Service Instances
This query will give you the tracked instances of pipelines and orchestrations that were executed by the BizTalk engine, their duration, assembly name and version, any errors that occurred during processing, and the time they were deployed:
You can then right click on any of these instances and select “Show Tracked Message Events” to get the messages associated with this instance in a new Query tab:
The right click menu also gives you the option of showing live service instance information if it is still running, getting the message flow screen, and, for orchestrations, opening the orchestration debugger:
Reporting on Archived Data
In HAT on previous versions of BizTalk you were able to point it to a database containing archived data from the Tools –> Preferences menu:
In BizTalk Server 2009 you select the “BizTalk Server 2009 Administration” node in the Administration Console, and click on “Connect to an existing tracking database…” to get to a tracking database:
Or you can right click on the “BizTalk Server 2009 Administration” and select “Connect to Existing Archive…”:
This will give you a pop-up windows for you to select the SQL Server and the tracking database:
Notice how it only lets you select BizTalk tracking databases, unlike in HAT where all databases on the server were listed. Once you have selected a valid tracking database it will show on the same level as the BizTalk Groups:
You can add multiple archive databases (but query only one at a time), and you can also select tracking databases from older versions of BizTalk. I have only tested this with a BizTalk Server 2006 R2 restore of the purge and archive job and it works perfectly. Once you select the tracking database you can then run the two new “Tracked Message Events” and “Tracked Service Instances” queries against it as described above.
As I said at the beginning, moving the tracking queries to the Administration Console was a logical and expected move. This will speed up the work of BizTalk operations managers and administrators (sometimes the same person that was the analyst, developer, project manager, tester :)).
Users that used HAT quite often will miss the default queries – you can now build your queries and save them as per the normal Admin Console functionality. Another functionality that might be missed by some is being able to alter the query code manually, this can’t be done anymore.
I only focused on the historical data reporting part of Administration Console improvements in BizTalk Server 2009 in this post, but there are a lot of other improvements on BizTalk Server 2009, so check out the links at the beginning of this post.
All this has been based on a beta program so it all is subject to change before its full release.
A happy new year to all of you that have endured this post to the end!