Jonas Johansson wrote:
Hello all,
I have some months for a project in which I want to make use of the geoserver code and add a Web Processing Service (WPS) interface which is now a OGC discussion paper ( http://portal.opengeospatial.org/files/?artifact_id=12184). Where would I start, would any particular approach to develop a WPS be recommended and perhaps be usable to the community? My guess is that much code could be reused. Could anybody perhaps point me in the right direction, what I definitelly want or need to know before starting any of this? I have dug into the source code a bit but I still don't have a complete grip of it all.
Hi Jonas,
In a nutshell:
- join the next geoserver IRC meeting and talk to Justin about GeoServer 1.4.x branch
- read the rest of this email
I recommend grabbing the 1.4.x branch which is set up to facilitate additional services. The team I am working with with be doing exactly the same thing next week (we just got CC and maven working on this side).
I wrote a blog recently walking through the Transaction opperation, the first third of that may be a good intro (aka request comes in, a handler is found that produces a Request object, that is connected to a Response object that does the work. There are a couple of strategies for dealing with the response stream that can be chosen for speed/stability tradeoffs.
- http://weblogs.java.net/blog/jive/archive/2006/01/geoserver_wfst.html
Also, I am thinking about the possibilities to add a SOAP/WSDL layer to the WMS/WFS in line with the OGC OWS2 initiative. Have you guys given this any thought?
Richard Grould of the uDig project has been provided with WMS SOAP client code, but given the adoption rate we have not folded it into geotools yet. However this code could be placed in, and thus used for your testcases? We were able to talk to WMS SOAP via a proxy applet providing security as part of OWS3.
As for thought tis would simply be anouther kind of request handler, the Request object produced would head off as usual. For your more interesting XML related wrapping you may need to tack some additional info on before and after. But there should be no need to change the existing GetMap Response code.
Any thoughts on potential difficulties or helpful hints on developing WPS and adding SOAP/WSDL-support to WMS/WFS would be greatly appreciated! Are there any links to discussions on the topics?
Well WPS kind of does not do/say very much on its own I have set down an operations API before based on whim, all of which have seen nil for adoption. uDig is starting to get some very basic operations at the feature level. You may wish to check out the existing geoserver validation code for some cheap services you can provide (aka is the geometry valid) or complicated (spell check the place names with a gazetteer).
Aside: when you do set up a processing service I would recommend providing a simple interface for plugin providers to implement, and if it is simple enough (perhaps w/ javadocs based on the WPS) I'd like to try for some reuse inside uDig.
SOAP/WSDL should be straight forward. You are more then welcome to look at our OWS3 project, and I am afraid the papers we wrote on it will not make it out of the OGC until their next meeting.
Jody