The Zen of Hosting: Part 3 - Hosted Messaging and Collaboration Overview

In part 2, I wrote about this technology called Hosted Messaging and Collaboration (HMC) and that it is delivered as a guidance package, but what is a guidance package? Well, for HMC, it is a package with a number of components. First off, there is a central management and configuration system. This system is made up of an engine—based on a COM+ object—along with a set of web services and a number of MSI files that get deployed to various other servers and handle interaction with those servers.

Next is a web-based management console for the system; however, the web-based management console is a prototype and comes with no official support from Microsoft. The advantage of the web-based management console is that all the source code is provided, so you can either use it as a base for building your own or as samples to build integration into your existing management system. As a side note, there are a number of third-party management consoles out there, which I would highly recommend looking into if you are reading this for building your own system.

The last part of the package is documents—documents and more documents. The SDK provided goes over all the systems in the engine and how to expand it and is really useful (I’ll cover why in part 5). However, more useful than that is the deployment guide, which takes you step by step through how to deploy the solution for a sample company. The only piece of documentation I would add to those is the unofficial consolidated deployment guide, which is additive to the actual guide but provides details on how to do HMC without the 20+ servers you normally need and only use 8!

To deploy HMC, you really just step through the guide; however, it will take a number of days and a lot of diverse skills to get it right (expect to need a .NET developer, an AD expert, an Exchange expert, and someone with clustering experience at a bare minimum). You should end up with a working system that is the same as all others.

Expect severe punishment, though, for not following the guide word for word. For example, we initially tried to set up a pure Windows Server 2008 x64 environment despite what the guide said, and we were punished. Unfortunately, all that work had to be scrapped as HMC did not work. In the end, the call to change the servers to match what the guide said enabled a semi-normal sleep life again.

Another example of not following the guide is that HMC is built on .NET 2.0 RTM. However, a fix included in 2.0 SP1 actually breaks HMC. That means you cannot install .NET 3.0 or 3.5 on any key HMC server—because they will install the service pack for you—and break HMC. Patches do exist for this bug, but it may be worthwhile to wait for the upcoming 4.5 release of HMC if you are thinking about deploying this anytime soon.