integrated ogc web service delivery with the cows framework

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

Upload: hunter-blankenship

Post on 31-Dec-2015

23 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Integrated OGC Web Service Delivery  with the COWS Framework

Philip Kershaw[on behalf of Stephen Pascoe]

GO-ESSP Seattle18 September 2008

Integrated OGC Web Service Delivery with the COWS Framework

Page 2: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

Overview

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

Page 3: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

OGC Web Services

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

Page 4: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

COWS Motivation

Develop lightweight OGC Services in Python

Support integration with bespoke Web

Applications

Support multiple OGC services in one

application

Page 5: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

COWS Features

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

Page 6: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

Building Blocks for Layered Approach

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

Page 7: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

WSGI Middleware

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:

CowsApplication

AnotherFilter

AuthenticationFilter

[pipeline:CowsApplication]pipeline = AuthenticationFilter AnotherFilter CowsApplication

Example middleware chain:

HTTP Request

HTTP Response

Page 8: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

HTTP Server

Past

e

Pylons

Middleware

WebApplication

COWS

WMS WCS W*S

Data Model

WSGI

WSGI

Apache + mod_python, FastCGI, Python HTTPD

e.g. Authentication

Idealised COWS Application

Library

Standard Interface

Application-specific Code

Page 9: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

COWS Components

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

Page 10: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

COWS Flexibility

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

Page 11: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

COWS

Service Controller

Implementation Plugin

COWS

WMSController

CSML WMS-impl.

COWS Interface Evolution

NetCDF Data

Data Model

Current Design

COWS

Custom Controller

Data Model

Plugin Design WMS With CSML Backend

Page 12: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

WMS Plugin Details

Page 13: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

NERC Portals: HiGEM WMS

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

Page 14: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

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.

Page 15: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

Station time series via COWS WMS

WMS Browser Client GoogleEarth Client

Times Series displayed viaplot service

Page 16: Integrated OGC Web Service Delivery  with the COWS Framework

18 September 2008 GO-ESSP Seattle

UKCIP08 DDP

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