wcsplus mailing list is no longer active. The list archives are made available for historical reasons.
Hi Jon, Jon Blower wrote:
I think negotiation could potentially be important, but I'm not sure this is a feature for a first cut, especially if we're doing this in limited time (Ben D. has already said in a different email that there are concerns about whether async operation can be implemented in time). The main practical issue here is that it's very difficult for a server to give an accurate estimate of how long a job will take. It would certainly be possible to create such a mechanism but I think this would need a *lot* of experimentation and thought. It's a perfectly valid requirement but I would prefer to see some evidence that this is really needed because I think it's going to be hard.
I agree. Let's implement and see how it goes before working on these details.
Regarding my concerns about HTTP response codes and REST to marshal the conversation on asynchronous behaviour. Again, I think this is a perfectly valid approach and my concerns aren't too critical, but my nagging doubts are: 1) In my experience, http response codes are often not used well by servers and clients. It's fine to include them in a spec, but I would prefer to ensure that the information they carry is duplicated in any XML response, so clients don't have to infer too much from the response code. (E.g. it's fine to specify that a server should respond with 202 ACCEPTED, but there should also be an XML document giving more information. Maybe that's what you were saying anyway.)
I agree that they are often (even mostly) not well used. I also agree that the response code information should be duplicated (and expanded on) in the response content.
On the other hand, I don't think a robust system (perhaps especially a distributed system) can be developed without a fair amount of thought put into error and exception handling. The response codes are a very small and quick check (as opposed to parsing an XML document). Also, handling them well makes server logs much more informative.
2) Do we need redirects at all? I'm not sure that we do, if we follow the WPS method of embedding URLs to data objects in the XML response.
Again, this is about building a robust system that can evolve gracefully. Server software will change, URLs will change, it makes it much easier to maintain an HTTP client/server system if clients supports redirects. Redirects are also often used to switch from HTTP to HTTPS for authorization/authentication.
3) My concern over REST is that none of the OGC specs (to my knowledge) follow REST principles and I think it's more important to follow the OGC conventions than apply a new paradigm. In the real world you can only rely on clients knowing how to do a GET and POST (PUT and DELETE are poorly supported, e.g. in Ajax-style operations. But perhaps you weren't considering using PUT or DELETE anyway). One of the very nice things about the existing OGC specs is that I can get data, images etc directly through a web browser and it helps the community to develop nifty web applications (like OpenLayers).
There was a lot of REST discussion at the Boulder TC meeting so it will be interesting to see how things develop wrt REST at OGC.
For WCS, I'm not thinking about PUT or DELETE.I agree, the ability to access data from a browser is very handy. And, I think, very important to wide spread adoption of WCS and other OGC specs/services. I think REST will help in this respect much more than the current push for SOAP and even XML POST.
Hope this helps. I agree completely that the top priority is a clear spec, but we do have to make sure that it's easy to implement properly. I guess that's the point of interop experiments!
Agree. And, along with the balance between simple and clear, we need to find balance between simple and robust.
Thanks, Ethan -- Ethan R. Davis Telephone: (303) 497-8155 Software Engineer Fax: (303) 497-8690 UCAR Unidata Program Center E-mail: edavis@xxxxxxxx P.O. Box 3000 Boulder, CO 80307-3000 http://www.unidata.ucar.edu/ ---------------------------------------------------------------------------