Print

Print


On Sun, 19 Dec 2004, Adam Dickmeiss wrote:
> Dr Robert Sanderson wrote:
>> a) Allow SRU via POST, making three possibilities for hardcore server
>>    developers
>> Then I think that (a) is the better option, because the people who are
>> most affected are the people who are most likely to just implement it
>> anyway rather than abandoning ship.

> thank you for responding.. I pretty much agree. It will be more honest
> to say.
>  c) SRU it is. GET is mandatory. POST is optional. SRW / SOAP depricated.

I don't think that deprecating SRW is a good option.  There's just no
advantage to doing so, and see below.

> The important part is that people did not implement SRW servers already,
> so we're in a stage where SRU GET is the only "safe" option.

Well, most of us -have-, they're just much harder to write braindead
clients for, and for the most part we have been interested in servers not
clients.


>>> The consequence is that clients that just works are bound to be SRU GET,
>>> or try to be clever and configure (using a poll like mechaism)..
>> Perhaps we should just require SRU GET?
> Yep. It's the only sensible thing to do. Thinking about it, the SRW
> protocol has gradually moved away from XML. XCQL gone. SOAP not being
> supported by some servers (even IIRC it was required).

I don't think that's the protocol moving away from XML, or SOAP. It was
more a design flaw in the 1.0 spec.

XCQL's initial raison d'etre was to avoid writing CQL parsers, as everyone
must have access to an XML parser anyway.  If you have an XML parser you
can generate the same tree from XCQL with it as from CQL with a CQL
parser.

However the cost of constructing that tree in a client is much much
greater than constructing the string equivalent.  It shifted the burden
from the server (which already has the burden of implementation) to the
client (which doesn't).   The server already had to understand CQL, so it
just complicated everything to also allow XCQL in the request.

However we retained it in the response as it's easy to manipulate with
XSLT (or other tools) in a client.  There it's useful, it shifts the
burden of parsing the CQL first to the server, and then to the underlying
tools used by the client.


> SRU should be considered _one_ protocol. When explain is returend it
> should just state "I can handle POST" or "I cannot handle POST" (forgive
> me if that's already been suggested). This will make it easy for clients
> to use POST if that is desired, but do GET explain in the _first_ place.

This is where I start to really disagree.

While there may not be many SRW implementations in use today, that's not
to say that SOAP is bad, or that there never will be any.  The number of
publically available, non trivial/non experimental web services in any
field today is still not very high.  Database access is, IMO, the prime
candidate for expansion (cf Google, Amazon) and SRW is the single real
contender in that field.


> 1. Since POST does not have similar size limitations.. Update or other
> services will work (better).

Well, we do talk about this size limitiation. But has anyone actually hit
it in practice? Has anyone even demonstrated that current servers fail to
process queries > 1024 characters?


> We can keep SRW+SOAP . But it's going to die. If we keep it, it will be
> pure marketing.. I'm certainly going to change "my" clients to use SRU
> instead of SRW.

That's certainly a possibility.  However, the entry into the 'marketplace'
of a few heavy hitters on the SOAP front and I think that could very very
easily turn around.

Netcraft hasn't confirmed it yet :)

Rob


       ,'/:.          Dr Robert Sanderson ([log in to unmask])
     ,'-/::::.        http://www.o-r-g.org/~azaroth/
   ,'--/::(@)::.      Dept. of Computer Science, Room 805
,'---/::::::::::.    University of Liverpool
____/:::::::::::::.  L5R Shop: http://www.cardsnotwords.com/
I L L U M I N A T I