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 view sample screens!
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 and ActiveX Technologies
Click here to view sample screens!
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: MTS/MSMQ/COM+
Click here to view sample screens!
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 view sample screens!
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.
Volume Six: COM Programming with MFC/VB/Java
This volume takes a look at the support provided by the Microsoft Foundation Classes (MFC) for COM programming. The pros and cons of using MFC over ATL are discussed. This volume also looks at building COM objects using Visual Basic and Java.