OSF DCE Application Development Guide--Introduction and Style Guide

Chapter 4. Binding
Binding is the process by which an RPC client establishes a relationship with a server
that supports an interface, object, or some other resource the client is interested in. Since
clients operate on server-held resources by making RPCs, you can think of binding,
specifically, as creating the state required for an RPC to be made. In practice, the work
of binding clients to servers normally involves name and endpoint mapping services.
Strictly speaking, however, neither of these services is required for binding, since well-
known bindings and endpoints can be used (in the form of string bindings). This chapter
discusses the underlying binding model, apart from the use of name and endpoint
services. It forms an essential introduction for the discussion of name and endpoint
services that follows in Chapter 5.
4.1 The Binding Model
Binding refers to the establishment of a relationship between a client and a server that
permits the client to make a remote procedure call to the server. The term binding
usually refers specifically to a protocol relationship between a client and either the server
host or a specific endpoint on the server host, and binding information means the set of
protocol and addressing information required to establish such a binding. But, for a
remote procedure call, such a binding occurs in a context that involves other important
elements, paralleling the notion of a binding in a local procedure call. In order for an
RPC to occur, a relationship must be established that ties a specific procedure call on the
client side with the manager code that it invokes on the server side. This requires both
the binding information itself and a number of additional elements (see Figure 4-1). The
complete list is as follows:
A protocol sequence that identifies the RPC and underlying transport protocols
An RPC protocol version identifier
A transfer syntax identifier
A server host network address
An endpoint of a server instance on the host
124246 Tandem Computers Incorporated 41