Motivated by Ricardo's request, I've put together a crude start on such
a tool. It's based on a PHP LSID client I've been working on. It's all
rather crude, but basically it takes an LSID, resolves it, gets the
authority WSDL, and grabs some metadata. It displays the results
(including HTTP headers if desired), and does a few very simple tests.
It's not very detailed, isn't robust, doesn't do many tests, completely
ignores SOAP, doesn't handle data yet, makes no claims to be defintive,
etc., etc., but in the spirit of "release early, release often" it
might be useful.
You can play with it at http://linnaeus.zoology.gla.ac.uk/~rpage/lsid/
It should work in any half-decent browser (I've used Safari and Firefox
on a Mac). Anybody who has used Mindreef's wonderful SOAPScope tool
(http://www.mindreef.com/products/soapscope/index.php) may spot the
influence.
Regards
Rod
On 9 Mar 2006, at 12:06, Ricardo Scachetti Pereira wrote:
Hi all,
There's been a number of new LSID resolvers (prototypes) poping up
here and there due to the recent adoption of LSID specification by the
Biodiversity Informatics community (see http://wiki.gbif.org/guidwiki
and
http://wiki.gbif.org/guidwiki/wikka.php?wakka=PrototypingWorkingGroup
for more details).
Since then I found myself spending quite sometime trying to explore
the details of each implementation and also troubleshooting some of the
resolvers. Although there is a number of tools available for testing,
such as both IE and Mozilla Launchpads and the Biopathways web
resolver,
I often find myself trying to get more info out of the resolvers using
ad-hoc techniques, such as hacking urls in the web browser address box.
I thought it would be nice to have a more automated tool that would
tell us all about each new resolver that pops up out there. I think
developers setting up their own resolvers would benefit of such tool as
well.
Initially, the idea as to develop a kind of LSID resolver debug
tool, but it quickly evolved into some kind of LSID standard
conformance
test.
So before I start doing this on my own, I would be grateful if you
could share your thoughts regarding the development of an automated
conformance testing tool for LSID resolvers, such as requirements, past
and ongoing related activities, or any ideas on the matter.
What I have in mind right now is the following:
* This conformance tool would take one or more LSIDs and would try and
resolve them. It would then output a report about the resolver and
warning and error messages when the server deviates from the standard.
* The tool would output a full report about the LSID authority,
including:
1. LSID syntax break up: authority id, namespace, id, version
(trivial);
2. Information about the authority DNS SRV record. If none is found,
it would use the Launchpad http fallback mechanism to move on (it would
issue a warning regarding that fact, though);
3. Information about the WSDL found at /authority/ path (WSDL and
human readable report if possible)
4. Information about the getAvailableServices() call (list of
available services, WSDLs and again, a human readable report if
possible)
5. Information on calls to all available (data and metadata)
services, with links to the results.
6. What else?
* The tool could also test for (http) error codes by providing data
that
is known to be invalid (something like Unit Tests).
* Would it be nice to have a client conformance test tool? I'm just not
sure yet how this tool would keep track of calls made by the same
client.
The other issue I'm struggling at the moment is the question of how
to implement it. The first thing that came to my mind was to hack one
of
the existing clients. Now I'm not sure whether to use IE Launchpad and
thus make this available as a desktop client or to use the Perl or Java
client stacks to implement the tool as a web application.
Anyway, thoughts are really appreciated.
Best regards,
Ricardo
PS. Sorry about the cross post. This message is being sent to both the
LSID developers and the TDWG/GBIF GUID mailing lists, as I believe it
will interest both communities.