The goal of building a client library is to provide a drop-in replacement for an existing API so that user programs written for that API can switch to the DODS version and access remote DODS data. The user programs should not require any modification to change over to the DODS client library version of the API. However, the API will clearly need substantial changes to its current implementation.
In order to build the DODS client library for a particular API, it is useful to divide the API to be re-implemented into five categories of functions: