OSF DCE Application Development Guide--Core Components
Chapter 5. The DCE Backing Store
This chapter describes the backing store library that DCE provides for the convenience
of programmers who are writing DCE servers. A backing store is a persistent database
or persistent object store from which typed data can be stored and retrieved by a key.
Note: Sometimes the backing store is called a database. For instance, the
associated IDL file is dce/database.idl, and the name of the backing store
routines begin with dce_db_. The backing store is, however, not a full-
fledged database in the conventional sense, and it has no support for SQL
or for any other query system.
Servers generally need to manage several objects. Good design often requires that the
state of the objects be maintained over sequential instances of a particular server. For
example, the ACLs used by a server should not need to be recalculated each time the
system is rebooted. The backing store interface provides a way to store, into a file, any
data that can be described with IDL so that it can persist across instances of software that
run from time to time. For example, the ACL library uses the backing store library. The
backing store routines can be used in servers, in clients or in standalone programs that do
not involve remote procedure calls (RPCs). Backing store data should not be used for
sharing data between processes.
5.1 Data in a Backing Store
The backing store interface provides the applications programmer with the capability for
tagged storage and retrieval of typed data. The tag (or retrieval key) can be either a
UUID or a standard C string. For a specific backing store, the data type must be
specified at compile time and is established through the IDL encoding services. Each
backing store can contain only a single data type.
Each data item (which may also be called a data object,oradata record) consists of the
data stored in a single call to a storage routine. The storage routines are dce_db_store(),
dce_db_store_by_name(), and dce_db_store_by_uuid( ). Optionally, data items may
have standard headers. If a backing store has been created to use headers, then every
data item has the header.
124245 Tandem Computers Incorporated 5−1