A DODS data server is a collection of three executable programs and a CGI which provide access to data using HTTP. Each of the program/CGI units is capable of satisfying one of the three requests which are defined in the Data Access Protocol. The DAP defines two ways to access metadata which describes the contents of the data set (one for use by the DODS surrogate libraries and one for use by third-party software and users) and one way to access data. Data access is accomplished by reading the variables which comprise the data set. This access can be modified using a constraint expression so that only portions of the variable are actually read from the data set.
An essential characteristic of a DODS data server is that it be capable of evaluating the constraint expression associated with a data access request. In many cases reading a single variable from a data set results in data which is of little or no interest to the user. Often users are interested in those values of a variable which meet some additional criteria (e.g., they fall within a certain time range). For a complete description of the data types supported by DODS and the constraint expression operators, see ``DODS--Data Access Protocol''.