Distributed object computing
Remote object method invocation closely
resembles remote procedure call (RPC),
which is available on a variety
of platforms.
In [SMDCE] an extension of the
Open Software Foundation's Distributed
Computing Environment (see OSF DCE, 1992)
is described, offering support
for fine-grained distributed objects,
system-wide object identity,
location-independent method call
and dynamic object migration.
See slide [6-dce].
Distributed Object Computing
\zline{\fbox{DCE++}}
- distributed objects -- fine grained
- system-wide identity -- universal unique identifiers
- location independent -- mapped onto DCE RCP
- dynamic object migration -- uniform access mechanism
Distributed Computing Environment
\zline{\fbox{OSF DCE}}
- Thread Service -- light weight processes
- DCE RPC -- communication standard
- Cell Directory Service -- distributed name management
- Security Service -- authentication and authorization
- Distributed Time Service -- clock synchronization
slide: Distributed Object Computing
The unit of distribution supported by
DCE++ consists of individual C++ objects,
whereas for DCE the unit of distribution amounts
to heavy-weight processes.
Another improvement over DCE is the symmetry in communication between
objects,
which means in effect that there is no distinction necessary
(as for DCE)
between client and server processes.
Communication between objects, whether remote or local,
is by member call,
which in the case of remote objects is
automatically mapped onto
the underlying DCE RPC mechanism.
To establish universally unique identifiers
for objects,
DCE++ relies on the name management services
provided by DCE.
This has as an additional advantage
that applications may be integrated with any
system conforming to the DCE standards.
Location-independence
is implemented by providing a proxy
for each distributed object.
Requests to an object that
is potentially located elsewhere
are automatically addressed to the proxy
that, in its turn, identifies the current location
of the object and forwards the request.
In addition to the distributed name management
and communication services,
DCE offers supports for light-weight processes,
security and the synchronization of
distributed clocks.
DCE defines a standard for which a number of implementations
exist and to which, for example, the Microsoft
object linking and embedding facilities adhere.
In contrast, DCE++ has only an experimental status.
It offers support for employing DCE facilities
more conveniently in an object-oriented setting.