DAP4 Web Services - StartingPoint: Difference between revisions
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 == | |||
'''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 | '''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:
- 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.
Dataset: The metadata
Ask for this using .xml
Data: The data response for the dataset.
Ask for this using .dap
Data + Checksum
Ask for this using .cdap