Editorial Reviews:
DCOM -- the Distributed Component Object Model -- is a recent upgrade of a time-honored and well-tested technology promoted by Microsoft for distributed object programming. Now that components are playing a larger and larger part in Windows 98, Windows NT 4.0, and Windows 2000, every Windows programmer will want to understand the technology. DCOM competes with CORBA as a rich and robust method for creating expandable and flexible components, allowing you to plug in new parts conveniently and upgrade without the need for code changes to every program that uses your component. This book introduces C++ programmers to DCOM and gives them the basic tools they need to write secure, maintainable programs. While using Visual C++ development tools and wizards where appropriate, the author never leaves the results up to magic. The C++ code used to create distributed components and the communications exchanged between systems and objects are described at a level where the reader understands their significance and can use the insights for such tasks as debugging and improving performance. The first few chapters explain both the remote procedure calls that underlie DCOM's communication and the way DCOM uses C++ classes. Readers become firmly grounded in the relation between components, classes, and objects, the ways objects are created and destroyed, how clients find servers, and the basics of security and threading. After giving you a grounding in how DCOM works, this book introduces you to the Microsoft tools that make it all easy. By showing what really happens each time you choose a button in a wizard, Learning DCOM makes it possible for you to choose what you need. This book is for anyone who wants to understand DCOM. While thoroughly practical in its goals, it doesn't stint on the background you need to make your programs safe, efficient, and easy to maintain. Topics include: - MIDL (Microsoft Interface Definition Language, the language for defining COM interfaces)
- COM error and exception handling
- Custom, dispatch, and dual interfaces
- Standard and custom factories
- Management of in-process versus out-of-process servers
- Distributed memory management
- Pragmatic explanation of the DCOM wire protocol
- Standard, custom, handler, and automation marshaling
- Multithreading and apartments
- Security at the system configuration and programming level
- Active Template Library (ATL), ATL wizards -- and what they don't do
- Writing a component that can be invoked from Visual Basic
- Techniques for using distributed components
- Creating an ActiveX control and embedding it in a Web client
- Authentication and the use of Windows NT security features
- Techniques for merging marshaling code
- Connection and distributed events management
- An introduction to COM+ features
Written for the advanced C++ developer, Learning DCOM looks beyond wizard-generated code to teach you how you to build most of the C++ code yourself in order to create effective distributed Component Object Model (DCOM) components. The book commences with a tour of distributed computing, from the early days of terminal emulation, to the Remote Procedure Call (RPC) and onward to today's DCOM. The author includes a rich introduction to COM, from objects and built-in and custom interfaces to important concepts such as containment and aggregation. Though somewhat densely written, these chapters on the details of DCOM expose its real inner workings with standout material providing a full treatment of the different thread apartment models. The second half of the book focuses on existing wizard-based code (using Visual C++ tools for the Active Template Library [ATL] and Microsoft Foundation Classes [MFC] COM components) starting with an ATL server-side optical character recognition (OCR) component. The author then presents client-side programming strategies for COM, far beyond tapping built-in Visual C++ capabilities, that incorporate custom template-based smart pointers for calling COM objects. The book then turns to Web development where an OCR example is used within an Internet Explorer Web page. Sections on security demonstrate how to cooperate with Windows NT, as well as auditing and administrative options. Unfortunately, coverage of Microsoft Transaction Server (MTS) is omitted here, arguably one of the most critical aspects of writing scalable Web applications. A final chapter on event handling (and connection points) shows off how to process events with distributed components. Notable for its considerable technical depth and detail, Learning DCOM gives the advanced developer the inside track on creating state-of-the-art DCOM components. --Richard Dragan
Customer Reviews:
Displaying 1 to 5 of 15 total reviews (Page 1 of 4):
Oh no, not O'Reilly also!
Micro$oft is famous for its ability to push out new development technologies. The reason behind this planned obsolesence is obvious, every time they come out with something new people will have to open their wallets to "keep up."DCOM is just another disposable technology. As such, it was a complete failure; one that the marketing folks at M$ have tried to bury as quickly as possible under an avalanche of .NET hype. DCOM was hard to port because, like COM, it is based on a binary standard (i.e. a standard that changes when you leave x86 and go to 64-bit RISC). Not only that, but DCOM doesn't support distributed transactions. Worst of all, DCOM is a very, very complicated technology to use. Three strikes... YOU'RE OUT! The half-wit MBAs at Micro$oft realized their mistake and have abandoned DCOM, leaving it forever in the backwaters where the only record of its sorry existence are stupid books like this. I have no idea why someone would want to buy this book. Folks, this is a dead technology. It is no more. It is an ex-techology. If you buy this book, you are lying to yourself. This book will sit an gather dust, unless you can find more productive uses for it...like burning it to stay warm. To be honest, I'm a little let down that a Unix-ish publishing company like O'Reilly would put out a book like this. They must really be hurting for cash. I heard that the bank has not been very nice to them during the recent market downturn... Great COM/DCOM book, for experienced C++ programmers
This book is a great source of information if you are interested in learning a complex topic such as DCOM. Be aware that this book requires you to have strong knowledge of C++, if you want to understand the examples. Although this is a great book, I'm still looking for other alternatives that will clarify the concepts of COM/DCOM in depth. Looking for a good DCOM book? Keep looking.
Would you trust the technical expertise of a programmer who writes this: if (g_hExitEvent == NULL) assert(false); This book is replete with this and other nuggets of technical prowess. The surrounding text is no better. Thai's English syntax is downright odd. His analogies are frequently tortured or nonsensical. All of this distracts the reader from the technical content. There is high praise for that content from my predecessor reviewers, but I thought his presentation was haphazard and unenlightening. I have found previous O'Reilly books quite good, but they did a very disappointing job on this one. Great Book on a complicated topic.
This is a good book for C++ programmers wanting to learn com. This simplistic one language approach has made the book popular, since com is complicated enough without trying to briefly throw 3 programming languages at it. However, it will never be your only book on Com. Eventually you'll need to use your com objects from ASP or somewhere else (this is the purpose of com, binary reuse). This topic will also require a lot of study, and if your going to write com objects expect to spend a lot of time with this book open. I'm a programmer with 11 years experience. Com is one of the more complicated things I've encountered in my programming career. This book did have a few typo's (3 or 4 jumped out at me), however, they did not detract from the content. My first impression was that Don Box had the best book on Com I'd ever seen (I browsed it in Borders), but this book seemed equally as nice (and a few bucks cheaper).I would have liked to see another another practical example (never enough). Overall, an excellent book. Great Book
I'm a beginner in DCOM and all I needed to know about DCOM is clearly explained in the book, no function, no parameter,... unexplained. There are few books as good as this one. This is my fist O'Reilly and Thai book, but I'm sure that not the last. More Customer Reviews: Next Page
|