OPULS Development: Difference between revisions
Line 252: | Line 252: | ||
| 6/15/2012; updated 1 Aug 2012 | | 6/15/2012; updated 1 Aug 2012 | ||
|- | |- | ||
| <del>[[DAP4 Web Services v3 | DAP4 Web Services Proposal version 3]]</del> | | <del>[[DAP4 Web Services v3 | DAP4 Web Services Proposal version 3]]</del><ins>[[DAP4: Specification Volume 2 | Volume 2: Web Services Specification]]</ins> | ||
| '''Accepted''' | | '''Accepted''' | ||
| Nathan Potter | | Nathan Potter |
Revision as of 23:17, 22 November 2013
OPULS Process
Short version: Each proposal is in one of the following categories:
- New;
- Under Consideration;
- Accepted;
- Declined;
- Under Revision; or
- Obsolete
DAP4 Specification
The draft specification has two volumes.
- Volume 1: Data Model, Persistent Representation, and Constraints.
- Volume 2: Web Services Specification
DAP4 Features Straw man
This is a straw man design, broken down into sections. It is incomplete and its content is subject to revision. This was our foil; don't use it. The two documents about under 'DAP Specification' are the current state of the DAP4 specification.
VersionsChecksumDAP Service TerminusData Model and a XML Schema that provides one representation for the data model.RequestsResponsesWeb Services (Starting Point)
Proposals
Data model
Proposal | Status | Author | Date Proposed |
---|---|---|---|
Grids Ideas | Accepted | Dennis, et al. | (Cleaned up 4/10/2012) |
XML Use in DAP4 | Accepted | Dennis | 2/25/2012 |
Top Level Group | Accepted | Dennis | 4/12/2012 |
Proposal for Supporting Keys in Sequences | Revised | Dennis | 5/28/2012 |
Constraints and Shared Dimensions | Under Consideration, closely related to Grids Ideas | James & Dennis | Modified 04/12/2012 |
Ideas for Defining VLens (and Sequences) | Under Consideration | Dennis | 02/25/2012 |
Path Specification in DAP4 | New | Dennis | 3/30/2012 |
Coordinate Systems Element | New | Dennis | 4/10/2012 |
Nested Attributes | New | Dennis | 4/12/2012 |
Subsetting Arrays and Grids By Value | New | Nathan | 4/27/2012 |
Proposal for a Constraint Notation | New | Dennis | 4/30/2012 |
Proposal for an Abstract Constraint Specification | New | James, ed. | 5/22/2012 |
Proposal for Structure Projection | New | Dennis | 5/1/2012 |
Old Version of Grids Proposal | Obsolete | Dennis | 4/10/2012 |
Filter Constraints | new | Dennis, John, Ethan | 9/17/2012 |
Constraint Expressions | new | Everyone; original note by Dennis, ed. by James | 10/29/2012 |
DAP4 Projection Syntax | withdrawn | Dennis | 2/8/2013 |
Proposed Changes to Checksumming | accepted with modifications 3/19/2013 | Dennis | 3/1/2013 |
Proposal for new VLEN representation | New | Dennis | 7/21/2013 |
Proposal for a Comprehensive Constraint Expression Syntax | New | James, Dennis, et al. | 7/29/2013 |
Alternate Proposal for a Constraint Expression Syntax | New | Dennis | 10/16/2013 |
Responses Specific to DAP4
Proposal | Status | Author | Date Proposed |
---|---|---|---|
Error Response | new | Nathan | 11/19/2013 |
Proposal to use Multi-part Mime | new 3/19/2013 | Dennis | 3/1/2013 |
DAP4: Inclusion of response metadata in the DMR | New | James | 7/23/2013 |
DAP4 DDX Grammar | Under Consideration | Dennis | |
DAP4: DDX Lexical Elements | Accepted | Dennis | 2/28/2012 |
Character Escape Mechanisms in DAP4 | Accepted | Dennis | 4/5/2012 |
DAP4: Encoding for the Data Response | Accepted | James, based on Proposed DAP4 On-The-Wire Format by Dennis | 6/5/2012, updated 8/31/12 |
DAP4: Chunked encoding | Accepted | James | 6/8/2012, updated 8/31/12 |
Proposed DAP4 On-The-Wire Format | Obsolete | Dennis | 4/8/2012 |
Proposed Multipart Mime Format | Obsolete | Dennis | 4/8/2012 |
Proposed Error Response Format | Obsolete | Dennis | 5/8/2012 |
Proposal to Replace Chunking | Obsolete | Dennis | 8/23/2012 |
Web & HTTP
Proposal | Status | Author | Date Proposed |
---|---|---|---|
DAP4 Constraint expressions and query strings. | Under Consideration | Nathan Potter | 09/24/2012 |
Possible Notation for Server Commands | New | Dennis | Modified 04/12/2012 |
DAP4 Asynchronous Request-Response Proposal (new new version) | Accepted | Ethan Davis and Nathan Potter and James Gallagher | 6/15/2012; updated 1 Aug 2012 |
Accepted | Nathan Potter | 6/18/2012 | |
DAP4 Dataset Services Response | Accepted | Nathan Potter | 6/19/2012 |
Commentary on DAP4 Related Topics
These are not intended as specific proposal, but rather as commentary on some issues with DAP4 that need addressing with specific proposals.
- Characterization of URL Annotations (Modified: 2/26/2012)
- Constructing a DDX from a Query (new: 04/12/2012)
- Notes on Constraints (new: 04/29/2012)
- DAP4: An Essay on Domain Specific Models (new: 05/05/2012)
OPULS Implementation Thoughts
Unidata's Current Thoughts
Unidata needs:
1) DAP4 C client library for use in netCDF-C library 2) DAP4 Java client library for use in netCDF-Java library 3) DAP4 Java server library for use in TDS 4) Conformance test service against which a DAP4 client library can be tested 5) Conformance test service against which a DAP4 server can be tested
The current CDM and TDS use of opendap-java library has performance problems due to extra API layers and extra copying of data. We would prefer direct serialization between CDM objects and the DAP on-the-wire data and would recommend that the OPeNDAP Java library leverage the netCDF-Java libraries.
If there are needs that the DAP4 opendap-java library be independent of the netCDF-Java library, then in order for CDM and TDS to use the opendap-java library, we would need the performance concerns mentioned above addressed. A reasonable metric would be within some percentage of cdmremote[1], say within 20-25%.
Unidata's performance requirements for Java libraries:
1) The netCDF-Java library performance reading DAP4 through the DAP4 Java client library must perform within 20-25% of cdmremote [1]. 2) TDS performance when handling DAP4 requests using the DAP4 Java server library should perform within 20-25% of cdmremote [1].
We believe this means that the DAP4 Java libraries must provide a sufficiently generic API that can be used directly with the CDM/TDS IOSP interface.
Unidata will:
1) Write the DAP4 C client library. 2) ??? some part of Java server library 3) ??? some parts of conformance testing services
NOTES:
[1] cdmremote is an experimental CDM streaming service. It is basically a direct serialization of the CDM.
OPULS references
Old DAP4 Design and Implementation
- DAP3/4
- DAP 4.0 Design and DAP 4.0 Essential Features The design is meant to be a complete document while essential features are the minimal see we want to release. Since this task has been stalled for nearly a year, doing the latter seems like a noble goal.