Skip to main page content
Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
, 10, 279

XMPP for Cloud Computing in Bioinformatics Supporting Discovery and Invocation of Asynchronous Web Services

Affiliations

XMPP for Cloud Computing in Bioinformatics Supporting Discovery and Invocation of Asynchronous Web Services

Johannes Wagener et al. BMC Bioinformatics.

Abstract

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.

Figures

Figure 1
Figure 1
XMPP cloud services connected to a federated network of XMPP servers. The XMPP servers are taking care of routing XMPP stanzas from one XMPP entity to another inside the cloud. Each XMPP entity is identified by its Jabber ID (JID). XMPP services (e.g. hivpred.ws1.bmc.uu.se) are connected to an XMPP server (e.g. ws1.bmc.uu.se). XMPP clients (e.g. user@ws1.bmc.uu.se) connect to their XMPP server and can subsequently communicate with any XMPP entity connected to the federated network.
Figure 2
Figure 2
Sequence diagrams for synchronous and asynchronous XMPP cloud services. XMPP services may be implemented in the traditional synchronous way that directly returns the result when a method is invoked (A). Alternatively, services that perform time-consuming operations may be implemented in an asynchronous way where the client is notified after the initial job submission about the completion of the remote process, and the client subsequently requests the result from the service (B). The crosses indicate the end of a thread.
Figure 3
Figure 3
XMPP services used from Bioclipse. Screenshot from Bioclipse with the HIVpred plugin installed. The Bioclipse Console (bottom) was used to invoke the HIVpred service, and the results are displayed in this console and graphically in a chart (bottom right). In the top middle is shown a script making use of the HIVpred service for pipelined usage. The Service Discovery View displays the available services on the server ws1.bmc.uu.se (top right).
Figure 4
Figure 4
XMPP plugin for Taverna. Screenshot of Taverna running a cheminformatics workflow that calculates the XLogP and TPSA of a set of molecules represented by SMILES. Each activity is a call to a CDK-based XMPP service [57].

Similar articles

See all similar articles

Cited by 8 PubMed Central articles

See all "Cited by" articles

References

    1. Stockinger H, Attwood T, Chohan SN, Côté R, Cudré-Mauroux P, Falquet L, Fernandes P, Finn RD, Hupponen T, Korpelainen E, Labarga A, Laugraud A, Lima T, Pafilis E, Pagni M, Pettifer S, Phan I, Rahman N. Experience using web services for biological sequence analysis. Brief Bioinform. 2008;9:493–505. doi: 10.1093/bib/bbn029. - DOI - PMC - PubMed
    1. Stein L. Creating a bioinformatics nation. Nature. 2002;417:119–120. doi: 10.1038/417119a. - DOI - PubMed
    1. Sayers EW, Barrett T, Benson DA, Bryant SH, Canese K, Chetvernin V, Church DM, DiCuccio M, Edgar R, Federhen S, Feolo M, Geer LY, Helmberg W, Kapustin Y, Landsman D, Lipman DJ, Madden TL, Maglott DR, Miller V, Mizrachi I, Ostell J, Pruitt KD, Schuler GD, Sequeira E, Sherry ST, Shumway M, Sirotkin K, Souvorov A, Starchenko G, Tatusova TA, Wagner L, Yaschenko E, Ye J. Database resources of the National Center for Biotechnology Information. Nucleic Acids Res. 2009;37:D5–15. doi: 10.1093/nar/gkn741. - DOI - PMC - PubMed
    1. Miyazaki S, Sugawara H, Ikeo K, Gojobori T, Tateno Y. DDBJ in the stream of various biological data. Nucleic Acids Res. 2004;32:D31–4. doi: 10.1093/nar/gkh127. - DOI - PMC - PubMed
    1. Labarga A, Valentin F, Anderson M, Lopez R. Web services at the European bioinformatics institute. Nucleic Acids Res. 2007;35:W6–11. doi: 10.1093/nar/gkm291. - DOI - PMC - PubMed

Publication types

MeSH terms

LinkOut - more resources

Feedback