Web Processing Service
The OGC Web Processing Service (WPS) is designed to standardize the way that GIS calculations are made available to the Internet. WPS can describe any calculation (i.e. process) including all of its inputs and outputs, and trigger its execution as a Web Service. WPS supports simultaneous exposure of processes via GET, POST, and SOAP, thus allowing the client to choose the most appropriate interface mechanism. The specific processes served up by a WPS implementation are defined by the owner of that implementation. Although WPS was designed to work with spatially referenced data, it can be used with any kind of data.
WPS makes it possible to publish, find, and bind to processes in a standardized and thus interoperable fashion. Theoretically it is transport/platform neutral (like SOAP), but in practice it has only been specified for HTTP. It is best described as a non-REST-ful RPC type service although it does comply with most of the REST principles.
WPS defines three operations:
- GetCapabilities returns service-level metadata
- DescribeProcess returns a description of a process including its inputs and outputs
- Execute returns the output(s) of a process
WPS operations can be invoked using a standard web browser by submitting requests in the form of Uniform Resource Locators (URLs) via HTTP GET, or XML documents via HTTP POST. The content of such URLs or XML documents depends on which operation is requested. For example, when requesting an Execute operation the HTTP request identifies the inputs, the name of process to be executed, and the form of output to be provided.
WPS has the following properties:
- Inputs can be web-accessible URLs or embedded in the request.
- Outputs can be stored as web-accessible URLs or embedded in the response.
- For a single output such as a GIF image, WPS can return the output directly, without any XML wrapper.
- It supports multiple input and output formats.
- It supports long-running processes.
- It supports SOAP and WSDL.
A WPS is usually not invoked directly. More often, it is invoked by a client application that provides the user with interactive controls. This client application may or may not be web-based.
WPS version 1.0.0 was released to the public in June 2007. Version 0.4.0 was released as an OGC Request for Public Comment in 2005 and implemented by several early adopters.
- OpenGIS Web Processing Service (WPS) Standard, Version 1.0.0
- OSGeo Evaluation of WPS 0.4.0
- OGC WPS Interoperability Experiment press release
- OGC WPS Request for Public Comments
- deegree framework implementation (WPS 0.4.0 & WPS 1.0.0) with example process (simple spatial buffer)
- WPSint Open source Java implementation of WPS 0.4.0 (includes a generic client)
- pyWPS Open Source Python implementation of WPS 1.0.0
- 52 North WPS implementation of WPS 1.0.0
- 52 North WPS udig client plug-in for generic WPS processing
- GeoConnections WPS description
- OGC-Services.NET - Free List of OGC Services (New Services can be added manually)