At this point, the request for data, encoded in a URL, has caused the
httpd server to execute the CGI program that represents the OPeNDAP server. The OPeNDAP server, in turn, executes one of several different
service programs, and returns the result of that execution to
the client. Though there may be others available on a given machine,
five of the services constitute the core functionality of the OPeNDAP server:
NOTE: There are other important OPeNDAP services. For a description of all the OPeNDAP services, see Section 2.2.
The OPeNDAP server is structured as a dispatch function, invoking
ancillary helper programs to provide its services. Installing an OPeNDAP server involves making sure that each of the required helper programs
is available to the server software. Here is a table of the helper
programs required for each of the OPeNDAP services for the netCDF
server. For another OPeNDAP server, the names of some of the helper
programs would have a different root (e.g. ff_ for the FreeForm
server, jg_ for JGOFS, etc.).
| Service | Suffix | Helper Program |
| Data Attribute | .das | nc_das |
| Data Descriptor | .dds | nc_dds |
| OPeNDAP Data | .dods | nc_dods |
| ASCII Data | .asc or .ascii | asciival |
| Information | .info | usage, see
Section 5.2.3 for configuration information.
|
| WWW Interface | .html | None |
| Version | .ver | None |
| Help | Anything else | None |
On the client side, the user may never see the `.das,' `.dds,' or `.dds' URL extensions. Nor will the user necessarily be aware that each URL given to the OPeNDAP client produces three different requests for information. These manipulations happen within the client library, and the user need never be aware of them.
There may be more than five service programs for a given server
implementation.14 A server may provide other "services," such as the
catalog service, or a service specific to a particular data
implementation. The three data services, however, constitute the
minimum configuration for a functional server. All three services are
involved in data requests, as the client program will use the output
from the _dds and _dds services to allocate memory and
define parameters for the output of the _dods service, which is
the actual data requested. The remaining two services, the ASCII and
information services, are primarily intended for interactive use, as
they make dataset and service information directly available to a
browser client, such as Netscape.