The Web Processing Service Standard - Benjamin Proß

Preview:

DESCRIPTION

COST Action TU0902 Meeting: Web Processing Service (WPS) technologies for Integrated Assessment Modelling in Urban Areas

Citation preview

Benjamin Pross 2014-01-22

Workshop: WPS technologies for Integrated Assessment Modelling in

Urban Areas

The Web Processing Service Standard

Geoprocessing

Information Products

Raw Data Value Added

Data Products

Basic concepts

Process Input Data Sources

Output Data Sources

control

Process Model

GIS & Geoprocessing

GIS

Processing Environment

Process

control

Output Data Sources

Input Data Sources

Web based Geoprocessing

Basic Goals: Being able to share processes in a heterogeneous and distributed computing environment, as to • Share knowledge (white box processes) • Reuse existing implementations • Share computing capabilities

(e.g. from cloud and GRID environments)

2014-01-22 The WPS Standard 5

OGC Standard • OGC Web Processing Service (WPS)

– OGC Standard since late 2007 (Version 1.0.0) http://www.opengeospatial.org/standards/wps

– Standardized service interface to publish and perform geospatial processes over the web • How to describe process offerings • How to describe input/output parameters • No processes are specified

– Supported Processes • Simple geometric calculations (e.g. intersect algorithm) • Complex simulation models (e.g. weather forecast) • Interface to legacy software (e.g. GRASS GIS) • ..

– Development of WPS 2.0 is in progress …

6

Operations

WPS GetCapabilities GetCapabilities

DescribeProcess

Execute

Process 1

Process 2

Process n

GetCapabilities Request (http GET)

http://geoprocessing.demo.52north.org:8080/wps/WebProcessingService? Request=GetCapabilities& Service=WPS

Get Capabilities Response

2012-11-19 Spatial Information Infrastructures WS 2012/2013 9

Operations Metadata

Get Capabilities Response

2012-11-19 Spatial Information Infrastructures WS 2012/2013 10

Process Offerings

Operations

WPS

..

..

SimpleBuffer Algorithm

GetCapabilities

DescribeProcess

Execute

DescribeProcess

DescribeProcess Request (http GET)

12

http://geoprocessing.demo.52north.org:8080/wps2/WebProcessingService? Request=DescribeProcess& identifier=org.n52.wps.server.algorithm.SimpleBufferAlgorithm

DescribeProcess Response

13

Data Inputs

Process Outputs

Process description for „SimpleBuffer“

DescribeProcess Response – DataInputs

14

a) the data to be buffered

Data Format GML 3.2.1 (default)

Data format „double“ b) Parameter „buffer width“

Further Formats supported

DescribeProcess Response – ProcessOutputs

15

Resulting data (buffered)

Data Format GML 3.2.1 (default)

Further Formats supported

Operations

WPS

..

..

SimpleBuffer Algorithm

GetCapabilities

DescribeProcess

Execute ExecuteProcess

DataInputs ProcessOutputs

Example

WPS Geometry

Buffer Witdth

Geometry‘

SimpleBuffer Algorithm

..

..

20

Execute Request (http POST)

http://geoprocessing.demo.52north.org:8080/wps2/WebProcessingService

data to be buffered will be delivered by a WFS

buffer width = 20.0

Data Output: GML 3.1.1 document

WPS - Synchronous Execution

Client WPS

sends request

processes output

waits for response

receives response and starts using it

sends results

Sequence Diagram

receives request

WPS - Asynchronous Execution (Push Model)

Client WPS

sends request processes output receives request

sends results

does something else..

receives response and starts using it

Sequence Diagram

WPS – Asynchronous Execution (Pull Model)

Client WPS

e.g. 33 %

reference

result

Sequence Diagram

sends request

finalizes output

receives request

sends results

does something else..

receives response and starts using it

sends status request

sends request for results

sends status does something else..

processes output

Asynchronous Execution

ExecuteProcess Request

store results Provide status information

Provide output as a reference to the stored results

Asynchronous Execution

ExecuteProcess Response (first status call)

Status: 33% completed

Asynchronous Execution

ExecuteProcess Response (second status call)

status: process successfully completed

Reference to process output

WPS Characteristics

• Web Processing Services – Encapsulate any business logic (simple functions up to

complex models) – Implement a web service profile for processing

Geospatial Data – can be integrated into any application through

standardized web interfaces – can be operated both within local or remote computing

environments

Challenges

• Interoperability problems – Semantics, Encodings, Access constraints

• Discovery of WPS • Ad hoc deployment of WPS in different target

environments – Moving code

• Performant Processing of large datasets – Dynamic allocation of ressources, streaming mechanisms

WPS - Use Cases

• I use a remote web processing service, because – it is too expensive, to transfer it into my own computing

environment (technically too complex) – It is tied to some data sources, which are available remotly

only (e.g. for geocoding) – I don‘t have the capacity in my own computing

environment – The provider offers a subscription model only – I use it only occasionally, hence I dot want to bother with

the operating details

WPS implementations

• OGC lists 34 (WFS/WMS: several hundred) • For information about Open Source WPS, check:

https://docs.google.com/presentation/d/1MJMLthdLjKwyyA3Tf2b6VmyKJdcj8SULi-HoRpKTZRA/

• No reference implementations because no test suite has been released

28

Testing

• WPS 1.0 Compliance tests – http://cite.opengeospatial.org/te2/about/wps/1.0.0/web/ – Currently do not match the abstract test suite (ATS) of the

standard – Will not be released until they do

29

WPS 2.0 Change Requests

• 34 official CRs – 20 accepted (some with modifications) – 3 postponed – 10 rejected – 1 withdrawn

WPS 2.0

• Nested inputs • Devided into core and extensions • Status controlling • Better definition of WPS profiles • Better method of invoking processes synch/asynch • Better tests

31

WPS 2.0

• Nested inputs – Specify one or more input types as „data type“ of an input – Established relations between inputs – Allows more structured inputs – Nesting level should be kept low

32

WPS 2.0

• Devided into core and extensions – Better extensibility – Core concepts: Process model, service model – New functionality can be introduced without changing

core concepts/schemas – Open for different communication patterns like REST

33

WPS 2.0

• Status controlling – Introduce methods to pause/resume and cancel a process

34

WPS 2.0

• Better definition of WPS profiles – Clearly define what a process/service profile is – Profiles are a way to improve interoperability

35

WPS 2.0

• Better method of invoking processes synch/asynch – Only one attribute has to be set

36

Thanks!

37

Recommended