Two weeks ago at this year’s FOSSGIS conference, I presented some news regarding the 52°North WPS project and also about the OGC WPS standard.
News from the WPS project
I talked about the move to GitHub and the new project procedures that accompany this move.
I also presented the lightweight JavaScript WPS client that was developed in the GeoViQua project.
You can find more information about it here: wps-js.
I showed the new admin application that was developed during last year’s Google Summer of Code.
This was presented in several blog posts before and will hopefully be included in a future WPS release.
The next topic was the current developments in OGC Testbed (OWS) 10, namely the RDF (Resource Description Framework) provenance encoding that was developed within the project. To learn about the basics of provenance in our context, you can have a look in this OGC Public Engineering Report(ER). The ER sums up the developments of the previous testbed, where we implemented XML-based provenance information as addidtional WPS output.
The RDF encoding that was developed in OWS-10 is more lightweight and we think that it would be useful to include it as part of the WPS.
Small exerpt of the RDF provenance:
@prefix f2n: <http://www.opengis.net/ogc/ows10/ows10-52n-ontology/> . ... @prefix usgs_data: <http://www.usgs.gov/projects/ows8> . ... >################################################################### # FeatureCollections (Datasets) involved in the conflation process ################################################################### usgs_data:USGSMap a ows:FeatureCollection ; owl:sameAs <http://portal.cubewerx.com/cubewerx/projects/ows9/cubeserv.cgi?request=GetFeature&...> . usgs_data:ConflatedMap a ows:FeatureCollection ; prov:wasRevisionOf usgs_data:USGSMap ; prov:generatedAtTime 2014-03-18T09:09:17^^xsd:dateTime . ################################################################### # AttributeTypes involved in the conflation process ################################################################### usgs_data:USGS_address rdfs:subClassOf ows:Property . usgs_data:USGS_Position rdfs:subClassOf ows:Point . ################################################################### # FeatureTypes involved in the conflation process ################################################################### usgs_data:USGSFeature rdfs:subClassOf ows:Feature .
We will describe this in more detail in another post, I will just highlight the most important aspects here:
The RDF provenance holds information about:
- the process itself, e.g. who implemented it and when
- the specific process execution, e.g. who started it (optional) and when
- involved inputs of the process execution, e.g. source URL and feature type description
- dependencies between inputs and outputs, e.g. which output feature came from which input feature.
An OGC Engineering Report describing the RDF provenance is currently being written and will be published around the summer.
News about WPS testing
During a Code Sprint with our friends from the USGS Center for Integrated Data Analysis at the end of 2012 we refactored an external test tool for the WPS and included the execution of the tests in the build process (see this blog post for the details).
We are testing all three WPS operations (GetCapabilities, DescribeProcess, Execute) with several valid/invalid requests. The majority of tests concerns the Execute operation as this is the most important WPS operation and it can be adjusted in many ways.
We also had a look at the WPS tests developed by the OGC CITE (Compliance Interoperability & Testing Evaluation) team. It turns out that they are still in a beta version and currently there are no Execute tests. So we are actually testing more than is required by the OGC. But this of course is easy for us because we know our WPS and we have written some specific processes to use for the Execute tests. We also have test data which fits for the processes. The OGC testers do not have that for the different WPS implementations out there. If you want to write general tests for WPS you need to have a standardized process and test data, otherwise a process that fails due to wrong input data could pollute the test results. The focus of the tests in not the correct handling of data, but the validity of requests/responses and the correct behavior in case of errors.
During a meeting with the pyWPS developers earlier this year, we discussed the idea of specifying standardized test processes for the WPS CITE tests. Our idea was to use an echo process that simply returns the input it gets. It would have the three different input types (ComplexData, LiteralData and BoundingBoxData) as inputs and there should be a version of the process with a built-in delay of a few seconds to test asynchronous execution. This needs to be elaborated further and we also need more discission with the CITE test developers about this, but we think this might be a way to test the Execute operation, so that we finally can have certified compliant WPS and reference implementations.
News about WPS 2.0
I got carried away a bit presenting the testing topic and so I only very briefly described the version 2.0 of the WPS standard. Note that the following list is only a draft and subject to change. The most important changes in the WPS 2.0 standard will be:
- Division into core and extensions
- Nested inputs and outputs
- Introduction of methods for status controlling of processes
- Improved definition of WPS profiles
- Improved method of invoking processes synch/asynch
- “Pluggable” process descriptions
- Improved test suite
I will not go into more detail here, as the concepts behind those bullet points are not yet final. If you are an OGC member and interested in the WPS 2.0 standard, I invite you to join the SWG and participate in the discussion. For non OGC members there will be a public commenting period for each standard. We plan to start this period for the WPS 2.0 standard at the beginning of May. The release of the WPS 2.0 standard is planned for summer.
Links
You can find a video of the talk here: Neues aus dem 52°North WPS Projekt (in German)
The presentation slides are available here: Slides (in German)
Leave a Reply