Prev Up Next Index
Go backward to 1.1.2 An Example: Using OPeNDAP
Go up to 1.1 Why Use OPeNDAP to Read Data?
Go forward to 1.2 Providing Data with OPeNDAP

1.1.3 The OPeNDAP Client

OPeNDAP uses a client/server model. As mentioned previously, the OPeNDAP servers are simply httpd web servers, equipped to interpret an OPeNDAP URL sent to them. (See Chapter 5.) The OPeNDAP client program can be any program that uses one of the supported APIs, such as JGOFS or netCDF.3

Without OPeNDAP, an application program that uses one of the common data access APIs such as netCDF will operate as shown in figure 1.1.3. The user makes a request for data from the application program. The program in turn uses procedures defined by the data access API to access the data, which is stored locally on the host machine. Some APIs are somewhat more sophisticated than this, of course, but their general operation is similar to this outline.

 

The Architecture of a Data Analysis Package.

The operation of an OPeNDAP client is illustrated in figure 1.1.3. Here, the same application program that was used in figure 1.1.3 has been linked with an OPeNDAP version of the data access API. Now, in addition to being able to use local data as before, the application program is able to access data from OPeNDAP server anywhere on the Internet in the same manner as the local data.

To make some program into an OPeNDAP client, it must only be re-linked with the OPeNDAP implementation of the supported API library. This is a simple process, generally requiring only a few minutes. The process will create a program that accepts URLs, specifying a location for the data somewhere on the Internet, in addition to file pathnames which only specify a location on the local platform's file system. (See Section 3.1.)

 

The Architecture of a Data Analysis Package Using OPeNDAP.

OPeNDAP also provides a data translation facility. Data from the original data file is translated by the OPeNDAP server into an OPeNDAP data model for transmission to the client. Upon receiving the data, the client translates the data into the data model it understands. (See Chapter 6 for more information about the OPeNDAP data model.) Because the data transmitted from an OPeNDAP server to the client travel in the OPeNDAP format, the data set's original storage format is completely irrelevant to the user of an OPeNDAP client. If the client was originally designed to read netCDF format files, the data returned by the OPeNDAP-netCDF library will appear to have been read from a netCDF file, whatever the actual format of the files from which the data were read4. If the program expects JGOFS data, the DODS-JGOFS library will return data that seem to have come from a JGOFS dataset, again, no matter what the actual input file format.

OPeNDAP does not pretend to remove all the overhead of data searches. A user will still have to keep track of the URLs of interesting data sets in the same way a user must now keep track of the names of files containing interesting data. an OPeNDAP catalog service is in the process of being constructed that will help users scan the available datasets.


Tom Sgouros, August 25, 2004

Prev Up Next