Component technology followed two trends:

Microsoft's first offering in component technology was OLE (Object Linking and Embedding).

In brief, OLE was strictly for creating compound documents, i.e. a document created by a OLE compliant program which can contain documents created by other OLE compliant programs. The compound document was called an OLE Container because it contained OLE Objects (i.e. the external documents). The inserted objects were either:

COM (Component Object Model) was introduced in 1993 as OLE2. COM was considerably more sweeping in concept than OLE. COM is a more general mechanism that allowed one piece of software to provide services to another. Microsoft decided that "OLE" would cease to be an acronym and instead become their way of branding and marketing their compound technologies.

COM has expanded in scope and usage while maintaining its core specs. COM technologies are basically conventions and supporting libraries that allow interaction between different pieces of software in a consistent and object-oriented fashion.

For a few years this worked fine but by early 1996 the marketing wizards at Microsoft decided that a new and improved brand name was needed. ActiveX was the new name for COM components that were not OLE documents. The phrase OLE was reverted back to referring just to compound document implementations.

An ActiveX Component is any program that is a COM component (ie supports the IUnkown interface) and is self-registering (ie registers with regsvr32.exe or with a setup program.). Different types of ActiveX Components include the following:

In late 1996 Windows NT 4.0 introduced DCOM (Distributed COM). DCOM is COM over a network. A DCOM component specializes in location transparency. DCOM components talk over HTTP (and other network protocols), utilizes security (with authentication, encryption, etc.) and MTS (Microsoft Transaction Server).

In 1997, Microsoft COM+, which is essentially a language neutral version of COM.

Much of the ugly details of creating COM components has been abstracted and hidden. In Visual Basic, a COM component can be made simply by creating an ActiveX Control project. In Visual C++, a COM component can be made by utilizing the ATL (Active Template Library).

Page Modified: (Hand noted: 2007-09-12 21:57:16Z) (Auto noted: 2007-11-17 06:39:23Z)