OPULS Development: Difference between revisions
Line 135: | Line 135: | ||
|- | |- | ||
| [[DAP4: DAP4 On the Wire Format | Proposed DAP4 On-The-Wire Format]] | | [[DAP4: DAP4 On the Wire Format | Proposed DAP4 On-The-Wire Format]] | ||
|''' | |'''Obsolete''' | ||
| Dennis | | Dennis | ||
| 4/8/2012 | | 4/8/2012 |
Revision as of 21:32, 28 August 2012
OPULS Process
DAP4 Specification
The draft specification has two volumes.
- Volume 1: Data Model, Persistent Representation, and Constraints.
- Volume 2: Web Services Specification. TBD.
DAP4 Features
This is a straw man design, broken down into sections. It is incomplete and its content is subject to revision.
- Versions
- Checksum
- DAP Service Terminus
- Data Model and a XML Schema that provides one representation for the data model.
- Requests
- Responses
- Web Services
Proposals
Data model
Proposal | Status | Author | Date Proposed |
---|---|---|---|
Grids Ideas | Accepted | Dennis, et al. | (Cleaned up 4/10/2012) |
Old Version of Grids Proposal | Obsolete | Dennis | 4/10/2012 |
XML Use in DAP4 | Accepted | Dennis | 2/25/2012 |
Constraints and Shared Dimensions | Under Review, 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 |
Top Level Group | Accepted | 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 |
Proposal for Supporting Keys in Sequences | Revised | Dennis | 5/28/2012 |
Responses Specific to DAP4
Proposal | Status | Author | Date Proposed |
---|---|---|---|
DAP4 DDX Grammar | New | Dennis | |
DAP4: DDX Lexical Elements | New | Dennis | 2/28/2012 |
Character Escape Mechanisms in DAP4 | New | Dennis | 4/5/2012 |
Proposed DAP4 On-The-Wire Format, take two | New | James, based on Proposed DAP4 On-The-Wire Format by Dennis | 6/5/2012 |
DAP4: Data response and errors | New | James | 6/8/2012 |
Proposed DAP4 On-The-Wire Format | Obsolete | Dennis | 4/8/2012 |
Proposed Multipart Mime Format | Obsolete | Dennis | 4/8/2012 |
Proposed Error Response Format | New | Dennis | 5/8/2012 |
Proposal to Replace Chunking | Obsolete | Dennis | 8/23/2012 |
Web & HTTP
Proposal | Status | Author | Date Proposed |
---|---|---|---|
Possible Notation for Server Commands | New | Dennis | Modified 04/12/2012 |
Asynchronous Responses | Obsolete | Nathan | 4/5/2012 |
DAP4 Capabilities and Versioning | New | EthanDavis | 4/10/2012 |
DAP4 Asynchronous Request-Response Proposal | Obsolete | EthanDavis | 4/10/2012 |
DAP4 Web Services Proposal version 3 | New | Nathan Potter | 6/18/2012 |
DAP4 Dataset Services Response | New | Nathan Potter | 6/19/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 |
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.