![]() |
|
I'll start with a confession. I've read another book by Guy and Henry Eddon and wasn't impressed. Thus, while searching for a book about Distributed COM (DCOM), I was suspicious about their book Inside Distributed COM. However, after my colleagues praised the book, I went ahead and bought a copy -- and I'm glad I did.
There are a number of things I particularly liked about Inside Distributed COM, starting with its quick background explaining the road to DCOM from RPC and OLE. Another thing I liked is that the source code presented in the book is rigorously cross-language. Finally, I especially liked that the authors kept the focus of the book on the core DCOM technology, and didn't mix it with the specific technology that may lie behind a specific programming tool such as Visual C++/ATL, Visual J++, or Visual Basic. In addition, looking at the same technical aspect from two or more points of view, often far different, can only help in forming a more precise idea of how it works and the power it can give you.
Before buying the book, I wondered whether it would give me more or better information than those available through MSDN. I first tried reading the MTS chapter. While it was accurate and detailed (it was one of the chapters my colleagues recommended as great), I wouldn't have given it the highest mark. Then, I ran into a few sections describing connectable objects and found a really interesting, insightful, and well-done explanation of multicasting -- the COM component's ability to fire events to multiple sinks. What struck me was the discussion of how Visual Basic codes the WithEvents keywords and how sinks are handled in Visual Basic. From then on, I realized that the book had lots of interesting and accurate material and is worth recommending if you're interested in a real-world understanding of COM and its distributed features.
The first three chapters are quite introductory and revolve around the Component Object Model and its basic programming levers such as IUnknown, class factories, and type libraries. This is nothing that a seasoned C++ programmer doesn't know, but is usually new to Visual Basic or Java developers. Some pages are dedicated to a quick explanation of the COM/Java integration model. The first part of the book terminates with a good and very informative chapter about threading models.
The second part is about COM facilities, including automation, connection points, and structured storage. The latter two actually turn out to be far richer and more detailed than the former, with the significant exception of the IDispatch interface coverage.
The third part, based on remoting architecture, is where the book shines, especially when discussing standard and custom marshaling and security aspects. I found that the chapter about MTS and COM+ is not particularly exciting, but consider that to get the same amount of information you find condensed in about 30 comfortable pages, you should read lots of intricated white papers and technical documents. This is to say that even the MTS chapter actually has some significant added value.
In summary, Inside Distributed COM is a good guide to an application-oriented vision of distributed COM that provides insightful information about the fundamentals of COM, mostly for Visual Basic and Java developers, but it can be valuable to C++ developers for more low-level aspects such as threading, marshaling, and security.
-- 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.