OSF DCE Application Development Guide--Introduction and Style Guide
Binding
This leads to two important recommendations:
• Servers should export to the namespace at least one UUID as a tag for its endpoints,
and should register the UUID with the endpoint map.
• Servers which support multiple objects should also support the object management
interface(s) discussed in Chapter 5, instead of exporting multiple object UUIDs to the
namespace.
4.2 Binding Handles
Binding handles, although they appear as parameters of RPCs, are in fact purely local to
the server or client applications that use them. A binding handle is simply a reference to
binding information that is cached by the local runtime. The runtime uses this binding
information to construct its side of a client-server association. Even when a binding
handle appears as an explicit parameter of an RPC, it is not marshalled or unmarshalled
as call data in the same way as other call parameters.
On the client side, a binding handle parameter simply permits an application to indicate
explicitly to the runtime which cached binding should be used for the call.
On the server side, a binding handle parameter provides a manager operation with a
reference to cached binding information for the calling client so that the manager can, for
example, extract authorization information about the client.
In calls to ubiquitous interfaces, such as the rpc_mgmt interface, partial bindings
without an object UUID are rarely adequate, since the endpoint mapper cannot know
which server supporting the ubiquitous interface is of interest to the client. The usual
model is that the ubiquitous interface is not exported to the name space. Instead, the
client imports bindings based either on another interface supported by the server or an
object UUID. If servers follow the recommendation to export at least one UUID with
their bindings, no additional preparation will be necessary to allow their clients to
successfully call the ubiquitous interfaces the offer. If they do not export the UUID, they
will have to adopt the rpc_ep_resolve_binding( ) method described in Section 4.1.4.
4.3 Binding Methods
In view of what was said earlier about binding handles, the binding method chosen also
will be a purely local matter for the client application and stubs. For example, it is
perfectly feasible for a server manager to make explicit use of binding information via a
binding handle parameter in a remote call, even though the client does not use an explicit
handle for the call.
DCE RPC provides the automatic, implicit, and explicit methods for clients to manage
bindings for remote procedure calls:
124246 Tandem Computers Incorporated 4−9