GeoHealthCheck icon indicating copy to clipboard operation
GeoHealthCheck copied to clipboard

Create, Read, Update, Delete Resources Programatically (API?)

Open samperd opened this issue 9 years ago • 0 comments

User Story

As a developer I want to programmatically Create, read, update delete resources So that I can integrate health checking into my application

Proposal

  • Implement a CRUD API
  • Implement API keys for registered users
  • allow the creation of new resources through JSON or XML api
  • implement CRUD
    • Create new resource: http://server/resource/create
    • Read (implemented?): http://server/resource/1/
    • Update: http://server/resource/1/update
    • Delete: http://server/resource/1/delete

Use Case

  1. A user with an account at http://geohealthcheck.osgeo.org/ gets an API key
  2. from an application such as GeoNetwork (http://geonetwork-opensource.org/)
    • requires some collaboration perhaps for a reference implementation
    • requires some settings added to an admin panel
  3. A Geonetwork user enters a new WMS endpoint as a resource to a metadata record
  4. The GeoNetwork catalogue then checks GHC if the resource exists and is monitored eg. http://geohealthcheck.osgeo.org/json?resource_type=OGC%3AWMS
  5. it starts by checking if the domain name is being tracked
  6. It then checks to see if a WMS service on that domain is being monitored http://geohealthcheck.osgeo.org/json?resource_type=OGC%3AWMS 1.1 if so then the API returns the URL(s) of the candidate resource(s) 1.2 if not then the API return the URL to create a new resource
  7. details of the new resource to create are posted to http://geohealthcheck.osgeo.org/create
  8. new resource is created and then discovered at http://geohealthcheck.osgeo.org/json?resource_type=OGC%3AWMS
  9. Geonetwork then is able to probe the health checking server for the resource
  10. Depending on the status of the health check the developer can add red, green, yellow icon next to resource in the application (aka GeoNetwork)

Notes

  • Some implementations of ArcGIS server actually have a unique endpoint per resource, feature or layer. So you might have multiple services at a single domain and therefore you may want o constrain monitoring to a single service. Perhaps assuming that if one service on the domain is running then all would be running/

samperd avatar Mar 09 '15 17:03 samperd