[OpenLayers-Dev] Re: wps protocol

Jachym Cepicky jachym.cepicky at gmail.com
Fri Sep 23 21:18:47 EDT 2011


Hi,

having more closer look at the WPSExecute format, it basically contains 
*very good* support for Execute requests formating as well. So 
basically, you can ignore my previous email.

I have written some test page, based on data from the WPS Shootout [1], 
results are very promising:

So far, tested only Deegree, 52North, Geoserver and Zoo (I know their 
public address), PyWPS (I have it on localhost, public server does not 
work now).

Results:
========

GetCapabilities: all passed

DescribeProcess (buffer): all passed

Execute (gml 3.1 input):

	pywps and zoo did well,
	geoserver returned correct exception (expecting Geometry, not Feature),
	52North and Deergree failed (Error 500)

I think, that is great result!

We will continue the discussion at wps-dev mailing list, I just wanted, 
that the openlayers community is informed about this test.

Sample test page attached (just copy to examples/ directory)

As I already said: the OpenLayers.Format.WPS* stuff seems to be pretty 
good - you did very well job, thanks for it. I'm going to use it in the 
Ext-based frontend, I'm supposed to do nowadays.

We can now drop support for pywps/WPS.js.

Jachym


On 23.9.2011 23:23, Jachym Cepicky wrote:
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-dev/attachments/20110924/6bf3092d/wps.html


More information about the Dev mailing list