From: Jody G. <jod...@gm...> - 2009-08-29 02:11:14
|
Hi Andrea - Thanks for chasing this one along - some comments inline... On 29/08/2009, at 5:59 AM, Andrea Aime wrote: > One significant feedback I got was to use Name instead of a String > to indentify the processes. I mulled over it a bit but in the end > it makes a lot of sense, since the quickest way to get lots of > processes is to bind external providers, that most likely will > have similarly named processes. For example, I think we have buffering > in GeoTools, but there is one in Sextante as well, and if we ever > decide to hook up GRASS abilities as well we'd have a third one. > So... it's a good idea to namespace them a little. yep. > In practice thought, I've looked around and never seen anyone > use the code space, that is, never seen something like: > > <Identifier codeSpace="xxx">buffer</Identifier> > > For example 52N WPS will apparently use the fully qualified > name of the class as the process identifier, lots of > dots and qualifications, but no codeSpace usage. I have only run into code spaces with referencing authorities; so codespace "EPSG" is maintained by one authority; and codespace "OGC" maintained by another... I assume undertakings like INSPIRE will have a "code" space where they will define some mandatory operations that WFS servers need to support ... this is however only my assumption! > Adding to that, the KVP encoding requires the identifier > to be specified somehow in the mandatory DescribeProcess > KVP request asks one to use an Identifier in the KVP, but > there is no guidance on how to encode the codespace, > and all the examples do use plain jane strings, stuff like: > > http://foo.bar/foo? > Service=WPS& > Request=DescribeProcess& > Version=1.0.0& > Language=en-CA > Identifier=intersection,union I remember having some trouble with deegree server when they started requiring a "namespace" for their "typenames" even when it went against WFS=1.0 spec; as I understand it this is a feature of WFS 1.1 - could we mirror the idea? > > Following the patch in GeoServer I've basically ignored > the codeSpace and made a convention that ":" is used > to separate the namespace from the local name, so for > example the GeoTools buffer process will be named > > <Identifier>gt:buffer</Identifier> yeah okay that works for me. > and a KVP request will say &Identifier=gt:buffer... > Hacky but works and it's consistent between > XML and KVP encodings... anyone with a better idea? Nope I am content; breaking out a codespace KVP would not be consistent; however this is something to feedback to sta...@os... as a question. > Long story short, using namespaced identiferies is a > good idea, but it does not seem to apply in a straightforward > way to the WPS protocol as is today. > > Can anyone review? I would like to commit and finally bind some > Sextante processes to GeoServer. I will be happy to review. Jody |