Though servers are included in the OPeNDAP core software, some
users may wish to write their own OPeNDAP data servers. The architecture
of the httpd server and the OPeNDAP core software make this a
relatively simple task.
A user may wish to write his or her own OPeNDAP server for any or all of the following reasons:
The design of the OPeNDAP library make the task a relatively simple one for a programmer already familiar with the data access API to be used. Also, though the servers provided with the OPeNDAP core software are written in C++, they may be written in any language from which the OPeNDAP libraries may be called.
Once it is invoked, a CGI program scoops up whatever input is going to
the standard input stream of the Web server (httpd) that invoked it.
Further, the standard output of the CGI is piped directly to the WWW
library, which sends it directly back to the requesting client. This means
that the CGI program itself need only read its input from standard input
and write its output to standard output.
Most of the task of writing a server, then, consists of reading the data with the data access API and loading it into the OPeNDAP classes. Method functions defined for each class make it simple to output the data so that it may be sent back to the requesting client.
Refer to The DODS Toolkit Programmer's Guide for specific information about the classes and the facilities of the OPeNDAP core software, and instructions about how to write a new server.