DAP4 Web Services - StartingPoint: Difference between revisions

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
Line 2: Line 2:
= <font color="red">Are we going to use this page? Should we flesh it out? </font> =
= <font color="red">Are we going to use this page? Should we flesh it out? </font> =


== Protocol Independence ==


== Service ==
'''Proposal''': The  DAP4 data model and it's persistent (over-the-wire) representations are transport protocol agnostic. All of the information required by the DAP must be present in the content of the DAP requests and responses.  The DAP won't uniquely embed information required by the DAP into HTTP Headers or AMQP thingys, or other whatnot.


The base url for a data set accessed through a DAP4 web server will return a ''service document'' that describes the various responses possible for that data set, including URLs that can be used to access those responses.
'''Discussion''':
 
# Does this matter? Is it something to strive for? Is it a Must?  Is this just noise??
# Can the clients really make a request that's protocol independent?
# Would we need to add new syntax server-side functions etc. to the protocol to enable this?
 
== Overview ==
This page describes the various web services that a DAP4 server must provide. These are for the most part REST services and as such are stateless unless noted otherwise.
 
The services are all defined as a modification of the service (aka resource or base) URL. This base URL essentially becomes a prefix (and could even be seen as a namespace) for all of the services available for that data resource.
 
In practice these have traditionally been implemented over HTTP. However they could just as easily be pushed over a different protocol, as long as the usage of the URL components remain consistent.
 
 
== Service URL ==
 
The base URL for a data set accessed through a DAP4 web server will return a ''service document'' that describes the various responses possible for that data set, including URLs that can be used to access those responses.


[[DAP Service Terminus]]
[[DAP Service Terminus]]
Line 12: Line 30:


Ask for this using ''.xml''
Ask for this using ''.xml''
[[DAP4: Responses#Dataset Response | DAP4: Dataset Response]]


== Data: The data response for the dataset. ==
== Data: The data response for the dataset. ==

Revision as of 17:33, 22 February 2012

Are we going to use this page? Should we flesh it out?

Protocol Independence

Proposal: The DAP4 data model and it's persistent (over-the-wire) representations are transport protocol agnostic. All of the information required by the DAP must be present in the content of the DAP requests and responses. The DAP won't uniquely embed information required by the DAP into HTTP Headers or AMQP thingys, or other whatnot.

Discussion:

  1. Does this matter? Is it something to strive for? Is it a Must? Is this just noise??
  2. Can the clients really make a request that's protocol independent?
  3. Would we need to add new syntax server-side functions etc. to the protocol to enable this?

Overview

This page describes the various web services that a DAP4 server must provide. These are for the most part REST services and as such are stateless unless noted otherwise.

The services are all defined as a modification of the service (aka resource or base) URL. This base URL essentially becomes a prefix (and could even be seen as a namespace) for all of the services available for that data resource.

In practice these have traditionally been implemented over HTTP. However they could just as easily be pushed over a different protocol, as long as the usage of the URL components remain consistent.


Service URL

The base URL for a data set accessed through a DAP4 web server will return a service document that describes the various responses possible for that data set, including URLs that can be used to access those responses.

DAP Service Terminus

Dataset: The metadata

Ask for this using .xml

DAP4: Dataset Response

Data: The data response for the dataset.

Ask for this using .dap

Data + Checksum

Ask for this using .cdap

Requests