Jon Gorrono
If Sakai is going to be one of the clients of these webservices, defining an efficient way to translate the calls to CHS on the client Sakai into webservices calls....
That is, I am not sure how easy it will be to intercept WebDAV, for example, while it is trying to upload 400,000 5-kbyte files: ideally one would get collection that could be packaged together for a one time webservice call. One-to-one calls (CHS.addResource() -> CHWS.addResource()) for each resource, would, I imagine, add a very high overhead cost.
Others who know a lot more about this than I (shouldn't be hard to find) could probably say, but WebDAV may not provide a hook into that 'knowledge' of the whole collection from just the server's perspective
Some individual tools would undoubtedly make many round-trip calls to the CHS that could have similar consequences when a WS layer is added.
Could you time-cache calls... paying a small price up front for possible big gains if lots of calls come in over the next x timeframe?
Also, security ... you prob. need PKI certs, customized or based on some spec/standard not really completed yet.... and callbacks ... you pretty much need them for completeness (if not just to complete the security circle then to avoid ACK problems), but it means all clients of the service need to implement the methods. Then there is the danger of defining things only in terms of Sakai sessions, etc. leaving other clients in the lurch. I'm assuming the Sakai might not be the only client of the services.....