![]() |
|
Microsoft Message Queue (MSMQ) is relatively new software for Microsoft, but not a new kind of software; other vendors have sold similar products for a long time. MSMQ, however, represents Microsoft's first crack at asynchronous, time-independent transaction processing. But although MSMQ is new in Microsoft's space, it is important since it is incorporated in Windows 2000 and merged in older versions through the NT 4.0 Option Pack. Also, MSMQ will be tightly integrated with COM+, the next generation of COM.
Once you've decided that your middleware should be based on a queue, MSMQ becomes a primary option to consider. Designing Applications With MSMQ, by Alan Dickman, examines MSMQ from the perspective of application design, rather than, say, a programmer's reference for using MSMQ. Ultimately, the book explains why you may need MSMQ within a queued messaging system and how to take advantage of it.
Three key aspects of Designing Applications With MSMQ struck me as significant:
These three aspects are correlated and work together, confirming that the book is really the result of Dickman's direct experience with and understanding of MSMQ.
I particularly liked the attention to the manager's point of view. MSMQ is not the kind of product that a single developer would use. It's not like a compiler or a code editor. MSMQ is an important element in a three-tier, distributed, enterprise, and mostly web-based application. The goal of the book, well-expressed by the title, is to show how to design applications using MSMQ. However, the majority of the chapters are clearly for developers and contain plenty of programming details. In other words, Designing Applications With MSMQ is definitely a programming book, but not one developers only can benefit from.
After an introduction on distributed and queued systems, Dickman describes the architecture of MSMQ -- messages, named queues, routing, security devices -- and touches on the integration between MSMQ and other queue servers. He then turns his attention to purely programming topics and presents a demo and simple application written using both COM objects and the MSMQ API. Once you've seen MSMQ in action and understand its capabilities, the book provides some design considerations, particularly targeted to software architects. Dickman then takes the demo application and discusses how you can make it more reliable and secure by using message properties and formats. He covers message tracking, journaling, and security facilities. The latter parts of the book are dedicated to transaction processing, followed by an appendix with the MSMQ COM and API reference.
Designing Applications With MSMQ is not the only book on MSMQ I've read, but it's the first one that specifically covers the argument of MSMQ. If you're interested in MSMQ as just one of the components of your n-tiered distributed system, then you probably need a more DNA-oriented book. However, if you want to delve deep inside MSMQ and queued middleware, this book is an excellent choice because it does a good job balancing strategic vision with technical details.
-- Dino Esposito
| Readability |
|
| Originality |
|
| Organization |
|
| Accuracy |
|
| Consistency |
|
| Depth |
|
| Timeliness |
|
| Editing |
|
| Design |
|
| Overall Value |
|
Explanation of ERCB rating scale: No stars = unacceptable, 1 Star = marginal, 2 Stars = average, 3 Stars = above average, 4 Stars = exceptional.