Compliance Testing Results 2010
This page gives detailed information about the results presented in the presentation
Compliance Testing of Open Source Software for Web Processing Services at foss4g 2010 in Barcelona. The slides are available
here.
The aspect of compliance can be separated into product compliance and OGC compliance. OGC compliance has been tested by validating the response documents of a given WPS instance. For validating given response documents XMLSpy (de-facto standard tool for XML validation) has been used.
WPS endpoints
52°North
http://giv-wps.uni-muenster.de:8080/wps/WebProcessingService
Deegree
http://deegree3-testing.deegree.org/deegree-wps-demo/services
PyWPS
http://apps.esdi-humboldt.cz/cgi-bin/wps/wps
Zoo WPS
http://zoo-project.org/cgi-bin-new/zoo_loader.cgi
OGC compliance
The products are always listed in alphabetical order.
GetCapabilities
52°North WPS
http://giv-wps.uni-muenster.de:8080/wps/WebProcessingService?Request=GetCapabilities&Service=WPS&version=1.0.0
Deegree
http://deegree3-testing.deegree.org/deegree-wps-demo/services?request=GetCapabilities&Service=WPS&version=1.0.0
http://apps.esdi-humboldt.cz/cgi-bin/wps/wps?request=GetCapabilities&Service=WPS&version=1.0.0
failed wps:processVersion="1.0.0" is missing
Zoo WPS
http://zoo-project.org/cgi-bin-new/zoo_loader.cgi?REQUEST=GetCapabilities&SERVICE=WPS&version=1.0.0
DescribeProcess
52°North WPS
http://giv-wps.uni-muenster.de:8080/wps/WebProcessingService?Request=DescribeProcess&Service=WPS&Version=1.0.0&Identifier=org.n52.wps.server.algorithm.SimpleBufferAlgorithm
Deegree
http://deegree3-testing.deegree.org/deegree-wps-demo/services?request=DescribeProcess&Service=WPS&version=1.0.0&identifier=Buffer
PyWPS
http://apps.esdi-humboldt.cz/cgi-bin/wps/wps?request=DescribeProcess&Service=WPS&version=1.0.0&Identifier=complexVector
failed Problems with ows namespace for mimetype element
Zoo WPS
http://zoo-project.org/cgi-bin-new/zoo_loader.cgi?REQUEST=DescribeProcess&SERVICE=WPS&version=1.0.0&Identifier=Buffer
Execute Store
52°North WPS
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsExecute_request.xsd">
<ows:Identifier>org.n52.wps.server.algorithm.simplify.DouglasPeuckerAlgorithm</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>FEATURES</ows:Identifier>
<wps:Reference schema="http://schemas.opengis.net/gml/2.1.2/feature.xsd" xlink:href="http://giv-wps.uni-muenster.de:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp:states">
</wps:Reference>
</wps:Input>
<wps:Input>
<ows:Identifier>TOLERANCE</ows:Identifier>
<ows:Title>Distance which people will walk to get to a playground.</ows:Title>
<wps:Data>
<wps:LiteralData>20</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="true">
<wps:Output asReference="false">
<ows:Identifier>SIMPLIFIED_FEATURES</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
Deegree
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0"
xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsExecute_request.xsd">
<ows:Identifier>Buffer</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>GMLInput</ows:Identifier>
<wps:Data>
<wps:ComplexData>
<Curve gml:id="C1" xmlns="http://www.opengis.net/gml"
xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/base/geometryPrimitives.xsd">
<segments>
<Arc interpolation="circularArc3Points">
<posList srsName="EPSG:4326">2 0 0 2 -2 0</posList>
</Arc>
<LineStringSegment interpolation="linear">
<posList srsName="EPSG:4326">-2 0 0 -2 2 0</posList>
</LineStringSegment>
</segments>
</Curve>
</wps:ComplexData>
</wps:Data>
</wps:Input>
<wps:Input>
<ows:Identifier>BufferDistance</ows:Identifier>
<wps:Data>
<wps:LiteralData uom="unity" dataType="double">0.1</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="true">
<wps:Output asReference="false">
<ows:Identifier>BufferedGeometry</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
PyWPS
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsExecute_request.xsd">
<ows:Identifier>ogrbuffer</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>data</ows:Identifier>
<wps:Reference schema="http://ogr.maptools.org/features.xsd" xlink:href="http://apps.esdi-humboldt.cz/classification/traning_areas/training_areas_en.gml">
</wps:Reference>
</wps:Input>
<wps:Input>
<ows:Identifier>size</ows:Identifier>
<ows:Title>Distance which people will walk to get to a playground.</ows:Title>
<wps:Data>
<wps:LiteralData>20</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="true">
<wps:Output asReference="false">
<ows:Identifier>buffer</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
failed missing reference to a supported schema type
Zoo WPS
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
../wpsExecute_request.xsd">
<ows:Identifier>Buffer</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>InputPolygon</ows:Identifier>
<ows:Title>Playground area</ows:Title>
<wps:Reference
xlink:href=http://dreal-official.geolabs.fr/mapjax/webservices/wfs/dreal_lr_general/?VERSION=1.1.0&service=WFS&request=GetFeature&typename=Znieff1&maxfeatures=1"/>
</wps:Input>
<wps:Input>
<ows:Identifier>BufferDistance</ows:Identifier>
<ows:Title>Distance which people will walk to get to a playground.</ows:Title>
<wps:Data>
<wps:LiteralData>400</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="false">
<wps:Output asReference="true">
<ows:Identifier>Result</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
Execute Synchronous
52°North WPS
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsExecute_request.xsd">
<ows:Identifier>org.n52.wps.server.algorithm.simplify.DouglasPeuckerAlgorithm</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>FEATURES</ows:Identifier>
<wps:Reference schema="http://schemas.opengis.net/gml/2.1.2/feature.xsd" xlink:href="http://giv-wps.uni-muenster.de:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp:states">
</wps:Reference>
</wps:Input>
<wps:Input>
<ows:Identifier>TOLERANCE</ows:Identifier>
<ows:Title>Distance which people will walk to get to a playground.</ows:Title>
<wps:Data>
<wps:LiteralData>20</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="false">
<wps:Output asReference="false">
<ows:Identifier>SIMPLIFIED_FEATURES</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
Deegree
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0"
xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsExecute_request.xsd">
<ows:Identifier>Buffer</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>GMLInput</ows:Identifier>
<wps:Data>
<wps:ComplexData>
<Curve gml:id="C1" xmlns="http://www.opengis.net/gml"
xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/base/geometryPrimitives.xsd">
<segments>
<Arc interpolation="circularArc3Points">
<posList srsName="EPSG:4326">2 0 0 2 -2 0</posList>
</Arc>
<LineStringSegment interpolation="linear">
<posList srsName="EPSG:4326">-2 0 0 -2 2 0</posList>
</LineStringSegment>
</segments>
</Curve>
</wps:ComplexData>
</wps:Data>
</wps:Input>
<wps:Input>
<ows:Identifier>BufferDistance</ows:Identifier>
<wps:Data>
<wps:LiteralData uom="unity" dataType="double">0.1</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument>
<wps:Output asReference="false">
<ows:Identifier>BufferedGeometry</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
PyWPS
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsExecute_request.xsd">
<ows:Identifier>ogrbuffer</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>data</ows:Identifier>
<wps:Reference schema="http://ogr.maptools.org/features.xsd" xlink:href="http://apps.esdi-humboldt.cz/classification/traning_areas/training_areas_en.gml">
</wps:Reference>
</wps:Input>
<wps:Input>
<ows:Identifier>size</ows:Identifier>
<ows:Title>Distance which people will walk to get to a playground.</ows:Title>
<wps:Data>
<wps:LiteralData>20</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="false">
<wps:Output asReference="false">
<ows:Identifier>buffer</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
failed missing reference to a supported schema type
Zoo WPS
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
../wpsExecute_request.xsd">
<ows:Identifier>Buffer</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>InputPolygon</ows:Identifier>
<ows:Title>Playground area</ows:Title>
<wps:Reference
xlink:href="http://dreal-official.geolabs.fr/mapjax/webservices/wfs/dreal_lr_general/?VERSION=1.1.0&service=WFS&request=GetFeature&typename=Znieff1&maxfeatures=1"/>
</wps:Input>
<wps:Input>
<ows:Identifier>BufferDistance</ows:Identifier>
<ows:Title>Distance which people will walk to get to a playground.</ows:Title>
<wps:Data>
<wps:LiteralData>400</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="false">
<wps:Output asReference="false">
<ows:Identifier>Result</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
Execute Asynchronous
52°North WPS
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsExecute_request.xsd">
<ows:Identifier>org.n52.wps.server.algorithm.simplify.DouglasPeuckerAlgorithm</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>FEATURES</ows:Identifier>
<wps:Reference schema="http://schemas.opengis.net/gml/2.1.2/feature.xsd" xlink:href="http://giv-wps.uni-muenster.de:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp:states">
</wps:Reference>
</wps:Input>
<wps:Input>
<ows:Identifier>TOLERANCE</ows:Identifier>
<ows:Title>Distance which people will walk to get to a playground.</ows:Title>
<wps:Data>
<wps:LiteralData>20</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="true">
<wps:Output asReference="true">
<ows:Identifier>SIMPLIFIED_FEATURES</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
Deegree
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0"
xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsExecute_request.xsd">
<ows:Identifier>Buffer</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>GMLInput</ows:Identifier>
<wps:Data>
<wps:ComplexData>
<Curve gml:id="C1" xmlns="http://www.opengis.net/gml"
xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/base/geometryPrimitives.xsd">
<segments>
<Arc interpolation="circularArc3Points">
<posList srsName="EPSG:4326">2 0 0 2 -2 0</posList>
</Arc>
<LineStringSegment interpolation="linear">
<posList srsName="EPSG:4326">-2 0 0 -2 2 0</posList>
</LineStringSegment>
</segments>
</Curve>
</wps:ComplexData>
</wps:Data>
</wps:Input>
<wps:Input>
<ows:Identifier>BufferDistance</ows:Identifier>
<wps:Data>
<wps:LiteralData uom="unity" dataType="double">0.1</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="true">
<wps:Output asReference="true">
<ows:Identifier>BufferedGeometry</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
PyWPS
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsExecute_request.xsd">
<ows:Identifier>ogrbuffer</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>data</ows:Identifier>
<wps:Reference schema="http://ogr.maptools.org/features.xsd" xlink:href="http://apps.esdi-humboldt.cz/classification/traning_areas/training_areas_en.gml">
</wps:Reference>
</wps:Input>
<wps:Input>
<ows:Identifier>size</ows:Identifier>
<ows:Title>Distance which people will walk to get to a playground.</ows:Title>
<wps:Data>
<wps:LiteralData>20</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="true">
<wps:Output asReference="true">
<ows:Identifier>buffer</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
failed missing reference to a supported schema type
Zoo WPS
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
../wpsExecute_request.xsd">
<ows:Identifier>Buffer</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>InputPolygon</ows:Identifier>
<ows:Title>Polygon to be buffered</ows:Title>
<wps:Reference xlink:href="http://dreal-official.geolabs.fr/mapjax/webservices/wfs/dreal_lr_general/?VERSION=1.1.0&service=WFS&request=GetFeature&typename=Znieff1&maxfeatures=1"/>
</wps:Input>
<wps:Input>
<ows:Identifier>BufferDistance</ows:Identifier>
<ows:Title>Distance which people will walk to get to a playground.</ows:Title>
<wps:Data>
<wps:LiteralData>400</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="false">
<wps:Output asReference="false">
<ows:Identifier>Result</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
--
TheodorFoerster - 12 Sep 2010