PreviousNext

Binding to Distributed Objects Rather than Servers

When binding to objects, binding information is hidden from the application by encapsulating it in the rpc_object_reference base class that every DCE object inherits. An application refers to a distributed object via an object reference. An application initially obtains an object reference by calling an appropriate operation defined in an interface definition or a special bind( ) function generated when the interface definition is compiled. Once an object reference is obtained, the application refers to the distributed object by calling its member functions, which are other operations defined in the interface definition. Since the location of the object (binding information) is already known and completely hidden, it is not appropriate to use explicit binding handles on these member functions.

Traditional DCE RPC object models limit what an object represents. In these models, objects represent resources on various servers or multiple servers on individual hosts. These models do not allow for objects to represent many different things in a single application. In addition, these models use a mechanism to group objects into types so that different sets of manager routines can be implemented, but this mechanisms is unnecessary because it is built in with the C++ features of IDL. Using the object-oriented model with C++ instead is an elegant way to accomplish these things.