DAP3/4

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽

DAP2 and DAP4 Specification efforts

The original (2004) DAP4 specification work morphed into separate DAP2 and DAP4 specification efforts. The DAP 2.0 specification (official version with notes, et c.) was approved by NASA ESE/SPG as a 'Community Standard' on 10/8/2007.

This page holds the DAP4 design and specification information. Note that ESE RFC 003 is the reference for NASA ESE/SPG standards documents.

Here's the original (2003!) DAP 4.0 draft document which we shelved in favor or writing the DAP 2.0 document because the latter described existing software - a requirement of the ESE/SPG.

Completed Changes From DAP2

OPeNDAP has three implementations of the DAP that it maintains: libdap (C++), Java-OPeNDAP (Java) and Ocapi (C; client-side only). There are other implementations which have been developed by other groups.

Features of DAP3/4 implemented in libdap

libdap is the reference implementation for DAP. Here are the DAP3 features implement in it so far:

  • DDX (although this implementation needs significant review and update)
  • XDAP header for the protocol version
  • Updated Version response which provides information about software versions and DAP version.

Proposed Changes To DAP

Most desirable features

This is a list of the very most desirable features proposed for DAP3 (which when final will become DAP4). Only the very most important items are listed here, other documents list everything that's ever been suggested.

This ideas came directly from our experience with users of DAP 2 and from writing the DAP 2.0 specification:

  • Reliable error delivery when accessing data (known defect);
  • Eliminating the repetition of the array size for an array of Atomic types in the Data Response;
  • Support for 'any character in a name' using double quotes oe some other scheme;

These ideas are very general and are paired with there 'justification':

  • Use of Multi-part MIME for DataDDX (feature --> adherence to standard where applicable);
  • Develop the DataDDX (feature --> adherence to standard ...);
  • Ability to return checksums from data requests (feature with several use cases);

All of the proposed changes to date

Items in italics have been moved up to the 'most desirable features' section which means they are slated for addition to DAP.

  • Data Access Features:
    • Checksum: Provide a checksum with each (data only?) response and also a way to access just the checksum for a given response.
    • Cyclic access to array indexes
    • Relational array constraints
  • Organization of attributes: The ideas from this email (2005) are relevant to recent (2008) work on the DDX and semantic web reasoners.
  • Use of MIME: Basic ideas here have been developed in much more detail as a result of work on SOAP interfaces for DAP (which themselves have been sort of a flop).