We have stated that the most important
difference between DCE and CORBA is their programming
paradigms: DCE was designed to support distributed procedural programming, while CORBA was designed
to support distributed object-oriented programming. Religious convictions must be tempered with more
pragmatic concerns, however.
Comparing the individual capabilities
that each gives the developer, CORBA provides a much richer and
more powerful environment. Most of the CORBA services have yet to be specified, however. Current DCE
implementations provide services that are not yet provided by CORBA implementations (in a standard
way): CDS (Naming), Security, DTS (Time), and Threads. The CORBA Naming Service has been specified,
and partial implementations are available now. The CORBA Security and Time Services will not be specified
until late 1995, and we do not expect to see them available in CORBA implementations until late 1996.
OMG
has no plans at this time to specify a Threads Service.
If these services are essential
to a development effort, the alternatives at present are to use CORBA and
implement the required services yourself or use DCE. If you implement to OMG-specified interfaces, your
service implementations will eventually become superfluous and code that uses those services will port
directly to vendor- supplied implementations, when they are available.
If you decide to use DCE, we suggest
doing so with an object-oriented package like DECs DCE++
[Viveney] or HPs OODCE [Dilley]. This will position you to make the transition to CORBA more easily
in
the future. In addition, it is important to be aware that the use of DCE datatypes that are not supported
by
CORBA (pointers, for example, as discussed in Section 5) can make the transition to CORBA significantly
more painful.
During the next two years, the
object technology that OMG is specifying will migrate down into the
operating systems that are delivered with workstations from all of the major vendors. As a result of
OMGs
recent adoption of CORBA 2.0 specifications that include inter-ORB interoperability [CORBA2], we expect
to see CORBA gaining widespread acceptance during the next two years, and we expect that its object
orientation and rich set of services will make it the distributed computing platform of choice.