An application program interface (API) is a formal method of access to a computational resource such as a disk file, set of disk files or a device such as the display screen.
The DODS data delivery architecture addresses access to data stored on-line on computer systems. In this paper we assume that an API is used to access data stored on a random access storage device such as a disk drive. However, it may be the case that some data are not actually accessed via disk files but through a more complex mechanism such as specialized database hardware systems. None-the-less, the architecture of the data delivery design is still based on the concept of access to data through an API, stored in disk files.
A specific API implementation consists of a set of operations used to access
an instance of a well defined resource. The set of operations are typically
functions such as open, read, etc., that the system uses to provide access to
the resource. API operations are made available to the application program
usually as function calls in a software library. Figure
shows a user program linked with an API that is used to access some data.
As is shown in Figure
, an API consists of an external
interface and some internal implementation. The external interface is used by
the application program. This external interface is assumed to be very
constant throughout the life of the API. User programs can expect that future
implementations of the API may improve performance or provide additional
features, but will still present the original set of function calls, possibly
with some additions over time.
By basing data access on existing APIs, DODS is reusing software systems for which stability and longevity were principle design goals.