OSF DCE Application Development Guide--Core Components
Chapter 14. RPC and Other DCE Components
This chapter discusses aspects of the internal behavior of remote procedure calls that are
significant for advanced RPC programmers, including the following topics:
• Threads of execution in RPC applications
• Authenticated remote procedure calls
• Using the Name Service Interface
DCE RPC is a fully integrated part of the distributed computing environment. The
communications capabilities of DCE RPC are used by clients and servers of other DCE
components. In turn, RPC uses services provided by the following other DCE
components: the the DCE Threads Service, the DCE Security Service, and the DCE Cell
Directory Service.
A thread is a single sequential flow of control with one point of execution on a single
processor at any instant. Multiple threads can coexist in a single process. DCE RPC
uses threads internally for its own operations. DCE RPC also provides an environment
where RPC applications can use thread services.
The DCE RPC runtime provides RPC applications with a programming interface to the
security service. The RPC authentication interface enables RPC clients and servers to
mutually authenticate (that is, prove the identity of) each other. An authenticated remote
procedure call provides client authorization information and authentication information
to servers. Authorization information includes the credentials a client has and the
identities a client is associated with at the time of a call. By comparing client
authorization information to access control lists, a server can find out whether a client is
eligible to use a requested remote procedure. Client authentication information identifies
a client to a server.
To help RPC clients find RPC servers, RPC applications typically use a namespace. A
namespace is a collection of information about applications, systems, and any other
relevant computing resources. A namespace is maintained by a directory service such as
CDS. DCE RPC provides a Name Service Interface (NSI) that is independent of any
particular directory service.
NSI communicates with supported directory services for both RPC applications and the
RPC control program. NSI insulates RPC applications from the intricacies of using a
directory service. An RPC server uses NSI to store information about itself in a
namespace, and a client uses NSI to access information about a server that meets the
client’s requirements for a specific RPC interface and object, among other things. The
124245 Tandem Computers Incorporated 14−1