Point Of Contact: Mr. Patrick West
WCS GetCoverage request with a pre-built response
The goal of this use case is to provide an end-to-end request/response to a GetCoverage request. It is intended to get the OLFS and BES involved in the WCS system, with the BES providing the response to this request.
The primary actor, a person sitting at a computer, enters a pre-defined URL into their browser for a GetCoverage request and receives a Coverages document that contains a Coverage element that has a Reference element that links to a target NetCDF-CF response to be saved to their local disk.
We are attempting to coordinate communication between the OLFS and the BES in this WCS system, with a request coming in to the OLFS from the users browser, the OLFS formulating the request to the BES, and the BES responding to that request with a Coverages document containing a Reference element with the the link to the target NetCDF-CF file.
The request and the response will be pre-defined. In other words, the user won’t be browsing around the catalogues or making GetCapabilities or DescribeCoverage calls and the BES will have a pre-built response, which is a a Coverages document (file) containing a Reference element with the the link to the target NetCDF-CF file.
- Primary actor – user sitting at browser
- Secondary actor – OLFS – receives the request from the browser
- Secondary actor – BES – receives request from the OLFS and responds to the request
- Secondary actor – pre-built Coverages document saved as a file.
- Secondary actor – pre-built target NetCDF-CF file
- Using the WCS 1.1.2 specification
- The request URL is a known request, provided for this use case
- The request parameters are in KVP format
- The request parameters version, request type and Id are already known
- The domain subset is in WGS84 BB, Circumscribe N.J. on grid vertices
- The temporal subset is optional and will be left out
- The range subset is optional and will be left out
- The target response file format will be NetCDF-CF
- The response from Hyrax will be a Coverages document containing a Coverage with a Reference element containing a link to the pre-built NetCDF file.
The user enters the provided URL representing the GetCoverage request into the browser
7 Basic Flow
- OLFS receives the request
- OLFS parses the KVP parameters from the request URL including the version, request type, and id
- OLFS sets the domain subset (bb)
- OLFS sets the temporal subset (optional ???)
- OLFS sets the range subset (optional ???)
- OLFS sends the request to the BES as an XML document
- The BES parses the XML document representing the GetCoverage request
- The BES matches the coverage id (and other input)
- The BES returns a pre-built Coverages document that a Coverage element with a Reference containing a link to the pre-built response file, which is in NetCDF-CF format
- The OLFS returns the Coverages document to the user
- The user receives the response, and locates the Coverage containing the Hyrax URL to the target response file. The user takes that URL and enters it into their browser.
- The OLFS sends the request to the BES to stream the target response file back to the user. This functionality already exists (get stream for definition).
8 Alternate Flow(s)
8.1 Error Flow (OLFS)
- OLFS receives the request
- OLFS attempts to parse the KVP parameters from the request.
- The parsing encounters a bad request (based on the 1.1.2 specification), or …
- The OLFS fails to connect to, or the connection drops to, the BES in Basic Flow step 6, or …
- The OLFS fails to connect to, or the connection drops to, the BES in Basic Flow step 12 …
- OLFS builds a WcsException and returns it to the user.
8.2 Error Flow (BES)
- See Basic Flow steps 1-7
- The BES fails to match the coverage id or some other input (Unsupported operations, CRS mismatch, etc.), or …
- The BES fails to access the pre-built coverage response document, or …
- In Basic Flow step 9, the BES fails to access the file containing the pre-built Coverages document.
- The BES builds a WcsException element and returns it to the user via the OLFS.
9 Post Conditions
10 Activity Diagram
- Will the BES be streaming the response file back to the OLFS, and then on to the user? Or will the BES return a URL to the response file that the user will then click on to download?
- Answer: The BES will return a link to the target file, not stream the file back. The user will then be able to click on this link and save it to their local disk.
|HF Radar Data||Remote netCDF-CF||One Time Slice||Contains one time slice.||Dan Holloway||dev1.opendap.org|
12.2 Application Services
|OLFS||OPeNDAP||OPeNDAP Hyrax front end service – receives request from the user’s browser||dev1.opendap.org|
|BES||OPeNDAP||OPeNDAP Hyrax back-end server – receives request from OLFS and responds with link to target NetCDF-CF file||dev1.opendap.org|
12.3 Other Resources
|(sensor name)||Organization that owns/ manages resource||Short description of the resource||How often the resource is available||Name of system which provides resource|
13 Butte Meeting Notes
Use Case 1 - GetCoverage
- Version, Request Type, Id already known
- KVP request to OLFS
- Domain Subset
- BB (WGS84 BB) Circumscribe N.J. on grid verteces
- Temporal is optional and will be left out
- Range Subset: optional
- Format: NetCDF-CF
- Request from user
Sequence of Events
- Request to OLFS/Handler
- KVP parsing
- Request Type, Version, Id
- Set Domain Subset (bb)
- Set Temporal Subset
- Set Range Subset
- Generate coverage response
- Match id and other stuff
- ask BES for the response
- BES returns pre-built response