Re: SOAP services as database query interfaces / SOAP design patterns?

Oops, sorry Dan, I forgot about this thread ...

On Tue, Nov 19, 2002 at 03:12:55PM -0500, Dan Brickley wrote:
> > Ok, but how do you want to use cataloguing in that example?
> 
> I would like a way of saying, using XML/RDF/URIs etc., that there exists a
> service which can be consulted by passing it [such-and-so] arguments and
> whose responses are (something like -- semi-invented example) a list of
> descriptions of things of type mb:AlbumTrack, where the track descriptions
> provide the tracknumber, trackname, tracklength and trackid properties for
> each track in the album, where the album's [something or other] property
> matches the appropriate argument we passed to the web service.

I've been thinking a lot about "machine processable forms" recently, and
I think what you're describing there is a GET form.  FWIW, RestRDF[1]
was an attempt at describing machine processable POST forms (via a
Container abstraction) as a declaration of a willingness to accept
representations as subordinates.  I took a brief stab at GET forms, but
didn't need them for my work, so didn't finish.

A GET form declares the existence of a mapping between a {URI,
representation} tuple, and a new URI.  The resource that the URI
identifies should be declared to be "Indexable" or
"Parameterizable"(?! 8-) or something, ala;

  :myResource a :IndexableResource .

Which is basically the same thing as this;

<html:form method="GET" action="myResource" > ...

The work is in declaring how you map from a representation (which could
be quite complex) to a new URI with a query term (assuming that's the
mapping we want, which I think it is because of the deployed libraries
that can easily work with query params).  I know this work has been
attempted before, but not, AFAIK, in this context.

>  I'd like
> to know whether ordering is significant in the XML response, and a few
> other things useful for information retrieval apps (eg. whether query
> expansions of any kind were performed).

If you think it would be useful to proceed with what I describe above,
then it would be really helpful if you could itemize those things you
feel are important.

I personally feel that order should not be important since many library
APIs don't expose query parameter ordering; the query term is normally
exposed as something like a dictionary.  This will impact the design
of the URI encoding, of course.

> A lot of lookup services have a similar pattern. You match some subset
> from a collection of descriptions, and get back a list of hits, with
> certain characteristics of each item provided.

Understood.  I think the form based framework I described above is
capable of describing any of these services.  The specifics of the
design will determine how general it is in practice.

 [1] http://www.markbaker.ca/2002/03/RestRDF/

MB
-- 
Mark Baker.  Ottawa, Ontario, CANADA.   http://www.markbaker.ca

   Will distribute objects for food

Received on Tuesday, 26 November 2002 15:44:56 UTC