WPS - WebValley

Transcript

WPS - WebValley
Web Processing Service
Calogero Zarbo
[email protected]
Introduction


OGC Standard since late 2007 (Version 1.0.0)
Standardized service interface to publish and perform
geospatial processes over the web
GetCapabilities
WPS
Process 1
DescribeProcess
Execute
Process 2
*
*
*
Process n
Example
Temperature
WPS
Botrytis Cinerea
Process 1
Precipitation
*
*
*
*
*
Process n
Botrytis Cinerea's risk
WPS Server



52°North WPS
• http://52north.org/
PyWPS
• http://pywps.wald.intevation.org/
ZOO
• http://www.zoo-project.org/
52°North WPS

General Features and Compliance
➢
➢
➢
➢
➢
➢
full java-based open source implementation
build up on robust libraries (jts, geotools, xmlbeans)
supports all features and operations of WPS 1.0.0
pluggable framework for algorithms and XML data
handling
supports raw data parsers
supports full logging of service activities
✗ supports exception handling according to the
specification
✗ storing of execution results on the server
52°North WPS

Service Invocation
➢
➢
➢

Supports synchronous & asynchronous service
invocation
HTTP-GET for Execute operation
supports SOAP & exposes WSDL document
Supported Datatypes
➢
➢
➢
GeoTIFF support
ArcGrid support
GML2 support for ComplexData
52°North WPS

Extensions
➢
➢
➢
➢
➢
Integrate 220+ Sextante processes
Distributed and parallel computing
✗ UNICORE middleware
✗ GridGain framework
Web-based GUI to maintain the service
ArcGIS Server Connector
GrassGIS connector
Architecture
52°North Process code example
pyWPS

How it works
➢
➢
➢
WPS working as a python module that in turn loads
processes as modules
Process as an extended class WPSProcess, with
method run() that will execute code
Assemble factory approach as a functional script:
Load Process
getInput
WPS output
run
getOutput
pyWPS

Extension
➢
➢
➢
➢
Basic SOAP support, no authentication
structure
Apache's mod_python support in
version 3.2....meaning no need to run as
CGI
Running as a Tomcat servlet by the use
of Jython interpreter
Mapserver response object
pyWPS Process code example
ZOO - Project

How it works
➢
➢
➢
➢
Handling and chaining ZOO Services
Parsing metadata file .zcfg (Title, Metadata,
Inputs,Output...)
Using Service Provider: « Service Shared Object »
(SSO)
Able to load SSO dynamically, to extract specific
functions and to execute them, answering the WPS
Execute requests
ZOO - Project

Supported languages
➢
➢
➢
➢
➢
➢
C / C++
Python
Fortran
PHP
Java
Javascript
Native support
Native support (Python interpreter)
Optionnal support (F77, F90)
Optionnal support (PHP embedded)
Optionnal support (Java SDK)
Optionnal support (SpiderMonkey)