Rating:  Summary: Real-world issues and solutions Review: Blunden is a software engineer writing for other software engineers. He looks at issues that are important in the day-to-day engineering environment, and does so with surprising rigor and clarity. Once more, he does a nice job of documenting his work. Package summary diagrams, and protocol charts, are sprinkled liberally throughout the book. Engineers new to the field would be strongly advised to read the last chapter of the book: "Things They Don't Teach You In School," for a good look at how the industry really works.
Rating:  Summary: The Importance of Historical Context Review: Here is an author who understands the influence of history. Not just from the perspective of technological evolution (i.e. client-server, to 3-tier, to n-tier). But he also gives credit to the cultural icons that forged their way through the digital badlands, back in the early days of the ARPANET. In honor of Captain Crunch, the original network surfer, Blunden names his messaging server Bluebox. Howie Ernesti, man, wherever you are: "I am not a number, I am a free man!"
Rating:  Summary: Not a Toy Implementation Review: I bought this book with the expectation that the Bluebox message server would be a token implementation. Whoa! Was I wrong; this book shows the full monty! It includes a message server engine, a log server, a database interface, a license server, and auto update engine, recovery facilities, and a heartbeat monitor. Fortunately, the 100 or so classes that make up the distribution are well documented and a user manual is included in the book. The last few sections of the book also have some interesting anecdotes that are worth reading.
Rating:  Summary: Misleading and shoddy (though not wholly bad) Review: Only one-third of material in this book is worth anything and is directly related to what the title suggests.
The first third is a collection of anecdotes and worthless opinions on technologies that the author, clearly, does not understand very well (and frequently he's simply erroneous, sometimes preposterously so: for example, with the straight face, Mr Blunden directs us to shun C++ -- get this -- in favour of C. OK, why? That is because, the author tells us, C++ has problems (uh-oh), viz. byte endedness and data size. Implied in this goofy in more than one way advice is the suggestion that C is free from these "problems".)
This is just one example, but there's much more there: the author comes across as someone who's worked with a multitude of technologies, but probably like a couple of weeks with each: he knows *of* a lot of stuff, but he doesn't really know any of it in depth. Or, maybe it's a typical programmer's disease: a penchant for stuffing the brain with awful amounts of low-level minutiae coupled with an inability to think large, analyze and synthesize information on a higher conceptual level.
The "war stories", supplementing the expert advice (of the above kind), are silly and boring; they add no value whatsoever. In an expensive book like this one, I expected more "meat" : what I've found instead was pages and pages of loopy bloviating. This accounts for one third of this treatise.
The second third (the one that's worth something) contains a rather superficial, fleeting presentation of the author's message server (or, rather, of somewhat randomly selected parts of it) -- written in Java! Completely. Make no mistake, this is a Java book: a couple of perfunctory code samples in C and Perl have been probably thrown in just so no one could say it's a Java-only book, and it'd be possible to position it as "platform agnostic", thus attracting a larger audience.
The language choice appears unfortunate: a message server like that is really a piece of system software, not a web app, and Java, residing on top of what amounts to an OS emulator, hides too much of the stuff you'd have to deal with should you opt for a different language (which you most likely will, if you develop this kind of thing in real life; 99% it'll be C++, or C.) It is a bit like studying operating systems design with Visual Basic. I'm sure example software will be real easy to understand (to say nothing of write -- for the author), but will you gain an adequate knowledge of operating systems? A rhetorical question, really.
In addition to being written for an unsuitable platform/language, the author's server software appears to be very basic, and although I do NOT suggest that it's useless, it won't get you very far. In other words, Blunden's book is nothing like Stevens's books -- neither is it, contrary to what some suspicious reviews below insinuate, on the level with Tannenbaum's MINIX book: not even close (though it's as, or more, expensive.)
The last third is a user manual for the author's software (which is supplied on the attached CD.) Do I care for it? Not a whit. Padding.
Besides being fattened with specious material, the book is printed in rather big fonts, on heavy paper: this, too, makes it appear thicker than it really is: I spent a couple of hours in a store checking it out, and believe it or not, practically read it all from cover to cover (though skipping over bs here and there.)
I am currently looking for this kind of info, but the book didn't do it for me; I put it back on the shelf. Maybe (just maybe) I would have bought it for ten bucks -- for the middle section's sake --, but of the list price it isn't worthy. Liberally padded, superficial, nowhere as instructive as you would have thought based on the laudatory blurbs, title, and table of contents alone, this is a thumbs-down piece. Do NOT buy it sight-unseen off the web: if you're curious, please do yourself a favour and first check it out -- thoroughly -- in a bookstore; chances are high you'll decide to forgo the purchase.
And finally, while I'm here: I second the words of the below reviewer (probably the only bona-fide one so far) about the suspicious five-star reviews, all posted anonymously on the same day. That is because (1) they hyperventilatingly misprepresent the book's depth and overall quality -- a fact that will be very obvious to anyone who's seen the book himself, and (2) they are written with a typical commercial publicist's flair for surely, boisterous, fluid but vacuous and fake-friendly hype. No real reader, definitely not a technical reader, will ever express himself in such a style; it smells of advertizing copy... Cray meets Hunter Thompson? Sorry, no Cray here; a Thompson wannabe, perhaps.
Rating:  Summary: Cray meets Hunter S. Thompson Review: The author of this book has obviously seen combat in the trenches. The fact that he would discuss deployment requirements like auto-update and secure network communication is proof enough. I particularly enjoyed the bits of storytelling that Blunden hides in between technical discussions. In one part, he talks about working at a company in the throes of Y2K conniptions: "Like a 15-year-old kid studying for an algebra test, the company that hired me had waited until the last minute to do its homework. In September of 1999, the CIO put down his copy of Fortune Magazine long enough to realize that something needed to be done. Angry customers might file lawsuits, which would ruin the CIO's plans for a weekend cottage in Bermuda."
Rating:  Summary: Destined to be a Classic Review: There have been a couple of other books on message passing, but most of them have been anchored to a particular operating system or language. This book is the first to offer a general treatment of messaging, as a way to merge disparate middleware installations. At the end of the day, messaging technology is just another way to allow distributed code to interact. Blunden takes the time to compare and contrast messaging against other distributing computing techniques. The result is that the reader can understands the relative advantages and limitations of messaging, so that they can use the right tool for the right job. At every turn, Blunden grounds his explanations using concrete examples, so that the reader has a solid frame of reference (I can appreciate the author's humorous 10-page implementation of a DCOM server, basically to demonstrate how awkward a distributed technology can be... it's no wonder DCOM faded away).
Rating:  Summary: Substance over style Review: This book definitely does not skimp on the details. The author even talks about the platform-specific foibles, like endianess and memory alignment, which drove him to use Java. The book starts by looking at the important "ities:" scalability, availability, manageability, and security. In each case, he goes in deep, providing real-world solutions and non-trivial explanations. For example, to get around the Java SDK's "strong crypto" limitations (which are ridiculous), the author implements RSA from scratch. He does a thorough job of explaining how it works. When he talks about scalability, he does so from all the angles (hardware load-balancing, OS clustering, and multi-threading).
Rating:  Summary: Definitive Review: This book does a fantastic job of exploring a subject that is typically neglected in undergraduate CS curriculums. Blunden complements his material with in-depth explanation of the fundamentals. He doesn't just give a cursory look at competing communication models, he implements full-fledged examples in each case (i.e. CORBA, DCOM, RMI, RPC, etc.). Then, to top it off, he includes a full-blown message server with three secondary servers (a heartbeat monitor, a license server, and a secure log server). Nothing is left to the imagination. The CD includes the entire distribution, unit tests, and extensive HTML documentation. Speaking of the HTML docs, there is an Easter Egg. "Prisoner" fans, Look for Number 6!
Rating:  Summary: Outstanding Review: This book does an impressive job of looking at a "niche" of computer science and analyzing it in the backdrop of contemporary production requirements. The book provides an extensive presentation of background theory, a 10,000+ line working system, lucid documentation, and a discussion of alternative improvements and approaches. To demonstrate the cross-platform/cross-language feasibility of his distribution, the author offers three different client pieces (C, Java, and Perl). This is a round-trip explanation of messaging passing that does a conscientious job of covering all the bases.
Rating:  Summary: Good book (but cut it out with the bogus reviews please) Review: This is a very instructive learning-by-implementing book, in the tradition of Tanenbaum's MINIX. Blunden walks one through an in-depth analysis and implementation of a real message passing server. I'm a little put off, though, by the fact that I find 10 5-Star ratings for this book, all posted on the same date by the same reviewer. C'mon.
|