Jody, thanks for your comments. I just went through them and saw a lot
of new decisions appearing. I think I will try to set up the
WPSDataStore for each WPS instance. Thus one WPSDataStore has multiple
FeatureTypes (i.e. processes). By now that s only a prototype... I will
try to figure out the Geotools OWS capabilties later, if the prototype
is suffient.
To give some more details about the context of my planned
implementation. I will trigger mostly the WPS, provided by 52north at
incubator52n.de/twiki/bin/view/Processing/52nWebProcessingService .
Finally I will link there any implementation code of the extension, if
there are no problems with any licensing...
I may get back to one of your comments in advance... Thanks again!
Theodor
-----Original Message-----
From: Jody Garnett [mailto:jgarnett@anonymised.com]
Sent: Thursday, August 31, 2006 5:19 PM
To: Theodor Foerster
Cc: geoserver-devel@lists.sourceforge.net
Subject: Re: [Geoserver-devel] WPS plugin for geoserver
That is a lot of questions, let me try:
Hi,
I just started to extend geoserver (v.1.3.0) for WPS support. The idea
is to serve geoprocesses through geoserver, in particular through the
WMS (WFS could be a future task). I am writing the WPS extension as a
read-only DataStore in geoserver.
That is a interesting choice, WPS is a protocol (not a source of data) -
I am not sure I understand this design decision?
By now, I can create WPS instances in geoserver as DataStores, but
what do I have to do to create actual FeatureStores?
You need to configure a GeoTools FeatureTypeInfo, you can do this using
the user interface (or by hacking and XML in your own conf directory).
You may also try out Justin's new GeoTools catalog backed GeoServer
available in the community module (which I am trying to figure out now)
- the api for programmers is a lot more direct.
However in my limited understanding a Web Processing Service, is
supposed to accept an OWS Request that includes a WFS request to a Web
Feature Service, the WPS would fetch features, process them, and return
the result. (I do hope that is correct).
You can find an example HelloWorld Open Web Service as part of the
GeoServer 1.4 documentation.
Or how do I get the processed results out to geoserver?
If your processed results are set up as part of your geoserver
configuration (either the xml files, or by hand using the config ui)
they will be published for other applications. Alternatively the WPS
specification tells you an different protocol (ie not Web Feature
Server) by which you can do this.
What is the role of the namespaces?
namespace is the namespace for the resulting GML content.
How can I pass dynamic parameters of the WMS request to the DataStore?
The dynamic paramters from the WMS request are limited to a bounding
box, it will get reprojected into some kind of spatial query based on a
Polygon, the other dynamic parameters are based on the Style Layer
Descriptor specificaiton and are handled by the rendering process. (as
an example they define a series of explicit queries against your
DataStore, sometimes only requesting a geometry attribute for display).
I will match each WPS-process with a FeatureType. However that s
perhaps not the best way, but straight-forward. Additionally I have to
deal with a little time constraint. The stuff has to work until end of
next week
Fun, so does your WPS need to be in agreement with the specification? If
so you should start defining your own community module to handle WPS
requests, capturing each request in a DataStore would be tough, you
could (when you define your process) accept DataStoreFactorySPI
parameters to handle the "dynamic" paramters include in your specific
request.
You would be making these datastores up per each request though, so you
would really need to understand Justins new catalog. Or you could just
make them, use them to generate some GML, and then throw them away
again.
I am looking forward to any comments concerning some design issues,
but also how to solve the above mentioned problems.
Sounds to me like you are making up a new service:
1. define a module (as per examples in the community space) 2. when
handling your request produce a Map of the dynamic parameters 3. use the
Map of parameters to create a new "DataStore"
4. use that datastore to generate some GML (using the existing geoserver
codebase as an example) 5. throw away the datastore after use.
Cheers,
Jody
Cheers
Theodor
ITC, Enschede
Department of Geo Information Processing PO. Box 6 7500 AA Enschede
the Netherlands
----------------------------------------------------------------------
--- Using Tomcat but need to do more? Need to support web services,
security?
Get stuff done quickly with pre-integrated technology to make your job
easier Download IBM WebSphere Application Server v.1.0.1 based on
Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=1216
42 _______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel