![Page 1: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/1.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/2.jpg)
Geoprocessing
Information Products
Raw Data Value Added
Data Products
![Page 3: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/3.jpg)
Basic concepts
Process Input Data Sources
Output Data Sources
control
Process Model
![Page 4: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/4.jpg)
GIS & Geoprocessing
GIS
Processing Environment
Process
control
Output Data Sources
Input Data Sources
![Page 5: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/5.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/6.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/7.jpg)
Operations
WPS GetCapabilities GetCapabilities
DescribeProcess
Execute
Process 1
Process 2
Process n
![Page 8: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/8.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/9.jpg)
Get Capabilities Response
2012-11-19 Spatial Information Infrastructures WS 2012/2013 9
Operations Metadata
![Page 10: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/10.jpg)
Get Capabilities Response
2012-11-19 Spatial Information Infrastructures WS 2012/2013 10
Process Offerings
![Page 11: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/11.jpg)
Operations
WPS
..
..
SimpleBuffer Algorithm
GetCapabilities
DescribeProcess
Execute
DescribeProcess
![Page 12: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/12.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/13.jpg)
DescribeProcess Response
13
Data Inputs
Process Outputs
Process description for „SimpleBuffer“
![Page 14: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/14.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/15.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/16.jpg)
Operations
WPS
..
..
SimpleBuffer Algorithm
GetCapabilities
DescribeProcess
Execute ExecuteProcess
DataInputs ProcessOutputs
![Page 17: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/17.jpg)
Example
WPS Geometry
Buffer Witdth
Geometry‘
SimpleBuffer Algorithm
..
..
20
![Page 18: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/18.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/19.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/20.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/21.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/22.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/23.jpg)
Asynchronous Execution
ExecuteProcess Response (first status call)
Status: 33% completed
![Page 24: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/24.jpg)
Asynchronous Execution
ExecuteProcess Response (second status call)
status: process successfully completed
Reference to process output
![Page 25: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/25.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/26.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/27.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/28.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/29.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/30.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/31.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/32.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/33.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/34.jpg)
WPS 2.0
• Status controlling – Introduce methods to pause/resume and cancel a process
34
![Page 35: The Web Processing Service Standard - Benjamin Proß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/35.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/36.jpg)
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ß](https://reader033.vdocuments.site/reader033/viewer/2022052600/55836aaed8b42a79658b499d/html5/thumbnails/37.jpg)
Thanks!
37