[Baypiggies] Do you think this would be cool open source? / web service discovery
Drew Perttula
drewp at bigasterisk.com
Fri May 8 05:41:24 CEST 2009
nar wrote:
> -- BUT, the ability to point a SOAP proxy object at some WSDL and have
> it automatically understand what functions are available to it and their
> prototypes makes it so much more attractive to third party developers.
> In terms of security, there's a variety of strategies you can utilize
> that are part of the protocol rather than tacking them on at the end by
> hand.
I've never experienced this 'automatically understand' phenomenon, so I
can't say it's useless, but it sounds like the same thing we have in
python. My python program can load any library and inspect the functions
and classes that are available, and it could start calling them.
But I have never written a program that does this; I read the docs
instead. My program isn't trying to write itself; I'm writing it. In my
experience, it's mostly tools like pydoc/epydoc/etc are benefiting from
that part of python's introspection [1]. The point is, this is how I use
REST web services too (e.g. twitter): I read the docs, and I don't care
what format they're in as long as it's human readable. I have never felt
like there's a "discovery" feature that's missing. When I'm
scraping^W^Wthere aren't docs, I follow whatever examples I can find.
This is how a ton of python code gets written, too.
Anyway, there seems to be some work on an equivalent description format
for URL-based web services called WADL. To see something live, make an
arbitrary search on google, grab the resulting URL, paste it into
http://tomayac.de/rest-describe/latest/RestDescribe.html# , and click
'Analyze URI'. Among other things, you could now pick 'generate code' on
the right and click python. The result will be a python class called
Search whose __init__ takes the arguments that the google search used.
Obviously if google published a more-documented WADL description, you'd
get more detail than just the current parameters and guesses about their
types.
[1] louie dispatcher is an interesting exception (among the libraries
that I use). It adjusts its set of parameters based on what the function
that's receiving the signal will accept.
More information about the Baypiggies
mailing list