by Randy Abernethy, Randy Charles Morin, and Jesús Chahín
Randy Abernethy, Randy Charles Morin, and Jesús Chahín
666 pages (CD-ROM)
Since COM is a huge topic, most people will not immediately use all features in COM. In order to get familiar with COM and DCOM it would be a good idea to learn about COM and DCOM in several steps. COM/DCOM Unleashed is meant for readers who have already passed the first step of learning the COM/DCOM basics. This means that the word IUnknown should not be unknown to you when you start reading this book.
Actually, this book covers intermediate topics and will try to bring the novice COM programmer to a next level. As is the case with most books about COM/DCOM programming, experience in programming C++ is required, and working with pointers should not be a problem.
The companion CD-ROM contains all the authors’ source code and samples from the book, some third-party tools and the COM specifications.
The book discusses COM/DCOM programming from a practical point of view. It does not (and is not meant to) cover COM/DCOM from a theoretical perspective. COM/DCOM Unleashed places emphasis on programming advanced COM applications using the Microsoft DNA framework as a roadmap.
The book starts with a general story about Windows DNA and COM.
This part of the book sounds a bit like a marketing talk of Microsoft where Windows DNA is the solution for creating serious browser based applications. However, a lot of very serious and successful browser based applications have been developed using CGI, ISAPI, NSAPI, or Java but none of these solutions is even mentioned in this section.
Fortunately, the rest of the book is more objective and gives a more realistic view on things.
The second part of the book talks about some advanced COM topics followed by a section where some specific DCOM topics are discussed. Although the book claims to be practical, most of the examples do not really show the value of applying the things learned in the chapters in real life. They only give short implementations of what is discussed in the chapters.
The chapter about monikers is disappointing as it only enumerates the possible monikers and does not offer than a few lines of comment per moniker.
On the other hand, the other chapters are quite complete. The hints for implementing DCOM events in Visual Basic and Visual C++ can be very useful if you have to deal with these two environments.
The next two parts talk about Microsoft Transaction Server (MTS) and Microsoft Message Queue Server (MSMQ). I consider these parts as the best ones of the book.
They give a clear and complete description of MTS and MSMQ and show how MTS and MSMQ can be used in real life situations. The basic aspects of MTS are explained very clearly. Besides that, it also gives some useful hints concerning the design issues for developing scalable MTS applications.
For people who ever need to use the COM Transaction Integrator for integration with mainframes, this book will offer a lot of helpful hints and warnings in order to avoid the common pitfalls.
The last part gives us the opportunity to take a look into the future of DCOM called COM+.
It shows which new features will be introduced in COM+.
The chapters of COM/DCOM Unleashed have been placed in a logical order. They are easy to read and contain a lot of short and simple examples that are easy to understand.
Unfortunately, the book also has some little inadequacies. Although the book says in the introduction part that each part will have a reference section, none of the parts has one.
In addition, it seems like there have been some troubles in moving and copying text to right place.
For example, the summary of the chapter Programming the MSMQ has been copied to the end of the chapter about Configuration and Error Handling.
Another mistake has been made on the CD-ROM where the code samples of chapter 3 have been placed in the directory of chapter 4.
One of the reasons to buy this book might be to learn more about the security issues and multithreading aspects of DCOM.
Besides that, COM/DCOM Unleashed is a book that is useful for intermediate COM programmers who have not yet worked with MTS or MSMQ or for those who want to know more about these topics. If you are not sure which technique (MTS or MSMQ) to choose for your project, this book can help you to make the right choice.
|More Book Reviews|