Note: This page has largely been superseded by design information hosted by our other wiki at
Trac (follow the
Server4 link).
As of 1 Nov 2005, the first release (1.0) of Server4 is running. We will publically release the software until version 1.2 is ready. --
JamesGallagher - 06 Nov 2005
In DAP4, we'll support a SOAP interface. I'd like to base a new server design on a Java front end which handles dispatching a request (or requests) that arrive in a SOAP envelope. The SOAP toolkits for Java are better than those for C++. I picked Anagram for a couple of reasons, but I don't know enough about its insides to say that is the best option. I know that it will require some modifications to get it to handle SOAP, but Joe W told me those would be minor.
The new server design is based largely on Jose Garcia's design presented at the Boulder DODS technical meeting in 2003.
Here are some of my goals:
- Replace the Perl code using version 3.x with Java.
- Move from a Java or C++ situation to a Java and C++ one.
- Unify the Java and C++ development efforts within OPeNDAP.
- Provide support for Anagram. [I'm not so hot on this any more. Tennessee L. had some pretty rough experiences with Anagram. We should investigate. -- JamesGallagher - 09 Apr 2004]
- Improve per user access
- Resolve the Java-DODS versus Java-OPeNDAP cvs issues.
Here's a diagram of the architecture (which is Jose Garcia's idea, hacked to show a Java/SOAP front end):
--
JamesGallagher - 18 Feb 2004
Other requirements:
- Remove compiler warnings [Done; new warnings on x86 64-bit. -- JamesGallagher - 16 May 2005]
- Switch to automake; make sure there's a 'dap-config --lib' script. [Mostly done: We're using the new configure stuff but not automake; there's a dap-config script -- JamesGallagher - 16 May 2005]
- Reorganize code: [Mostly done: libdap moved out of the DODS module to one of its own; installs in prefix; packages now in prefix; one separate module for libnc-dap (aka lbnc-dods); dap-server module created. -- JamesGallagher - 16 May 2005
- libdap --> better packaging (see packaging discussion in "The Rational Unified Process...")
- libdap installs in '--prefix'
- packages are installed in '--prefix' too
- separate server modules, clients
--
JamesGallagher - 14 Apr 2004
- Here is a proposed architecture:
This diagram suffers from (at least) the glaring omission of THREDDS (because I don't get the THREDDS thing at all...) and some representation of how we are going to handle streamed responses.
--
NathanPotter - 07 Jun 2005