(1) For a system on a module, see
computer-on-module.
(2) For microfilm, see
computer output microfilm.
(3) (
Component
Object
Model) A Microsoft legacy architecture for building software modules (objects) executed in Windows. Parts of Windows itself and Microsoft's own applications have been built as COM objects. Beginning with Windows 95 and Windows NT, COM provided the interfaces between objects, and Distributed COM (DCOM) allowed them to run remotely.
COM Objects
Small and large, COM objects can be written in several programming languages to do any kind of processing. A program can call a COM object, which can be run remotely, which was originally known as "Distributed COM" (DCOM).
Automation (OLE automation)
Standard applications, such as word processors and spreadsheets, have been written to expose their internal functions as COM objects, allowing them to be "automated" instead of manually selected from a menu. For example, a script could be written to extract data from a database, summarize and chart it in a spreadsheet and place the results into a text document. See
COM automation.
Controls (OLE controls, ActiveX controls)
Applications can invoke COM objects, called "controls," that blend in and become just another part of the program. An industry of third-party, ready-made controls for the Windows programmer has been created. ActiveX controls can also be downloaded from the Internet to make a Web page perform any kind of processing. See
ActiveX control.
Compound Documents and ActiveX Documents
Microsoft's OLE compound documents are based on COM, which lets one document be embedded within or linked to another (see
OLE). ActiveX Documents are extensions to OLE that allow a Web browser, for example, to view not only Web pages, but any kind of document (see
ActiveX Documents).
Programming Interfaces
Microsoft had made its standard programming interfaces conform to the COM object model so that there is continuity between all interfaces. See
DAO,
ADO and
OLE DB.
It Can Be Confusing
Microsoft first used the term OLE to refer to its COM-based architecture, then later dropped that designation in favor of ActiveX. Since both OLE and ActiveX are based on COM, the term COM is also used. As a result, any combination of the words COM, OLE and ActiveX followed by the words control, object and component may mean the same thing.
COM Objects
Any kind of program, small or large, can be written as a COM object. It can be run locally or remotely via DCOM. The terms COM object, ActiveX object and ActiveX component are synonymous.