Background: Life sciences make heavily use of the web for both data provision and analysis.
However, the increasing amount of available data and the diversity of analysis tools call for machine
accessible interfaces in order to be effective. HTTP-based Web service technologies, like the
Simple Object Access Protocol (SOAP) and REpresentational State Transfer (REST) services, are
today the most common technologies for this in bioinformatics. However, these methods have
severe drawbacks, including lack of discoverability, and the inability for services to send status
notifications. Several complementary workarounds have been proposed, but the results are ad-hoc
solutions of varying quality that can be difficult to use.
Results: We present a novel approach based on the open standard Extensible Messaging and
Presence Protocol (XMPP), consisting of an extension (IO Data) to comprise discovery,
asynchronous invocation, and definition of data types in the service. That XMPP cloud services are
capable of asynchronous communication implies that clients do not have to poll repetitively for
status, but the service sends the results back to the client upon completion. Implementations for
Bioclipse and Taverna are presented, as are various XMPP cloud services in bio- and
cheminformatics.
Conclusion: XMPP with its extensions is a powerful protocol for cloud services that demonstrate
several advantages over traditional HTTP-based Web services: 1) services are discoverable without
the need of an external registry, 2) asynchronous invocation eliminates the need for ad-hoc
solutions like polling, and 3) input and output types defined in the service allows for generation of
clients on the fly without the need of an external semantics description. The many advantages over
existing technologies make XMPP a highly interesting candidate for next generation online services
in bioinformatics.
Attachment | Size |
---|---|
Wagener2008XMPPforcloudcomputinginbioinformaticssupportingdiscovery.pdf | 1.59 MB |