Comprehensive COM

The Five Volume Series

by Badri Malynur and Doug Rosenberg

Comprehensive COM is a set of 5 CD-ROM multimedia tutorials which provide a comprehensive but more importantly comprehensible look at COM. The Component Object Model (COM) has become the foundation of new Windows technologies. A good understanding of COM is vital to all Windows programmers. This set gives you insight into the design philosophies and concepts underlying COM.

Unlike any other book or course in the market, this set takes the student from the basic fundamentals and rationale of COM to the most recent developments in COM including Microsoft Transaction Server and COM+. COM is discussed without using any frameworks in earlier volumes.

The emphasis is to introduce the rationale for various COM techniques to prepare you for later volumes which take a detailed look at using COM using the two popular frameworks Microsoft Foundation Classes (MFC) and ActiveX Template Library (ATL). You will understand the tradeoffs involved in choosing one of these frameworks. You will also get an indepth introduction to the COM remoting architecture, COM security and good COM design techniques. Extensive pictures and code examples reinforce the concepts. Pointers to additional resources and web sites will provide you a framework for further learning.

Volume One: Fundamentals of COM -- Part One

Click here to download the Spec Sheets in PDF Format

The first volume takes a look at COM from a client's perspective. It starts off by providing the rationale for COM and compares the solutions provided by COM with techniques used in the pre-COM era. COM is introduced in the context of other OLE and ActiveX technologies. A simple COM program is provided and then all the important COM concepts including interfaces, HRESULTS, GUIDs, ProgIDs, IUnknown interface, described in the program are discussed in detail. Finally the different types of COM servers and the steps involved in creating COM servers is discussed.

Volume Two: Fundamentals of COM -- Part Two

Click here to download the Spec Sheets in PDF Format

This volume crosses the client-server boundary and takes a look at COM from a server implementation perspective. The complete code for implementing in-process and local server COM objects is provided and analyzed. The code does not use any frameworks and is in raw C++. This provides a solid foundation for later volumes. This volume provides an excellent overview of IDL the Interface Definition Language used for specifying interfaces. The files generated by a MIDL compiler are analyzed and VC++ and VB examples which use these interfaces are provided. Clear concise explanations of key COM concepts including threading models and apartments are provided. COM reuse techniques aggregation and containment are introduced and the appropriate use of these technologies is discussed.

Volume Three: DCOM Internals/ActiveX Technologies

Click here to download the Spec Sheets in PDF Format

This volume takes a look at the different ActiveX technologies which are built on top of COM including automation, persistence, structured storage, connection points, monikers, uniform data transfer, ActiveX controls and drag and drop. Several interactive demonstrations drive home the use of these technologies in your application. This volume provides a detailed look at the DCOM remoting architecture, custom and standard marshalling and the OXID resolution process. Several scenarios are provided to reinforce theory discussions. This volume concludes by taking a look at COM security discussing activation security, call security, programmatic security and interface level security.

Volume Four: COM+/MTS/MSMQ

Click here to download the Spec Sheets in PDF Format
This volume starts off by discussing Microsoft Transaction Server, a server side environment for creating large scale distributed systems. Topics include an overview of MTS, Activities, Role based security, MTS transaction support and Just in time activation. This volume then takes a look at message queuing and the Microsoft Message Queuing Server. (MSMQ)

The rest of the volume is devoted to COM+ the next generation of COM. Topics in COM+ include:

COM+ overview, COM+ applications & deployment, COM+ explorer, COM+ catalog
COM+ services - Load balancing, In memory Database, Object pooling
COM+ services II -Queued components, Loosely coupled events
COM+ transaction support, new COM+ interfaces, Compensating Resource Managers (CRMs)
COM+ concepts - Neutral apartment type, activities, contexts,
COM+ futures (after Windows 2000) - COM+ runtime, C++ extensions

Volume Five: COM Programming with ATL

Click here to download the Spec Sheets in PDF Format

ATL is a class library from Microsoft which allows you to create a variety of small fast COM objects/ActiveX controls. ATL is an excellent library to learn COM programming techniques. Many COM programmers are already using ATL and many more projects are converting to ATL. ATL provides you a lot of the boiler plate code allowing you to concentrate on the functionality provided by the COM object.

This volume takes a look at implementing COM objects in Active Template Library (ATL). We will look at some of the key classes in ATL. We will dissect and extend the code generated by the ATL wizards. This volume includes a number of interactive demonstrations and code samples which gives the students experience with COM and ATL programming techniques. You will understand both the limitations and strengths of ATL and how it can be used effectively in a COM programming project.

Check out the ICONIX on-site COM training courses

ICONIX Software Engineering, Inc./2800 28th Street, Suite 320/Santa Monica, CA 90405/Tel (310)458-0092/Fax (310)396-3454/email: