PreviousNext

An Object-Oriented Namespace

Object-specific entries are namespace entries that each contain binding information only for one specific object or resource, as demonstrated in the last printer service shown in the last previous figure. Object can mean any of several things, depending on what kind of service the application's servers are offering. Here are some examples.


Some Examples of Objects

Service Object(s)
Printing A specific printer
Process Server A specific server
Queue Service The print queue, the kill queue, the backup queue
Thus, for a client that wants to have a file printed, it is natural to allow it to specify a printer as a destination. Therefore, the client would bind to the print server through a name entry that specifies a printer. To send something to a different printer, the client would import a binding from the name entry for that other printer. The server may (or may not) be identical, but the object UUID in the binding handle returned would uniquely specify the one printer represented by that entry.

On the other hand, consider an application that returns statistics about the processes currently active on a group of machines. In this case it would be reasonable to regard the server as the object. In the namespace entries for such an application, each entry would uniquely represent one server. A client would import a binding from the name entry for the server it wanted to work with.

In other words, object is a handy way of saying "the thing that clients will want to access" in order to accomplish the task set for the application. If the namespace is organized correctly, clients will be able to import bindings from these objects' entries.