Encyclopedia > Component object model

  Article Content

Component object model

Component Object Model (COM) is a Microsoft technology for software components, also known as ActiveX.

It is used to enable cross-software communication on a computer. Although it has been implemented on several platforms, it is primarily used with Microsoft Windows.

Its precursor was object linking and embedding (OLE). It is to be replaced with the Microsoft .NET framework.

Table of contents

The History of COM

One of the notable thinkers involved in creating the COM architecture was Anthony Williams[?], who embraced the concept of software components in his papers Object Architecture: Dealing With the Unknown - or - Type Safety in a Dynamically Extensible Class 1988, and On Inheritance: What It Means and How To Use It, 1990.

COM begun as the object linking and embedding technology for compound documents, built on top of dynamic data exchange[?] (DDE), and the VBX[?] (Visual Basic eXtension) controls from Visual Basic 1.0, released in 1991. In 1992, Windows 3.1 was introduced and with it came OLE. (Sometimes referred to as OLE 1.)

Already in 1993, Microsoft released OLE 2 as a sequel to OLE 1, while in 1994 OCX[?] or OLE controls were introduced as the successor to the VBX controls, at the same time stating that OLE was no longer an acronym, but a name for all of the company's component technologies.

Early 1996 Microsoft renamed some parts of OLE relating to the Internet ActiveX, and then gradually renamed what was once OLE (all component technologies) into ActiveX, while OLE took back the role as a compound document technology (as used in Microsoft Word, Microsoft Excel etc). Later that year, DCOM was introduced as an answer to CORBA.

In September 1997, at the Microsoft Professional Developers Conference, the entire component framework was once again renamed into COM, the Component Object Model. The role of ActiveX controls was lowered and is not currently talked about very much. (Probably due to the fact that they failed totally as an Internet technology.)


With the introduction of Windows 2000 Professional, COM was renamed COM+, to signify that substantial changes had been made to the component model. At the same time, DCOM was dropped conceptually.

New things introduced with COM+ was mainly that it could be run in "component farms", managed with the built-in Microsoft Transaction Server. This means that components, if coded properly, may be reused by new calls to its initializing routine without unloading it from the computers memory. They could also be distributed (i.e. you could call on components on a different machine) as was previously only possible with DCOM.

The Future of COM and COM+

The COM technology has been strategically replaced by the Microsoft .NET initiative.

There exists a limited backward-compatibility in that a COM object may be used in .NET by implementing a runtime callable wrapper (RCW), and .NET may use COM objects by calling a COM callable wrapper, but in essence, for novel systems COM is to be dropped entirely in favor of .NET.

Technical Details

The interfaces of COM objects are distinguished from one another using a Globally Unique Identifier (GUID).

Related Topics

External Links

All Wikipedia text is available under the terms of the GNU Free Documentation License

  Search Encyclopedia

Search over one million articles, find something about almost anything!
  Featured Article
Thomas a Kempis

... different editions are preserved in the British Museum. The Bullingen collection, donated to the city of Cologne in 1838, contained at the time 400 differ ...

This page was created in 39.4 ms