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

PyWPS

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&amp;version=1.0.0&amp;request=GetFeature&amp;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&amp;version=1.0.0&amp;request=GetFeature&amp;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&amp;version=1.0.0&amp;request=GetFeature&amp;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
Topic revision: r3 - 16 Sep 2010, GeraldFenoy
This site is powered by FoswikiThe information you supply is used for OGC purposes only. We will never pass your contact details to any third party without your prior consent.
If you enter content here you are agreeing to the OGC privacy policy.

Copyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding OGC Public Wiki? Send feedback