Upload
luisdesousa
View
237
Download
2
Tags:
Embed Size (px)
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