Sie sind auf Seite 1von 2


Component Object Model (COM)

COM is a platform-independent, distributed, object-oriented system for creating binary software
components that can interact. COM is the foundation technology for Microsoft's OLE (compound
documents) and ActiveX (Internet-enabled components) technologies.
Where applicable
COM objects can be created with a variety of programming languages. Object-oriented
languages, such as C++, provide programming mechanisms that simplify the implementation of
COM objects. These objects can be within a single process, in other processes, even on remote
Run-time requirements
For information on which operating systems are required to use a particular interface or
function, see the Requirements section of the documentation for the interface or function.
COM, OLE, OLE Documents, OLE Controls and ActiveX registered terms.

Before COM, the whole technology was named Object Linking and Embedding (OLE).

COM is only a subset of OLE. OLE2 introduced features like Automation and Controls, and all
the inner subsets of the technology were given a distinct name (Structured Storage, Compound
document, Property). All of them are described by Kraig Brockschmidt in Inside OLE 2, MS

After this, marketing terms caused people to have fuzzy interpretations of the names. ActiveX
was used to cover the whole technology, OLE Automation became Automation, and the ActiveX
keyword was the only name to represent the future in composition and design of object-oriented
applications, previously named OLE.

OLE was available for 16-bits platforms, and was the first to be available from Visual basic 3.0
with VBX controls. OLE2 and the 32bit architecture replaced this, the controls became OLE
Controls, and Visual Basic 4.0 and 5.0 allowed VB to create real OLE Controls.

? COM is love is a popular DevelopMentor expression. There are famous books about COM
and the most popular is certainly Don Box, Essential COM from Addison Wesley.
This book explained the beauty of COM and the inner architecture, the apartment and threading
MUST-HAVE-SEEN complexity with an elegant style.

Don Box is now a Microsoft Architect for the successor of COM named Indigo; finally named
Windows Communication Foundation. However, COM is still here, even in Vista. WCF does not
replace COM. It just wraps all the WS-* and future unified communication wanted by MS.

A whole range of Microsoft Server product and inner functionalities of the Wndows OS are
designed using COM. COM relies on Microsoft RPC and LRPC (memory). Implementation and
execution are extremely fast because a COM component is the exact binary representation of
an abstract C++ class with its implementation classes, and a registry entry to link the name of
the component with its hosted modules (DLL or EXE).

COM is the longest technology used by Microsoft, either into its products or into its range of
operating systems. Every product exposes its functionalities via an SDK and most of them have
COM API. Office object model are OLE2 object model -> this is COM Windows Management
Console (MMC snap-ins) and are COM components. Inserting a Word Object into an Excel
Workbook depends on COM. In 2007, COM is still a competitor for .NET. Enterprises services
and COM services components are still in place. .NET and COM have a fully interop paradigm.

COM is the fundamental piece of technology that is shipped in every Windows.

When one has understood the impact of COM on Microsoft, they can embrace the future of

This challenge that MS is currently facing is .NET. Can .NET be a winning successor?
How do you enhance all products by replacing COM with .NET? How do you promote .NET as
the successor of COM is a day to day challenge.

Enjoy COM.