Skip to content

GSIP 169

Alessio Fabiani edited this page Sep 20, 2018 · 7 revisions

GSIP 169 - WPS Extension "GetExecutions" Operation

Overview

The main goal of this proposal is to allow a client to recognize the list of WPS Executions through a simple request to a WPS Operation.

Proposed By

Alessio Fabiani

Assigned to Release

This proposal is for GeoServer 2.15.

State

  • Under Discussion
  • In Progress
  • Completed
  • Rejected
  • Deferred

Motivation

The current WPS protocol lacks of some operations which would be very useful in order to organize and query the running and executed processes. Although GeoServer provides a good GUI extension to list them, there's no way for users to fetch the list of executions from the APIs.

Proposal

The main goal of this proposal is to allow a client to recognize the list of WPS Executions through a simple request to a WPS Operation. What we would like to achieve would be something similar to this:

The client makes a simple “GetExecutions” request to the WPS Server, in order to get back an XML document containing the list of current Execution Statuses.

Ideally should be possible also to filter the “GetExecutions” request along with simple parameters, in order to refine the output and get back only the executions status we are looking for.

Adding a bit more to this, AUTHORIZATION headers must be sent along with the “GetExecutions” request, the WPS Server should be able, if the security subsystem is available and enable on the latter, of providing the list resources to the client itself.

The new operation should return only the list of available Executions the logged in user has started, except in the case it is an Administrator. In that case he will be able to get the whole list.

Part of this proposal is also to review and improve the “lineage” option of the WPS service, allowing a client to retrieve the Execute Inputs values provided to the process Identifier.

StatusInfo Document

Refers to http://docs.opengeospatial.org/is/14-065/14-065.html 9.5 and extends it.

The StatusInfo document is used to provide identification and status information about jobs on a WPS server. The proposal here is to add another field to the StatusInfo Document reporting also the WPS Process Identifier.

GetExecutionsOperation

The GetExecutionsOperation allows WPS clients to retrieve the list of available process jobs running on a WPS instance. The output is returned in the form of an XML document.

The GetExecutionsOperation should return only the list of available Executions the logged in user has started, except in the case it is an Administrator. In that case he will be able to get the whole list.

GetExecutionsRequest

The GetExecutions Request is a common structure for synchronous execution. It inherits basic properties from the RequestBaseType and contains additional elements that allow to filter out, refine and order the list of available Process Jobs.

GetExecutionsResponse

The GetExecutionsResponse it is always in the form of an XML document. Except in case of Exception, the response document will contain a list of StatusInfo elements filtered, refined or ordered accordingly to the specified parameters.

Response paging

Response paging is the ability of a client to scroll through a set of response values, N values at-a-time much like one scrolls through the response from a search engine one page at a time.

Similarly to the WFS 2.0.0 response paging mechanism (see See section “7.7.4.4 Response paging” of the specification), the output will show to the client the following attributes as part of the response document.

GetExecutionsExceptions

When a WPS server encounters an error while performing an GetExecutionsResponse, it shall return an exception report as specified in clause 8 of [OGC 06-121r9]. If appropriate, the server shall use additional exception codes as defined in this section.

Retrieve the WPS Execute Input values

Currently the WPS 1.0.0 protocol already supports a “lineage” option allowing a client to retrieve the Inputs values provided to the Execute Request.

According to this, there’s no need currently for a specific operation. The proposal here is to improve, and eventually fix, the “lineage” option in order to allow the WPS, and more specifically the WPS-Remote plugin, the Execute Request Input values.

Backwards Compatibility

No backwards compatibility issues found.

Feedback

Voting

Project Steering Committee:

  • Alessio Fabiani: +1
  • Andrea Aime: +1
  • Ben Caradoc-Davies:
  • Brad Hards: +0
  • Christian Mueller:
  • Ian Turton: +1
  • Jody Garnett:
  • Jukka Rahkonen:
  • Kevin Smith:
  • Simone Giannecchini: +1

Links

Clone this wiki locally