next up previous contents
Next: Remote Procedure Call RPC Up: Important Terms and Technologies Previous: Important Terms and Technologies   Contents

Application Programming Interface--API

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.

Figure: Architecture of a Simple User Program--An API is Used to Access Data in a Disk File.
\begin{figure}\centerline{\psfig{figure=stand-alone3.ps,width=4.5in}}\end{figure}


next up previous contents
Next: Remote Procedure Call RPC Up: Important Terms and Technologies Previous: Important Terms and Technologies   Contents
James Gallagher 2004-04-21