OLE (Object Linking and Embedding) is Microsoft's framework for a compound document technology. Briefly, a compound document is something like a display desktop that can contain visual and information objects of all kinds: text, calendars, animations, sound, motion video, 3-D, continually updated news, controls, and so forth. Each desktop object is an independent program entity that can interact with a user and also communicate with other objects on the desktop. Part of Microsoft's ActiveX technologies, OLE takes advantage and is part of a larger, more general concept, the Component Object Model (COM) and its distributed version, DCOM. An OLE object is necessarily also a component (or COM object).
Some main concepts in OLE and COM are:
Microsoft terms are shown first; industry or alternative versions of those terms are shown in parentheses:
|Concept||What it is|
|OLE||A set of APIs to create and display a (compound) document|
|Document (compound document)||A presentation of different items in an "animated desktop"|
|Item (object; also called a component)||An element in a document, such as an animated calendar, a video window, a sound player, a sound file...|
|Container or container application||The program entity that holds a document or a control|
|Server or server application||The program entity that holds an item within an OLE container|
|Embedding||Adding the source data for an item to a document; use the Paste command in a container application|
|Linking||Adding a link to the source data for an item to a document; use the Paste Link command in a container application|
|Visual editing||Activating an item that is embedded in a document and "editing" it|
|Automation||Having one container or server application drive another application|
|Compound files (structured storage)||A standard file format that simplifies the storing of (compound) documents; consists of storages (similar to directories) and streams (similar to files)|
|Uniform Data Transfer (UDT)||A single data transfer interface that accommodates drag-and-drop; clipboard; and dynamic data exchange (DDE)|
|Component Object Model (COM)||Provides the underlying support for OLE items (objects) and ActiveX controls to communicate with other OLE objects or ActiveX controls|
|ActiveX control||An item (object) that can be distributed and run on top of a COM|
|Microsoft Foundation Class (MCF) library||A set of ready-made classes or templates that can be used to build container and server applications|
says that OLE contains about 660 new function calls or individual program interfaces in addition to those already in Win32. For this reason, Microsoft provides the Microsoft Foundation Class (MFC) Library, a set of ready-made classes that can be used to build container and server applications, and tools such as Visual C++.
In the "Introduction to OLE" on its Developer Site, Microsoft says that "OLE" no longer stands for "Object Linking and Embedding," but just for the letters "OLE."