5. 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
6. 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
14. DescribeProcess Response – DataInputs
a) the data to be buffered
Data Format GML 3.2.1 (default)
Further Formats supported
b) Parameter „buffer width“
Data format „double“
14
15. DescribeProcess Response – ProcessOutputs
Resulting data (buffered)
Data Format GML 3.2.1 (default)
Further Formats supported
15
18. 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
19. WPS - Synchronous Execution
Sequence Diagram
Client
sends request
WPS
receives request
processes output
waits for response
sends results
receives response
and starts using it
20. WPS - Asynchronous Execution
(Push Model)
Sequence Diagram
Client
sends request
WPS
receives request
processes output
does something else..
receives response
and starts using it
sends results
21. WPS – Asynchronous Execution
(Pull Model)
Sequence Diagram
Client
WPS
sends request
receives request
reference
does something else..
sends status request
e.g. 33 %
does something else..
sends request for results
sends status
finalizes output
result
receives response
and starts using it
processes output
sends results
25. 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
26. 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
27. 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
28. WPS implementations
• OGC lists 34 (WFS/WMS: several hundred)
• For information about Open Source WPS, check:
https://docs.google.com/presentation/d/1MJMLthdLjKwyyA3
Tf2b6VmyKJdcj8SULi-HoRpKTZRA/
• No reference implementations because no test suite
has been released
28
29. 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
31. 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
32. 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
33. 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
34. WPS 2.0
• Status controlling
– Introduce methods to pause/resume and cancel a process
34
35. WPS 2.0
• Better definition of WPS profiles
– Clearly define what a process/service profile is
– Profiles are a way to improve interoperability
35
36. WPS 2.0
• Better method of invoking processes synch/asynch
– Only one attribute has to be set
36