|
Advanced
We recommend Middleware as prerequisite reading for this technology description.
Developed and maintained by the Open Systems Foundation (OSF), the
Distributed
Computing Environment (DCE) is an integrated
distributed environment which
incorporates technology from industry. The DCE is a set of integrated system
services that provide an
interoperable and
flexible distributed environment with the primary
goal of solving interoperability problems in heterogeneous,
networked environments.
OSF provides a reference implementation (source code) on which all DCE
products are based
[OSF 96a].The DCE is
portable and flexible- the reference implementation is independent of both networks and operating systems and provides an architecture in which new technologies can be included, thus allowing for future enhancements. The intent of the DCE is that the reference implementation will include mature, proven technology that can be used in parts- individual services- or as a complete integrated infrastructure.
The DCE infrastructure supports the construction and integration of
client/server
applications while attempting to hide the inherent
complexity of the
distributed processing from the
user
[Schill 93]. The OSF DCE is intended to form a comprehensive software platform on which distributed applications can be built, executed, and maintained.
The DCE architecture is shown in Figure 10
[Schill 93].

Figure 10: Distributed Computing Environment Architecture
DCE services are organized into two categories:
-
Fundamental
distributed services provide tools for software developers to create the end-user services needed for distributed computing. They include
- Remote Procedure Call, which provides
portability, network independence, and
secure distributed applications.
- Directory services, which provide full X.500 support and a single naming model to allow programmers and maintainers to identify and access distributed resources more easily.
- Time service, which provides a mechanism to monitor and track clocks in a
distributed environment and accurate time stamps to reduce the load on
system administrator.
- Security service, which provides the
network with authentication, authorization, and user account management
services to maintain the integrity, privacy, and authenticity of the distributed system.
- Thread service, which provides a simple, portable, programming model for building concurrent applications.
- Data-sharing services provide end users with capabilities built upon the fundamental distributed services. These services require no programming on the part of the end user and facilitate better use of information. They include
- Distributed file system, which interoperates with the network file system
to provide a high-performance,
scalable, and secure file access system.
- Diskless support, which allows low-cost workstations to use disks on
servers, possibly reducing the need/cost for local disks, and provides
performance enhancements to reduce
network overhead.
The DCE supports International Open Systems Interconnect (OSI)
standards, which are critical to global interconnectivity. It also
implements
ISO standards such as CCITT X.500, Remote
Operations Service Element (ROSE), Association Control Service Element (ACSE),
and the ISO session and presentation services. The DCE also supports
Internet standards such as the TCP/IP transport and network protocols, as well as the Domain Name System and Network Time Protocol provided by the Internet.
The DCE can be used by system vendors, software developers, and end users. It
can be used on any
network hardware and
transport software, including TCP/IP,
OSI, and X.25. The DCE is written in standard C and uses standard operating
system service interfaces like POSIX and X/Open guidelines. This makes the DCE
portable to a wide variety of platforms. DCE allows for the extension of a
network to large numbers of nodes, providing an environment capable of
supporting networks of numerous low-end computers (i.e., PCs and Macintosh
machines), which is important if downsizing and distributing of processing is
desired. Because DCE is provided in source form, it can be tailored for
specific applications if desired
[OSF 96a].
DCE works internally with the
client/server model and is well-suited for
development of applications that are structured according to this model. Most
DCE services are especially optimized for a structuring of distributed
computing systems into a
"cell"
(a set of nodes/platforms) that is managed together by one authority.
For DCE, intra-cell communication is optimized and relatively secure and transparent. Inter-cell communication, however, requires more specialized processing and more complexity than its intra-cell counterpart, and requires a greater degree of programming expertise.
When using the
thread services provided by DCE, the application programmer
must be aware of thread synchronization and shared data across threads. While
different threads are mutually
asynchronous up to a static number defined at
initialization, an individual thread is
synchronous. The complexity of thread programming should be considered if these services are to be used.
DCE is being used or is planned for use on a wide variety of applications, including the following:
- The Common Operating Environment. DCE has been approved by DISA
(Defense Information Systems Agency) as the distributed computing technology
for the Common
Operating Environment (COE) (see Defense Information Infrastructure Common Operating Environment).
- The Advanced Photon Source (APS) system. This is a synchrotron radiation facility under construction at Argonne National Laboratory.
- The Alaska Synthetic Aperture Radar Facility (ASF). This is the ground station for a set of earth-observing radar spacecraft, and is one of the first NASA projects to use DCE in an operational system.
- The Deep Space Network's Communications Complexes Monitor and Control Subsystem. This project is deploying DCE for subsystem internal communications, with the expectation that DCE will eventually form the infrastructure of the entire information system.
- The Multimission Ground Data System Prototype. This project evaluated the applicability of DCE technology to ground data systems for support of JPL flight projects (Voyager, Cassini, Mars Global Surveyor, Mars Pathfinder).
- Earth Observing Systems Data Information System. This NASA system
is one of the largest information systems ever implemented. The system is
comprised of
legacy systems and data, computers of many varieties, networks, and satellites in space.
- Command and control prototypes. MITRE has prototyped command and
control (C2) applications using DCE technology. These applications provide
critical data such as unit strength, supplies, and equipment, and allow staff
officers to view maps of areas of operation
[OSF 96b].
In early 1992, the OSF released the source code for DCE 1.0. Approximately 12
vendors had ported this version to their systems and had DCE 1.0 products
available by June 1993. Many of these original products were "developer's
kits" that were not robust, did not contain the entire set of DCE features
(all lacked distributed file services), and were suited mostly for UNIX
platforms
[Chappell 93].
The DCE continues to evolve, but many large organizations have committed to basing their next generation systems on the DCE- over 14 major vendors provided DCE implementations by late 1994, when DCE 1.1 was released.
DCE 1.2.1, released in March 1996, provided the following new features:
- Interface definition language (IDL)
support for C++ to include features
such as inheritance and object references in support of
object-oriented applications. This feature supports adoption of any object model or class hierarchy, thus providing developers with additional flexibility.
- Features to provide for coexistence with other application environments.
- Improvements over DCE 1.1 including enhancements to achieve greater
reliability and better performance
[OSF 96a].
Two other approaches to supporting objects are being considered besides the
approach described for DCE 1.2:
- Installing a CORBA-based product over DCE to provide additional support for distributed object technologies and a wide range of standardized service interfaces.
- Integrating Network COM/DCOM (see
Component Object Model (COM), DCOM, and Related Capabilities) into the DCE
infrastructure.
DCE was not built to be completely object-oriented. The standard interfaces
used by the DCE, as well as all the source code itself, are defined only in
the C programming language. For object-oriented applications (i.e.,
applications being developed using an object-oriented language (see Object-Oriented Programming Languages)
such as C++ or Ada 95, it may be more
complex, less productive (thus more expensive), and less maintainable to use a
non-object-oriented set of services like the DCE
[Chappell 96].
Object-oriented extensions of the DCE have been developed by industry, but an agreed to vendor-neutral standard was still being worked in 1996.
Dependencies include Remote Procedure Call (RPC).
Alternatives include CORBA (see Common
Object Request Broker Architecture), COM/DCOM (see Component Object Model (COM), DCOM, and Related
Capabilities),
and message-oriented middleware (see Message-Oriented Middleware).
DCE, in-part, has been used in building CORBA-compliant (see Common Object Request Broker Architecture) products as
early as 1995. OSF is considering support for objects using COM/DCOM (see Component Object Model (COM), DCOM, and
Related Capabilities).
This technology is classified under the following categories. Select a
category for a list of related topics.
|
[Brando 96]
|
Brando, T. "Comparing CORBA & DCE."
Object Magazine 6, 1 (March 1996): 52-7.
|
|
[Chappell 93]
|
Chappell, David. "OSF's DCE and DME: Here Today?" Business Communications
Review 23, 7 (July 1993): 44-8.
|
|
[Chappell 96]
|
Chappell, David. DCE and Objects [online]. Available WWW <URL:
http://www.opengroup.org/dce/info/dce_objects.htm> (1996).
|
|
[OSF 96a]
|
Open Software Foundation. The OSF Distributed Computing Environment
[online]. Available WWW <URL: http://www.osf.org/dce/>
(1996).
|
|
[OSF 96b]
|
Open Software Foundation. The OSF Distributed Computing Environment:
End-User Profiles [online]. Available WWW URL: <
http://www.osf.org/comm/lit/dce-eup/> (1996).
|
|
[Product 96]
|
DCE Product Survey Report [online]. Available WWW <URL:
http://nsdir.cards.com/Libraries/HTML/PDLC/DCE_prod_surv_rpt.html>
(1996).
|
|
[Schill 93]
|
Schill, Alexander. "DCE-The OSF Distributed Computing Environment
Client/Server Model and Beyond," 283. International DCE
Workshop. Karlsruhe, Germany, October 7-8, 1993. Berlin, Germany:
Springer-Verlag, 1993.
|
Cory Vondrak, TRW, Redondo Beach, CA
25 June 97: modified/updated OLE/COM reference to COM/DCOM
10 Jan 97 (original)
The Software
Engineering Institute (SEI) is a federally funded research and
development center sponsored by the U.S. Department of Defense
and operated by Carnegie Mellon University.
Copyright
2007
by Carnegie Mellon University
Terms of Use
URL: http://www.sei.cmu.edu/str/descriptions/dce_body.html
Last Modified: 11 January 2007
|