Most client/server systems are built around a fixed set of client and server programs. Often, the designers of such a system specify a communication protocol to be used by the two processes and then design a server and a client program. Because the communication protocol used by the system is documented, it is fairly easy for a third party to build new clients (or servers, although that is less common) for the system. An example of such a system is the World Wide Web designed initially at the European Laboratory for Particle Physics. Subsequent to the Web's appearance, many new client programs have been introduced by third parties. In fact, the DODS client libraries are a type of WWW client program.
However, the DODS client libraries are different from most WWW browsers because they are themselves used to build programs. The DODS netCDF library, for example, can be used to add network connectivity to any program which uses netCDF. Even though the DODS client libraries contain all the software needed to be full-fledged WWW clients, they are not intended to be stand alone programs themselves; instead they are tools which can be used to add network I/O capability to programs which already use one of the DODS supported APIs.
Because the DODS client libraries are designed to be complete replacements for existing libraries, they must be written so as to faithfully emulate the original implementation's behavior. If the client library meets this criterion, then it can be used with existing programs without requiring those programs be modified in any way. This is the fundamental requirement which any DODS client library must meet.