120 likes | 237 Views
CEDA OGC Web Services Framework. COWS. Stephen Pascoe. COWS Motivation. Develop lightweight OGC services Don't attempt to implement the specifications in full Enable integration with custom web applications Build upon a fully-featured web framework Layered design
E N D
CEDA OGC Web Services Framework COWS Stephen Pascoe
COWS Motivation • Develop lightweight OGC services • Don't attempt to implement the specifications in full • Enable integration with custom web applications • Build upon a fully-featured web framework • Layered design • Support multiple OGC services in one stack
COWS Architecture Apache + mod_wsgi, FastCGI, Python HTTPD • Built on Pylons web-appliction framework • Python Eggs – Automatic download/install of components • WSGI – A protocol for deploying Python web-apps to production HTTP servers HTTP Server WSGI Middleware Paste WSGI Pylons COWS Web Application E.g. Authentication WMS WCS W*S Data Model Library Standard Interface Application-specific Code
COWS Package Structure • cows: top level package • cows.model • Implements toe OWS-common data model • cows.service • Provides service interfaces and implementations • cows.pylons • OGC service controllers and XML templates • OGC parameter and exception handling • due for reorganisation • cows.pylons.project_templates • pre-canned application template(s)
WSGI Middleware • Example middleware chain: AuthenticationFilter HTTP Request AnotherFilter CowsApplication HTTP Response • 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: [pipeline:CowsApplication] pipeline = AuthenticationFilter AnotherFilter CowsApplication
Development workflow • Install COWS • Create web-application from template • Customise • Test • Package • Deploy
NDG Discovery Portal http://www.ipcc-data.org/maps
NERC Portals Project • 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.
DEFRA UKCP Portal • 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
COWS Future • Clean-up and publicised release for NDG3 • cows-0.3 on the way • WFS being developed as part of the C-SEKT project • WPS developed for UKCP portal. Will be included in COWS in the future (post v0.3)