The DCE Executive consists of the
following components:
Security Services that support
authentication (using Kerberos V5, clients and servers can prove who they
are), authorization (servers can use access control lists to determine whether a client is authorized
to obtain
a given service), integrity (checksums guarantee that information is received as transmitted), and privacy
(DES encryption protects sensitive information from disclosure during transmission between a client
and
server).
Directory Services that support
local DCE administration domains called cells and inter-cell name resolution.
These services consist of a Cell Directory Service (CDS), Global Directory Service (GDS, which uses
X.500),
Domain Name Service (DNS, not supplied, but used by DCE), and a Global Directory Agent (GDA).
A Distributed Time Service (DTS)
that synchronizes clocks on all hosts in a DCE cell, as well as between
cells. DTS uses the UTC standard and is interoperable with NTP.
A Remote Procedure Call (RPC) mechanism
by which clients invoke procedures in servers. A client may use
directory services to bind to a particular server of interest at run time, and the client and server
may use
security services to guarantee desired levels of authentication, authorization, integrity, and privacy.
The RPC mechanism insulates clients
from details of where servers are located on the network, the types of
hardware and operating system platforms on which they execute, differences in data representations
between client and server platforms, and the particular network transports in use.
A Threads package based on POSIX
1003.4a (draft 4) that supports the creation and management of
multiple threads of control within a client or server. A multi-threaded client may perform additional
work
(perhaps invoke additional RPCs) while one RPC is pending. The dispatcher that receives RPCs at a server
and invokes the appropriate RPC handlers is already multi-threaded, automatically permitting DCE servers
to handle multiple RPCs concurrently. The maximum number of concurrent RPCs at a server is easily
configured by the developer, who is also responsible for ensuring the thread-safe behavior of all RPC
handlers.