So I got permission to give you all a first look at the upcoming BizTalk 2006 Best Practices Analyzer (BPA) and wanted to run you through a quick review. This tool scans your infrastructure, and flags irregular configurations, incomplete implementations, and much more. It reminds me a lot of our Baseline Security Analyzer.

Before I even start, a few things out of the way. No, this is not available yet. No, there probably won't be a intermediate release until a final release by the end of June 2006. No, I can't send this to you, even if you ask nicely and send me presents.

So when you first fire it up, you see the Automatic Update Option Selection screen, and then the Welcome screen.


You can do a new scan, or review a previously executed one. If you start a new one, you're asked for the server hosting the BizTalk management database, and the name of that database. You can then Start Scanning, and the tool reviews all of your settings and configurations.

So my virtual machine is a standalone server, so the total servers scanned here is one.

Now I can go through a dozen+ reports and see what my system looks like. The tool defaults to the Critical Issues report, which is probably a good one to start on anyway.

If you click on an item, you naturally get the details of why this item was flagged. In my case, I'm an idiot and have yet to start up my Purge SQL job.

Not sure what is supposed to show up on the Best Practices report, so either (a) I've used no best practices, or (b) this function isn't running yet. I'm seriously hoping it's option (b)! Another good report is Items of Interest. This flags things that you'd want to be aware of, like backing up the Master Secret, and that WMI is running correctly.

A great way to see all the data is the Full Issues List. Here I can see all critical issues, warnings and the like.

I've got a useful warning here. It's telling me that I have an HTTP host set up, but no Network Load Balancer in place to ensure high availability of the website/service or whatever.

Here's another good one. My in-process host for handling the file adapter has only a single host instance, and thus is not highly available.

There's a Details View that appears to be a catch-all but I'm not sure I'd ever use given that it's pretty rough to read anything here.

It's nice that you can export out the reports (to XML of course), and could potentially apply an XSL stylesheet for later viewing. That could be cool.

I can view information about existing scans.

And, the BPA also comes with a command line tool that you could execute on a schedule or silently as part of your build process.

You may have noticed that a parameter for the command line tool is a configuration file. Much like FxCop, this tool actually uses an XML configuration file for all of its rules. This of course introduces the opportunity for you to add your own best practice rules and make them a required part of your build process.

So what do you think? I'm a big fan of this, as ANY tool that can help folks put together a sound solution is a good tool. I like some of the little features like sorting message by server (good for a large farm), doing automatic updates, XML reports, and being able to suppress message (ala FxCop). Since this is still in development, do you have any suggestions for features you want? Features you do or don't like that you saw here?