General Navigation Buttons - Home | Search | Contact Us | Site Map | Whats New
products graphic
white space
products
Software Technology Roadmap
What's New
Background & Overview
Technology Descriptions
Defining Software Technology
Technology Categories
Template for Technology Descriptions
Taxonomies
Glossary & Indexes
Feedback & Participation
Software Engineering Information Repository (SEIR)
white space
About SEI|Mgt|Eng|Acq|Collaboration|Prod.& Services|Pubs
pixel
Rollover Popup Hints for Topic Navigation Buttons above
pixel
Distributed Computing Environment


Status

Advanced

Note

We recommend Middleware as prerequisite reading for this technology description.

Purpose and Origin

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.

Technical Detail

The DCE architecture is shown in Figure 10 [Schill 93].

Figure 10: Distributed Computing Environment Architecture

DCE services are organized into two categories:

  1. 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.
  2. 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.

Usage Considerations

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].

Maturity

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:

  1. Installing a CORBA-based product over DCE to provide additional support for distributed object technologies and a wide range of standardized service interfaces.
  2. Integrating Network COM/DCOM (see Component Object Model (COM), DCOM, and Related Capabilities) into the DCE infrastructure.

Costs and Limitations

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

Dependencies include Remote Procedure Call (RPC).

Alternatives

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).

Complementary Technologies

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).

Index Categories

This technology is classified under the following categories. Select a category for a list of related topics.

Name of technology

Distributed Computing Environment

Application category

Distributed Computing (AP.2.1.2)

Quality measures category

Interoperability (QM.4.1)
Portability (QM.4.2)
Scalability (QM.4.3)
Security (QM.2.1.5)
Maintainability (QM.3.1)
Complexity (QM.3.2.1)
Throughput (QM.2.2.3)

Computing reviews category

Distributed Systems (C.2.4)

References and Information Sources

[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.

Current Author/Maintainer

Cory Vondrak, TRW, Redondo Beach, CA

Modifications

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