PreviousNext

Why DCE?

Given that, for one of the reasons previously mentioned or some other reason, an organization decides that it wants to acquire distributed computing capability, why is DCE in particular advantageous? Why would an organization with a network such as the one in the figure entitled A Potential DCE Network benefit from using DCE to enable distributed computing?

DCE's benefits can be categorized into its support of distributed applications, the integration of its components with each other, DCE's relationship to its platforms, its support for data sharing, and DCE's interaction with the world outside of DCE:

· DCE provides tools and services that support distributed applications.

DCE provides a high-level, coherent environment for developing and running applications on a distributed system. The DCE components fall into two categories: tools for developing distributed applications, and services for running distributed applications. The tools, such as DCE Remote Procedure Call and DCE Threads, assist in the development of an application. The services, such as the DCE Directory Service, Security Service, and Distributed Time Service, provide the support required in a distributed system that is analogous to the support an operating system provides in a centralized system.

(It is possible to develop distributed applications with much less assistance than what DCE offers. Programmers can write applications that cooperate across machines by explicitly writing the code that performs the network communications between them, but this requires much time and expertise. Programmers can also write distributed applications using a communications tool, such as remote procedure call, while explicitly using other necessary technologies, like standalone name and security services. However, DCE provides a set of components necessary for distributed computing that are already integrated, and that do as much work as possible automatically for the application programmer, system administrator, and end user.)

· DCE's set of services is integrated and comprehensive.

A second benefit is the integration and comprehensiveness of the DCE components. Not only does DCE provide all the tools and services needed for developing and running distributed applications, but the DCE components themselves are well integrated. They use one another's services whenever possible, since many of the DCE components are themselves distributed applications. In addition to supporting the development of distributed applications, DCE includes services that address some of the new problems inherent in the distributed system itself, such as data consistency and clock synchronization. Finally, DCE includes management tools for administering all of the DCE services and many aspects of the distributed environment itself.

· DCE provides interoperability and portability across heterogeneous platforms.

Another benefit of DCE is its orientation toward heterogeneous rather than homogeneous systems. One way to implement a distributed system is to use a single operating system that runs on all nodes participating in the distributed network. The DCE architecture, however, allows for different operating systems and hardware platforms. Using DCE, a process running on one computer can interoperate with a process on a second computer, even when the two computers have different hardware or operating systems. DCE can therefore accommodate a wider range of networks - especially networks needing distributed computing for the historical reasons previously listed - than a model that requires the same operating system running on every node. Applications that are built using DCE are portable to other hardware/operating system platforms that run DCE.

· DCE supports data sharing.

Another benefit is DCE's support of data sharing through its directory service and distributed file service. A user anywhere in the distributed system can share data by placing it in the namespace or in a file, whichever is appropriate for the application. The data is then accessible by authorized users throughout the system.

· DCE participates in a global computing environment.

One final benefit of DCE is the way it interacts with the outside world. In addition to supporting cooperation within and between themselves, DCE systems can also interoperate with computing environments outside of DCE. In particular, the DCE Directory Service can interoperate with two standard, global directory services - X.500 and Domain Name Service - allowing users from within DCE to access information about the outside world. In this way, DCE participates in a global directory service. One benefit of such participation can be seen in DCE's distributed file system: it looks like one global file system, and users anywhere in the world can address the same file using the same global name.