Overview of the 5800 System Java Client API
The 5800 system Java client library provides a
Interfaces
The Java client API interacts with the 5800 system server entirely through an HTTP protocol. The HTTP communication layer uses the Apache Commons HTTP client.
Object data is streamed through the Java client library opaquely and a
The 5800 system Java client library provides the NameValueObjectArchive class as an application access layer, which should be appropriate for most applications. In addition, an advanced interface provides a mechanism to customize the 5800 system and to serve as a toolkit to build new applications.
Note – The advanced toolkit is not described in this document. If you are interested in pursuing advanced applications, contact your 5800 system Sales Representative.
Retrying Operations
Calls to the Java API should be wrapped with retry logic so that their applications are resilient to transient failures that may be experienced when a node or switch fails while servicing an operation.
Requests that fail on recoverable HTTP errors are automatically retried once. A typical recoverable error occurs when the 5800 system HTTP server times out a connection that the client then tries to reuse (the client maintains a collection pool). This results in a connection failure at request time. Because this is a recoverable error, it is retried and the retry typically succeeds.
Performance and Scalability
Starting the Java Virtual Machine (JVM) incurs a performance penalty, but once the JVM is running, you can use the client object archive repeatedly and from multiple threads. I/O is synchronous (blocking). HTTP connections are pooled for performance. You should instantiate one instance of the NameValueObjectArchive per 5800 system server and use it for all access to that server until exit.
26 | Sun StorageTek 5800 System Client API Reference Manual • June 2008 |