Point Of Contact: Nathan Potter
WCS DescribeCoverage request with pre-built response.
The goal of this use case is to provide an end-to-end request/response to a DescribeCoverage 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 DescribeCoverage request and receives a pre-built CoverageDescriptions document.
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 the CoverageDescriptions document.
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 GetCoverage calls and the BES will have a pre-built response, which CoverageDescriptions document stored in a 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 CoverageDescriptions document saved as a 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 response from Hyrax will be a CoverageDescriptions document describing the Coverage developed in Use Case 1.0.
The user enters the provided URL representing the DescribeCoverage 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 sends the request to the BES as an XML document
- The BES parses the XML document representing the DescribeCoverage request
- The BES matches the coverage id.
- The BES returns a pre-built CoverageDescriptions document that contains a CoverageDescription describing the Coverage used in Use Case 1.0.
- The OLFS returns the CoverageDescriptions document to the user
8 Alternate Flow
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 6, the BES fails to access the file containing the pre-built CoverageDescriptions document.
- The BES builds a WcsException element and returns it to the user via the OLFS.
9 Post Conditions
10 Activity Diagram
There is always some piece of information that is required that has no other place to go. This is the place for that information.
|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
- Request type is describe coverage
- coverage id is known
- request is KVP
- describe coverage XML is static
- Incoming request from user
Sequence of Events
- Extend OLFS
- check request and version and id
- verify version
- parse kvp query string
- if id is valid, return xml doc
- get doc location from config