1 / 16

Integrated OGC Web Service Delivery with the COWS Framework

Integrated OGC Web Service Delivery with the COWS Framework. Philip Kershaw [on behalf of Stephen Pascoe] GO-ESSP Seattle 18 September 2008. Overview. Brief Introduction to OGC WebServices Motivation and High-level design of COWS COWS services in the wild NERC Portals Project

Download Presentation

Integrated OGC Web Service Delivery with the COWS Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Integrated OGC Web Service Delivery with the COWS Framework Philip Kershaw [on behalf of Stephen Pascoe] GO-ESSP Seattle 18 September 2008

  2. Overview GO-ESSP Seattle • Brief Introduction to OGC WebServices • Motivation and High-level design of COWS • COWS services in the wild • NERC Portals Project • UKCIP (UK Climate Impacts Project) Data Delivery Portal

  3. OGC Web Services GO-ESSP Seattle • Open Geospatial Consortium • Specifications • Web Map Service (WMS) • Web Feature Service (WFS) • Web Coverage Service (WCS) • Web Processing Service (WPS) • KML ! • EU INSPIRE will mandate OGC Web Services

  4. COWS Motivation GO-ESSP Seattle • Develop lightweight OGC Services in Python • Support integration with bespoke Web Applications • Support multiple OGC services in one application

  5. COWS Features GO-ESSP Seattle • Layered design. Implement your service at the level of abstraction that suites you. • Complete flexibility in underlying data model. • Deals with the protocol “bureaucracy” of OWS-compliant • HTTP request/response • metadata model (OWS-Common)‏ • Exceptions • INCOMPLETE

  6. Building Blocks for Layered Approach GO-ESSP Seattle • WSGI – Web Server Gateway Interface • standardized pattern for web application middleware • defines standard i/o interface enabling chaining of WSGI middleware components to apply multiple passes over HTTP request and response • Solution for multiplicity of Python frameworks • Pylons web framework • a Ruby on Rails for Python – enables rapid development approach • Built on WSGI based architecture • COWS Plugin

  7. WSGI Middleware GO-ESSP Seattle • Add security to a COWS Application by adding security middleware • Python Paste package enables inclusion of middleware via a config file – no change to COWS code required: • Example middleware chain: AuthenticationFilter HTTP Request AnotherFilter CowsApplication HTTP Response [pipeline:CowsApplication] pipeline = AuthenticationFilter AnotherFilter CowsApplication

  8. Idealised COWS Application GO-ESSP Seattle Apache + mod_python, FastCGI, Python HTTPD HTTP Server WSGI Middleware Paste WSGI e.g. Authentication Pylons COWS Web Application WMS WCS W*S Library Standard Interface Data Model Application-specific Code

  9. COWS Components GO-ESSP Seattle • cows.model implements The OWS Common data model for describing your service and it's contents • cows.pylons provides pylons-specific code • Service controllers • templates (XML rendering)‏ • cows.service provides service interfaces and implementations

  10. COWS Flexibility GO-ESSP Seattle • Data dimensions/parameters • Climatological dimensions • Probabilistic • e.g. WMS layer supports extra WMS dimensions by default • Custom Co-ordinate transformations • UKMO UM rotated pole grid • Custom rendering backend • Custom URL layout • Multiple URL endpoints for services

  11. COWS Interface Evolution GO-ESSP Seattle NetCDF Data Data Model Data Model Implementation Plugin CSML WMS-impl. Custom Controller Service Controller WMSController COWS COWS COWS Current Design Plugin Design WMS With CSML Backend

  12. WMS Plugin Details GO-ESSP Seattle

  13. NERC Portals: HiGEM WMS GO-ESSP Seattle • Portion of HiGEM dataset over WMS • Uses COWS CSML Plugin • OpenLayers as WMS Client • Climatological time selectable as a dimension on the WMS • KML generator links to WMS endpoint • Enables display on GoogleEarth

  14. NERC Portals Project GO-ESSP Seattle • 2 Different Station datasets • Integrate with CSML • Pylons Application plots CSML Features • 2 visualisation interfaces • KML references plot service • COWS WMS provides in-browser support.

  15. Station time series via COWS WMS GO-ESSP Seattle WMS Browser Client GoogleEarth Client Times Series displayed via plot service

  16. UKCIP08 DDP GO-ESSP Seattle • Highly Dimensional Dataset • Time Period • Emission Scenario • Percentile (CDF)‏ • Meaning Period • UKMO UM Rotated Grid but we need to plot it on GoogleMaps (Transverse Mercator) • Custom WMS operation to serve Grid-box values as JSON

More Related