Object linking and embedding
Reuse is not necessarily code sharing.
In effect, there seems to be a trend
towards sharing components at a higher level
of granularity, as possibly independent applications.
This approach has, for example, been taken by the
Microsoft object linking and embedding
facility (OLE), which offers support for
embedding (a copy) of a component in a (container)
component, for including a link to another component,
and for storing compound objects.
See slide [11-ole].
Object-enabling technology
OLE
- document centered
-- text, graphics, reports
- component software
-- standard programmatic interface
- distributed object systems
-- component object model
DCE
Features
- linking, embedding, storage
Alternatives
- IBM SOM/DSOM, Apple OpenDoc
slide: Object-enabling technology -- OLE
The OLE technology is characterized by
its developers as object-enabling
technology, to contrast it with
a more classical language-dependent object oriented
approach relying on inheritance.
The object linking technology allows
the user to maintain a link from one application
to another,
so that for example a text processor may
directly employ the results of a spreadsheet.
Moreover, object linking is dynamic and allows to reflect
any updates in the spreadsheet application
directly in the outcome of the text processor.
In contrast, object embedding works more as
the traditional cut and paste techniques
in that it results in including only a copy
of the material.
To be embedded or linked,
applications must satisfy a standard programmatic interface.
In effect, the interface must provide facilities
to request an update of the display
of the information contained in the application.
In this respect, the OLE technology may be characterized
as document-centered.
The component object model underlying OLE
allows for distribution along the DCE standard
discussed in section [DCE].
The commercial competitors are currently
the Apple OpenDoc framework and the IBM SOM/DSOM
realization of the OMG CORBA standard.
It is interesting to note that future releases of
OLE are also promised to be compatible with the CORBA standard.