30
Benjamin Pross , Matthias Müller FOSS4G-E, 15.07.2014 «««« The WPS 2.0 Standard

The WPS 2.0 standard (preliminary information)

Embed Size (px)

DESCRIPTION

In this talk, we will present the Web Processing Service (WPS) 2.0 standard that is planned to be released by the Open Geospatial Consortium (OGC) shortly after FOSS4G-Europe 2014 (Due to possible changes during the release process, this information is preliminary.). We will describe the changes to the previous version of the standard (1.0.0) including: • Improvements to the process description, • Profiling mechanism for WPS processes, • Changes to the WPS protocol, including synchronous and asynchronous invocation of processes and status monitoring, • “Pluggable” process descriptions, and • Improved conformance testing. As a result of the modularization, the standard will contain several conformance classes which can be combined to tailor WPS implementations to various application scenarios. Request/response examples will give the audience an exact picture of what a service implementing the Basic WPS 2.0 interface will look like. We will also describe the mechanisms that will allow domain experts to specify further extensions of the WPS core, e.g. to create a RESTful WPS, a WPS based on SensorML or a CoverageWPS. We will talk about testing and a (possible) roadmap for creating an OGC Compliance Interoperability & Testing Evaluation (CITE) test suite that will eventually lead to certified compliant WPS 2.0 servers and also to reference implementations of the standard.

Citation preview

Page 1: The WPS 2.0 standard (preliminary information)

Benjamin Pross, Matthias Müller FOSS4G-E, 15.07.2014

««««

The WPS 2.0 Standard

Page 2: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

2

Overview

• Status update• WPS 2.0 components• Conformance tests

Page 3: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

3

WPS 2.0 Status

• SWG vote two weeks ago• OAB telecon today 9:30 p.m.• Public comment period will start soon

(hopefully)• Still draft status

Page 4: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

4

WPS 1.0

• Has gained some attention– Recently also in the environmental modeling domain

• Long due overhaul (dates back to 2007)• Lot's of change requests accumulated• Lacks support for process cataloguing• No Abstract Test Suite (ATS)

Page 5: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

5

WPS 2.0 – Components

• Conceptual Model - Core• (Native) Process model / data model• Support for foreign process models• Common Service operations• Process profiles

Page 6: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

6

WPS 2.0 – The core

• Is a conceptual model• Formulates minimal platform-independent requirements

for a WPS• Can be realized in different Distributed Computing

Platforms / Architectures (SOA, REST, …)

Page 7: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

7

WPS 2.0 – The core

Web Processing Service Process

Job

Status

DataJob Control Operation

provides

provides

control &monitor

has

has

runs

Page 8: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

8

WPS 2.0 – The core

• Requirements around– Service discovery– Service capabilities– Abstract process model– Job control– Process execution– Data transmission by value / by reference– Job monitoring

Page 9: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

9

WPS 2.0 – Process Model

• Process interface / signature• Descriptive elements• Data types

Page 10: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

10

Process Model WPS 1.0

Dataset H

Dataset G

Y= f(X)Input 1

Input 2

Input n

Dataset A

Dataset B

Dataset C

Dataset D

Dataset E

Dataset F

Output 1

Output n

Page 11: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

11

Process Model WPS 2.0

Process (@Identifier, @Title, @Abstract, @keywords) Input[0..*] Input[0..*]

Input[0..*] …

… Output[1]

Output[1..*] …

Output[1]

Page 12: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

12

WPS 2.0• Nested in-/outputs

– 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

Page 13: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

13

Process Model WPS 2.0

0..* +minOccurs[1]: nonNegativeInteger+maxOcurs[1]: positiveInteger

InputOutput

+title[1]: ows:Title+abstract[0..1]: ows:Abstract+keywords[0..1]: ows:Keywords+identifier[1]: ows:Identifier+metadata[0..*]: ows:Metadata

DescriptionType

0..*+ Input[0..*]: Input+ Output[1..*]: Output

Process

Page 14: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

14

Process Model WPS 2.0

• More symmetry for inputs and outputs• Documentation links in metadata elements

<ows:Metadata xlink:role="http://www.opengis.net/spec/wps/2.0/def/process/description/

documentation" xlink:href="http://my.wps.server/processes/proximity/Planar-Buffer.html#input_geometry"/>

<ows:Metadata xlink:role="http://www.opengis.net/spec/wps/2.0/def/process/description/

documentation" xlink:href="http://some.host/profileregistry/implementation/Planar-GML-

Buffer.html"/>

Page 15: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

15

Data model for Process I/O

pre-definedgeneric

IOData

ComplexData LiteralData BoundingBoxData

...

Page 16: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

16

Foreign process models

• Idea triggered by SensorML change request• Purpose: WPS protocol shall support other process

models that have their own descriptive model and data types

• Solution: Abstract minimum requirements for process models that shall be used in conjunction with WPS– Identifiers for processes, inputs, outputs– Well-defined data types– Cardinality constraints– …

Page 17: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

17

Common service operations

• GetCapabilities• DescribeProcess• Execute (mode=sync|async|auto)• GetStatus (async)• GetResult (async)• Dismiss (extension)

• Cancel / release running job• Release server-stored results

Page 18: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

18

GetCapabilities

• More operations

<wps:Contents> <wps:ProcessSummary

jobControlOptions="sync-execute async-execute dismiss"> <ows:Title>Euclidean Distance</ows:Title> <ows:Identifier> http://my.site/distance-transform/euclidean-distance </ows:Identifier> </wps:ProcessSummary> <wps:ProcessSummary

jobControlOptions="async-execute dismiss"> processVersion="1.4.0"> <ows:Title>Cost Distance</ows:Title> <ows:Identifier> http://my.site/distance-transform/cost-distance </ows:Identifier> </wps:ProcessSummary> </wps:Contents>

Page 19: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

19

DescribeProcess

• More metadata

<wps:Input> <ows:Title>Geometry to be buffered</ows:Title> <ows:Abstract> Simple Features geometry input in GML or GeoJson </ows:Abstract> <ows:Identifier>INPUT_GEOMETRY</ows:Identifier> <wps:ComplexData> <wps:Format mimeType="text/xml" encoding="UTF-8" schema="http://schemas.opengis.net/gml/

3.2.1/feature.xsd" default="true"/> <wps:Format mimeType="application/json"

encoding="UTF-8"/> </wps:ComplexData> </wps:Input>

<wps:ProcessOffering jobControlOptions="sync-execute async-execute dismiss"

outputTransmission="value reference">

Page 20: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

20

Synch/Asynch execute

• In WPS 1.0 asynch execute was steered by several flags– Impossible combinations could appear

• WPS 2.0:– One flag „mode“, synch, asynch or auto– Auto lets the server decide whether the

job is run synch or asynch

Page 21: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

21

Execute

<wps:Execute service="WPS" version="2.0.0" response="document" mode="async">

<wps:Input id=”INPUT_GEOMETRY”> <wps:Reference xlink:href="http://some.data.server/

mygmldata.xml"/>

<!-- Uses default output format --> <wps:Output id=”BUFFERED_GEOMETRY”

wps:dataTransmissionMode="reference"> </wps:Output>

Page 22: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

22

KVP for execute

• KVP for execute was removed– Too complicated because of double URL

encoding and nested inputs– Could be re-introduced as extension

Page 23: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

23

StatusInfo

• JobID• Status (Running, Succeeded,…)• Estimated completion• NextPoll• Expiration date• Percent completed

Page 24: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

24

The scope for Process Profiles

• Align the interfaces of different implementations• Align the behavior of different implementations

the signature(or interface)

Defines what goes in and comes out

The behaviour

… Refers to the process mechanics

… Describes how the outputs are derived from the inputs

… Defines the result quality

Page 25: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

25

Fundamental difference: Planar vs geodesic buffering

Page 26: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

26

Hierarchical profiling approach (Buffer)

ConceptBuffer

Generic ProfileGeodesicBuffer

Implementation ProfileGeodesicBuffer on GeoJSON

Process Implementationhttp://my.process.geodesic-buffer

Page 27: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

27

Conformance tests

• More tests than in version 1.0• Still no release of ATS for 1.0

– Difficulties testing execute• Work is needed to create ATS for 2.0

– Together with test developers– Planned to do this in the context of

OWS-11

Page 28: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

28

Conformance tests

• Proposal to introduce an echo process

• Offers Complex-, Literal, BBoxData• Returns inputs unchanged• Execute operation should be testable

Page 29: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

29

Summary

• WPS 2.0:– Modular standard

• Conceptual service model• Process model

– Leaner specification– More metadata– Fine grained profiles

Page 30: The WPS 2.0 standard (preliminary information)

The WPS 2.0 Standard (preliminary information), 2014-07-15, FOSS4G-E, Bremen

30

More information:

WPS 2.0 SWGOGC TC Discuss/Announce list

[email protected]