Sun Microsystems 5800 User Manual

Page of 136
Basic Concepts
The root of the 5800 system Java client API is the NameValueObjectArchive class, which
represents a connection to a single 5800 system server. All operations are initiated by invoking
methods on a NameValueObjectArchive instance after initializing it with the address of a
cluster. The fact that a cluster of machines, rather than a single server, is handling the requests is
transparent to the application programmer.
A NameValueObjectArchive uses instances of the ObjectIdentifier class to uniquely identify
stored data objects. That is, there is a one-to-one correspondence between instances of
ObjectIdentifer
and 5800 system metadata objects.
Note –
There is potentially a many-to-one relationship between metadata and data objects.
When using NameValueObjectArchive, all metadata queries are executed against a 5800 system
server’s user-configurable index of name-value pair lists. This class also ensures that a metadata
entry is created for every data object stored, even if no metadata is provided at store time.
An instance of the NameValueObjectArchive class functions as a proxy for the 5800 system
server. Instantiation incurs some overhead in establishing communication, so reusing a single
instance is the recommended practice. Multithreading is supported with the same instance.
NameValueObjectArchive
also allows all metadata operations to be performed in terms of two
classes that represent metadata records: SystemRecord and NameValueRecord. These classes
represent 5800 system metadata entries. When using NameValueObjectArchive, every stored
data object has a corresponding NameValueRecord that contains the extended attributes stored
with that data object, and each NameValueRecord has a reference to its SystemRecord, which
contains built-in system attributes such as data object size and creation time. In this model, all
instances of ObjectIdentifer returned from store operations and metadata queries
correspond directly to instances of NameValueRecord.
The results of a 5800 system metadata query are returned using instances of the
QueryResultSet
class, which the application can step through to retrieve metadata or
identifiers. This class manages the details of fetching one batch of results after another.
Key Classes
This section provides an overview of the following key classes in the 5800 system Java client
API. For more information on using the following classes, see
Also see the Javadoc provided with the 5800 system SDK.
Java API
Sun StorageTek 5800 System Client API Reference Manual • June 2008
28