Web Processing Service
Encyclopedia
The OGC
Web Processing Service (WPS) Interface Standard provides rules for standardizing how inputs and outputs (requests and responses) for invoking geospatial processing services, such as polygon overlay, as a Web service. The WPS standard defines how a client can request the execution of a process, and how the output from the process is handled. It defines an interface that facilitates the publishing of geospatial processes and clients’ discovery of and binding to those processes. The data required by the WPS can be delivered across a network or they can be available at the server. 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 HTTP GET
, HTTP 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.
WPS operations are invoked by submitting XML
or URL-encoded requests to an Online Resource URL. 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.
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.
Open Geospatial Consortium
The Open Geospatial Consortium , an international voluntary consensus standards organization, originated in 1994. In the OGC, more than 400 commercial, governmental, nonprofit and research organizations worldwide collaborate in a consensus process encouraging development and implementation of open...
Web Processing Service (WPS) Interface Standard provides rules for standardizing how inputs and outputs (requests and responses) for invoking geospatial processing services, such as polygon overlay, as a Web service. The WPS standard defines how a client can request the execution of a process, and how the output from the process is handled. It defines an interface that facilitates the publishing of geospatial processes and clients’ discovery of and binding to those processes. The data required by the WPS can be delivered across a network or they can be available at the server. WPS can describe any calculation (i.e. process) including all of its inputs and outputs, and trigger its execution as a Web service
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...
. WPS supports simultaneous exposure of processes via HTTP GET
Get
Get or GET may refer to:*Get , the offspring of an animal*Get , legal issues around the Jewish divorce procedure*Get , the Jewish divorce procedure...
, HTTP POST
POST (HTTP)
In computing, POST is one of many request methods supported by the HTTP protocol used by the World Wide Web. The POST request method is used when the client needs to send data to the server as part of the request, such as when uploading a file or submitting a completed form.In contrast to the GET...
, 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
SOAP
SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...
), but in practice it has only been specified for HTTP.
Operations
WPS defines three operations:- GetCapabilities returns service-level metadataMetadataThe term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...
- DescribeProcess returns a description of a process including its inputs and outputs
- Execute returns the output(s) of a process
WPS operations are invoked by submitting XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
or URL-encoded requests to an Online Resource URL. 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.
Properties
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 GIFGIFThe Graphics Interchange Format is a bitmap image format that was introduced by CompuServe in 1987 and has since come into widespread usage on the World Wide Web due to its wide support and portability....
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 SOAPSOAPSOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...
and WSDLWeb Services Description LanguageThe Web Services Description Language is an XML-based language that is used for describing the functionality offered by a Web service. A WSDL description of a web service provides a machine-readable description of how the service can be called, what parameters it expects and what data structures...
.
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.
External links
- 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 Open source JavaJava (programming language)Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
implementation (WPS 0.4.0 & WPS 1.0.0) with example processes - WPSint Open source JavaJava (programming language)Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
implementation of WPS 0.4.0 (includes a generic client) - pyWPS Open source PythonPython (programming language)Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
implementation of WPS 1.0.0 - ZOO Project WPS implementation of WPS 1.0.0
- WPS.NET Open source .NET 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)