The SWeDe Project
Our task was to design, implement and propagate a standard XML schema for describing web services in the Biodiversity domain. The purpose of this would be to allow web service providers to document their web service just once rather than maintaining documentations on several different platforms. If they require changing any information about their service (such as available methods, licensing, descriptions etc) they would be required to do this only once.
Web service catalogues and repositories such as the Biodiversity Catalogue (http://www.biodiversitycatalogue.org) would be able to retrieve and parse this file regularly to determine whether their information about the web service needs to be updated.
Rather than producing a schema specific to biodiversity web services we have made it generic to be used for describing any web services in any scientific domain.
We originally hoped to encapsulate both Technical (methods, operations, parameters etc) and Metadata (authors, institutions, projects etc) in one such document but this was not an obviously routine use case for WSDL documents and we lack the expertise to investigate in a restricted amount of hacking time.
As such, Technical specification documents (WSDL/WADL) will be kept separate from Metadata (SWeDe).
The technical specification documents are already well established in the web service world. For SOAP web services a WSDL file (Web Service Description Language) is generated by the service provider as a necessary part of constructing a SOAP web service. For REST web services there are many tools available to service providers to generate a WADL file (Web Application Description Language).
After brain-storming requirements about what attributes we would need, we went about finding out if there is an existing XSD that does what we want. We found ABCD met some (though far from all) of our requirements, and that extending the schema is both well-documented and encouraged by it's authors.
The ABCD schema is composed of two parts, the METADATA and the UNIT section. The UNIT section is for describing data-sets and is of no interest to us. The METADATA part is useful as it is scientifically aware and contains many of the requirements needed by scientists to describe any artefact or tool including, in our case, Web Services.
The brief overview of our schema WebService
BaseURL Name Type TechnicalDocumentationURL GUIURL Projects Authors IPRStatements GlobalDescription Functions Categories
Come up with a sensible yet witty name Extend the ABCD Schema or generate our own Implement an online SWEDE document generator Implement an SWEDE document parser