I’ve met Klaus a number of times now and attended a few of his sessions at conferences. Klaus is doing a great job of evangelising Service Broker. I wish the SQL Server team would give it as much love.
Service Broker is a wonderful technology, let down by poor resourcing. Microsoft did an excellent job of building the plumbing for this product in SQL Server 2005 but then provided no management tools and no prescriptive guidance. Everyone then seemed surprized that the takeup of it was slow. I even heard noises questioning it’s future a while back and I hope those noises have quietened now. The lack of serious tooling in 2008 was a case of seriously “dropping the ball” regarding the product. It also highlights the other real problem with SSMS in the lack of extensibility. If a supported extensibility model for SSMS was available, others would have stepped up to the plate and we’d have really good Service Broker tooling by now, even when Microsoft hadn’t provided it.
Enterprise clients are finally getting their heads around what Service Broker does and are starting to use it, in spite of the lack of resources. I’ve lost count of the number of sites I’ve gone into that have a problem that Service Broker would address beautifully but when you suggest it, you get very blank stares back. What makes this worse is that most DBAs aren’t very familiar with message-based architectures. Ironically, these sorts of architectures can give them much of the scalability they’re trying to get from the product. I constantly go into sites where I see people building an unreliable “house of cards” with bunches of inter-connected systems, the failure of any one of which renders the whole system unusable. Asynchronous processing adds a real new dimension to SQL Server and is such a good solution to so many problems.
This book from Klaus is an update to the 2005 book and does a wonderful job of covering most of what you need to know to work with Service Broker. The book is well-written and builds a good story from beginning to end.
The book isn’t perfect. In particular, I noticed a number of places where (I assume) a global replacement of the word 2005 with 2008 caused errors, such as statements about mirroring first appearing in 2008, etc. Also, I’d have to disagree with some of the advice that’s outside the realm of Service Broker. For example, Klaus shows how to change the SQL Server service account by using the services snap-in for the MMC. The service account should always be changed from within SQL Server Configuration Manager as it updates ACL’s, etc. as well as the logon account.
But these sorts of details are minor and Klaus has done a wonderful job of showing how to use Service Broker and explaining why you’d want to do so.