37
Benjamin Pross 2014-01-22 Workshop: WPS technologies for Integrated Assessment Modelling in Urban Areas The Web Processing Service Standard

The Web Processing Service Standard - Benjamin Proß

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: The Web Processing Service Standard - Benjamin Proß

Benjamin Pross 2014-01-22

Workshop: WPS technologies for Integrated Assessment Modelling in

Urban Areas

The Web Processing Service Standard

Page 2: The Web Processing Service Standard - Benjamin Proß

Geoprocessing

Information Products

Raw Data Value Added

Data Products

Page 3: The Web Processing Service Standard - Benjamin Proß

Basic concepts

Process Input Data Sources

Output Data Sources

control

Process Model

Page 4: The Web Processing Service Standard - Benjamin Proß

GIS & Geoprocessing

GIS

Processing Environment

Process

control

Output Data Sources

Input Data Sources

Page 5: The Web Processing Service Standard - Benjamin Proß

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

Page 6: The Web Processing Service Standard - Benjamin Proß

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

Page 7: The Web Processing Service Standard - Benjamin Proß

Operations

WPS GetCapabilities GetCapabilities

DescribeProcess

Execute

Process 1

Process 2

Process n

Page 8: The Web Processing Service Standard - Benjamin Proß

GetCapabilities Request (http GET)

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

Page 9: The Web Processing Service Standard - Benjamin Proß

Get Capabilities Response

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

Operations Metadata

Page 10: The Web Processing Service Standard - Benjamin Proß

Get Capabilities Response

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

Process Offerings

Page 11: The Web Processing Service Standard - Benjamin Proß

Operations

WPS

..

..

SimpleBuffer Algorithm

GetCapabilities

DescribeProcess

Execute

DescribeProcess

Page 12: The Web Processing Service Standard - Benjamin Proß

DescribeProcess Request (http GET)

12

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

Page 13: The Web Processing Service Standard - Benjamin Proß

DescribeProcess Response

13

Data Inputs

Process Outputs

Process description for „SimpleBuffer“

Page 14: The Web Processing Service Standard - Benjamin Proß

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

Page 15: The Web Processing Service Standard - Benjamin Proß

DescribeProcess Response – ProcessOutputs

15

Resulting data (buffered)

Data Format GML 3.2.1 (default)

Further Formats supported

Page 16: The Web Processing Service Standard - Benjamin Proß

Operations

WPS

..

..

SimpleBuffer Algorithm

GetCapabilities

DescribeProcess

Execute ExecuteProcess

DataInputs ProcessOutputs

Page 17: The Web Processing Service Standard - Benjamin Proß

Example

WPS Geometry

Buffer Witdth

Geometry‘

SimpleBuffer Algorithm

..

..

20

Page 18: The Web Processing Service Standard - Benjamin Proß

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

Page 19: The Web Processing Service Standard - Benjamin Proß

WPS - Synchronous Execution

Client WPS

sends request

processes output

waits for response

receives response and starts using it

sends results

Sequence Diagram

receives request

Page 20: The Web Processing Service Standard - Benjamin Proß

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

Page 21: The Web Processing Service Standard - Benjamin Proß

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

Page 22: The Web Processing Service Standard - Benjamin Proß

Asynchronous Execution

ExecuteProcess Request

store results Provide status information

Provide output as a reference to the stored results

Page 23: The Web Processing Service Standard - Benjamin Proß

Asynchronous Execution

ExecuteProcess Response (first status call)

Status: 33% completed

Page 24: The Web Processing Service Standard - Benjamin Proß

Asynchronous Execution

ExecuteProcess Response (second status call)

status: process successfully completed

Reference to process output

Page 25: The Web Processing Service Standard - Benjamin Proß

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

Page 26: The Web Processing Service Standard - Benjamin Proß

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

Page 27: The Web Processing Service Standard - Benjamin Proß

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

Page 28: The Web Processing Service Standard - Benjamin Proß

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

Page 29: The Web Processing Service Standard - Benjamin Proß

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

Page 30: The Web Processing Service Standard - Benjamin Proß

WPS 2.0 Change Requests

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

Page 31: The Web Processing Service Standard - Benjamin Proß

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

Page 32: The Web Processing Service Standard - Benjamin Proß

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

Page 33: The Web Processing Service Standard - Benjamin Proß

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

Page 34: The Web Processing Service Standard - Benjamin Proß

WPS 2.0

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

34

Page 35: The Web Processing Service Standard - Benjamin Proß

WPS 2.0

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

35

Page 36: The Web Processing Service Standard - Benjamin Proß

WPS 2.0

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

36

Page 37: The Web Processing Service Standard - Benjamin Proß

Thanks!

37