Hi,

having a look in to the OpenLayers trunk, there is implementation of OpenLayers.Format.WPSCapabilities, DescribeProcess and Execute (I'll do some tests againts various WPS servers, known to me now days).

How is the OpenLayers.Protocol supposed to be used (not implemented-yet, or did not found any) ? According to API doc, Protocol is to be used together with vector layers, for reading the features.

I had a look into WFS protocol, my impression is, that it is used for GetFeature request exclusively.

I think, it would be good, to let the user proceed somehow GetCapabilities-DescribeProcess-Execute chain.

In my current implementation, I create following set of classes

OpenLayers.WPS.Process
OpenLayers.WPS.ComplexPut (used for In- and Output)
OpenLayers.WPS.LiteralPut (used for In- and Output)
OpenLayers.WPS.BBoxPut (used for In- and Output)


The in/outputs do have getValue and setValue methods, as well as some others, for easy manipulation with the process in and outputs.

Again, the OpenLayers.WPS.Process, several attributes and methods are defined, so the user (coder) can easily manipulate with particular process (including execution, adding in and outputs instances and so on).

The process could be configured either automatically (getcapabilities, describeprocess) or by hand, for example:

        var my_process = new OpenLayers.WPS.Process({
                        identifier: "buffer",
                        inputs: [
                                new OpenLayers.WPS.ComplexPut({
                                        identifier: "data",
                                        value: 
OpenLayers.Format.GML.v2.prototype.write(vlayer.getFeatures())
                                }),
                                new OpenLayers.WPS.LiteralPut({
                                        identifier: "size",
                                        value: 20
                                })
                        ],
                        outputs: [
                                new OpenLayers.WPS.ComplexPut({
                                        identifier: "buffer"})
                        ]
                });

        // defined earlier
        my_server.addProcess(my_process);

        // do the work, event will be fired
        my_process.execute();

(hope, it is self-explaining)

So, questions:

Does it make sense to use OpenLayers.Protocol in this case? Shall we write OpenLayers.Protocol.WPS.GetCapabilities, DescribeProcess, Execute classes? Would it be acceptable, to add OpenLayers.WPS namespace to OpenLayers base class? Do you (OpenLayers trunk-commiters, psc) want more deeper support for OGC WPS in OpenLayers, than "just" the Format reader ?

Thanks

Jachym
_______________________________________________
Dev mailing list
d...@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/openlayers-dev

Reply via email to