Now that I have made contact with the different groups a couple things are clear:
- Everyone is very enthusiastic about having additional clients to talk to (this is the traditional chicken and egg problem with standing up either a client or a service - you need a friend in order to have a conversation - or a chicken I guess)
- Demo services are available for anything not under active development (this is great news for me)
- While deegree 3 WPS is still technically under development they are producing a downloadable war making their service easy to test
- GeoServer documentation needs some work (sad news for me but I can fix it)
- PyWPS was recommended
Today's task is to connect to each service and make sure I can parse the capabilities document; and if things go well the describe process documents.
52 North
52 North have been very supportive with both a stable service to test against, and in standing up a service from their development branch. Their development branch makes use of GeoTools 2.6 and I am keen to hear how their transition went. Recently we have made some usability improvements for GeoTools 2.7 which will make those updating older applications even easier.
Thanks to Bastian for setting up the a server using the development branch.
ZooWPS
The ZooWPS mailing list got back to me today and quickly pointed me to both examples and a sample WPS service I can test against. The examples confused me a bit (as the skip straight to the execute requests and rush over the whole capabilities and describe process steps).
Thanks to Nicolas for the sample server to test against.
While the examples are confusing (and show a danger of just using links for data) they have a simple
great picture explaining how their WPS functions.
deegree
Deegree makes a number of demonstration services available for testing; but they make use of an older 0.4 version of the WPS specification (and my dedication to standards compatibility has a limit). The new deegree 3 is implementing WPS 1.0 and has a war available that fits my needs.
(can I capitalise deegree if it is used to start a sentence ... or is it like "iPod" and the shape of the word matters more then silly english sentence conventions?)
GeoServer WPS Community Module
While I can quickly produce a war of the community module; my preferred method of testing is to use a very lightweight application server called "Jetty". Indeed use of Jetty is rolled into the maven build system:
cd web/app
mvn jetty:run -Pwps
The only difficulty is that the build tool maven has grown a bit responsible since I last used it and will no longer install plugins such as jetty without me modifying a couple of configuration files first. I am going to
sort out what is needed and update the GeoServer docs later today.
PyWPS
A recommendation from yesterday (thanks Tom) which appears to be a contemporary of deegree in terms of years of experience. One thing that really attracts my eye when looking at a new project is:
- recent news (showing that the project is alive)
- documentation (even better if it is called course material)
2010-05-05 New course material added
New course material added to PyWPS source. See documentation for details.
I will sign up to the email list and try and introduce myself shortly.
uDig (ie client)
The other thing I am working on is user interface ideas to present the idea of external processing. My thinking thus far is to cheat - and represent external results (and if processing is still going use a progress bar as a placeholder).
If I consider it as a list of results it becomes a more interesting and productive user interface concept:
- results can be "tagged" to define ad-hoc grouping according to server, process, processing status
- results that were produced externally (such as to an ftp site) can be listed, and downloaded if needed
- using a wps could be considered "adding" a result to the list and handled using a wizard (although a wizard is not the best for interacting with the map - such as selecting a calculation area)
- I should be able to record the steps that were used to produce each result and "rerun" if needed