ServiceValidation

From Earth Science Information Partners (ESIP)
Revision as of 18:05, December 13, 2011 by Rduerr (talk | contribs)

Service Validation

Point of contact name (i.e., author name): Ruth Duerr

Goal

Determine whether or not my OpenSearch service or casts are compliant with some version of the ESIP discovery protocol.

Summary

I, someone whose organization is trying to develop an OpenSearch server or cast generator that wishes to be compliant with some version of the ESIP discovery protocols, use the ESIP testbed to test whether or not my service or cast actually is compliant.

Actors

User - primary actor, someone with a service or cast they wish to verify ESIP testbed portal - the version of the Esri Geoportal Server that has been installed on the ESIP testbed and configured to be able to validate an OpenSearch service or cast URL - the URL of the OpenSearch service or cast to be validated

Preconditions

The ESIP testbed portal is up and running and has been configured to accept a range of ESIP specifications that it can validate against. There is a publicly accessible URL for the service or cast to be validated.

Triggers

This use case is triggered when the user decides to activate it by going to the ESIP testbed portal and selecting one of the options for validating OpenSearch servers or cast endpoints.

Basic Flow

  1. User points their browser to the ESIP testbed portal
  2. User selects one of the validation options. The options available include:
    1. To validate a cast URL
    2. To validate an OpenSearch server
  3. User selects from a list the version of the ESIP specification to validate against (at this point I expect the list will include ESIP 1.0 and 1.1 specs)
  4. If a cast is being validated
    1. The user is asked by the portal to enter the URL of the cast
    2. The user enters the URL of the cast and clicks the Validate button
    3. The ESIP testbed portal, retrieves the cast at the URL entered and validates it against the selected specification
    4. The ESIP testbed portal, summarizes the results of the validation, including
      1. whether the URL passed or failed
      2. which types of cast entries (collection, service, data granule, and/or events) were detected in the cast
    5. If the URL passed validation, the user is asked whether they would like the cast to be added to the ESIP testbed portal aggregation of known ESIP-compliant casts
    6. If the user says yes, then the cast URL is added to the aggregation (note this could either be to update the Esri geoPortal or a copy of the NSIDC aggregator or both - what does ESIP want to do?)
  5. If an OpenSearch server is being validated
    1. The user is requested to enter the URL of the OpenSearch Description Document (OSDD)
    2. The ESIP testbed portal, retrieves and attempts to parse the OSDD
    3. If parsing is successful, the ESIP testbed portal
      1. formulates a ESIP-compliant query to the service endpoint indicated in the OSDD
      2. attempts to validate the response to the query submitted
    4. The ESIP testbed portal summarizes the results of the validation, including
      1. whether the OSDD was compliant
      2. whether the query returned properly
      3. whether the query results were compliant
    5. If the OpenSearch server passed all tests, the user is asked whether they would like to add the server to the ESIP testbed portal list of known OpenSearch servers
    6. If the user says yes, then the server is added to the list

Alternate Flows

Here we give any alternate flows that might occur. May include flows that involve error conditions. Or flows that fall outside of the basic flow.

Post Conditions

Here we give any conditions that will be true of the state of the system after the use case has been completed.

Activity Diagram

Here a diagram is given to show the flow of events that surrounds the use case. It might be that text is a more useful way of describing the use case. However often a picture speaks a 1000 words

Notes

There is always some piece of information that is required that has no other place to go. This is the place for that information.