WMS-Q Server Facade

The WMS-Q Server Facade is implemented as a development help for the WMS-Q Web Client Greenland developed within the project GeoViQua. It allows to annotate the capabilities document of any WMS server with keywords according to the WMS-Q specification, effectively telling a user/client software which layer contains which information, for example data values, standard deviation, or variance.

The server facade is intended for testing and development. Therefore it did not undergo testing of stability or any user studies and should be seen as software in an "alpha" state.

License: The 52°North WMS-Q Server Facade is published under Apache 2.0 license.

Use Case

A user has a running WMS server (e.g. Geoserver, ncWMS) and wants to publish quality annotated raster data (e.g. simulation results) using the existing infrastructure. He published the analysis results as seperate WMS layers and now wonders how to tell the user which layer contains which information. Simple names and tags work for himself, but he cannot make sure the semantics of the names are understood by external users. He learns about the WMS-Q specification and the 52°North WMS-Q Facade Server - this should solve his problems!

After installation the user logs into the configuration backend and enters the URL of his WMS. The facade loads the capabilities file and lists all available layers. The user then connects the layers with a list of available semantic annotations. A preview rendering of the capabilities file is automatically updated after each change for inspection by the user. After saving the configuration, he is given the URL of the "new" GetCapabilities request and the server endpoint to be used in client applications. User very happy.

Features

  • No request forwarding neccessary since URLs in annotated capabilities document point to original data source

Live Demo/Example Requests

Explore current configuration: http://geoviqua.dev.52north.org/WMSQAdapter/config

Example for WMS-Q Capabilities:

Raw Capabilities for this example: http://geoviqua.dev.52north.org/ncWMS/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities

Development

Architecture

Software components

  • Jersey 1.10
  • Servlet Api 2.5
  • Java 1.5

ALERT! Software architecture and configuration

TBD (what packages are there, where are the configuration files stored, ...)

Source Code

https://github.com/GeoViQua/wms-q-facade

Tasks

  1. Indicate WMS-Q by special keyword
  2. No longer add GetMetadata Endpoint to capabilities
  3. DONE Explicit content negotiation
  4. DONE Welcome page with https://wiki.52north.org/bin/view/Intranet/WebsiteTemplateDocumentation
  5. Add missing content ALERT! on this page.
  6. DONE Implement and test handling of GetCapabilities-requests for WMS 1.1.1 and 1.3.0
    • Facade works independent of the requested version
  7. DONE Public landing page with list of all mappings (original URL and annotated URL) and a short (optional) description text
    • The current configuration of the facade may be studied using the /config endpoint

Later Tasks and Ideas (unsorted)

  • backend completely in Javascript, only rules and documents are stored on the server.
  • Configuration backend user interface
    • Login with webapp container (e.g. Tomcat) user credentials
    • Adding/Changing/Deleting of server mappings, description field
    • Definition of mapping rules (from layer name to quality annotation)
    • Uploading of static capabilities documents (validation on server)

Developers

Tags:
create new tag
, view all tags
Topic revision: r13 - 2014-01-09 - 13:35:44 - DanielNuest

 
  • Search: 
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback