{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "chem-bla-ics",
  "description": "Chemblaics (pronounced chem-bla-ics) is the science that uses open science and computers to solve problems in chemistry, biochemistry and related fields.",
  "home_page_url": "https://chem-bla-ics.linkedchemistry.info/",
  "feed_url": "https://chem-bla-ics.linkedchemistry.info/2009/01/21/details-behind-calling-xmpp-cloud.json",
  "icon": "https://chem-bla-ics.linkedchemistry.info/assets/images/chem-bla-ics_logo.png",
  "language": "en",
  "authors": [
    {
      "name": "Egon Willighagen",
      "url": "https://orcid.org/0000-0001-7542-0286",
      "_orcid": "0000-0001-7542-0286"
    }
  ],
  "items": [

    {
      "id": "https://doi.org/10.59350/1zmv1-tnn62",
      "url": "https://chem-bla-ics.linkedchemistry.info/2009/01/21/details-behind-calling-xmpp-cloud.html",
      "title": "Details behind the &quot;Calling XMPP cloud services from Taverna2&quot;",
      "content_html": "<p>On Monday I showed <a href=\"https://chem-bla-ics.linkedchemistry.info/2009/01/19/calling-xmpp-cloud-services-from.html\">two screenshot <i class=\"fa-solid fa-recycle fa-xs\"></i></a> showing our\n<a href=\"https://chem-bla-ics.linkedchemistry.info/2009/01/19/calling-xmpp-cloud-services-from.html\">new XMPP-based web/cloud services <i class=\"fa-solid fa-recycle fa-xs\"></i></a> in action\ninside <a href=\"http://taverna.sf.net/\">Taverna</a>.</p>\n\n<p>I promised details, but realize I have actually already posted a lot of them <a href=\"https://chem-bla-ics.linkedchemistry.info/2008/10/31/next-generation-asynchronous.html\">in October <i class=\"fa-solid fa-recycle fa-xs\"></i></a>:</p>\n\n<blockquote>\n  <p>Johannes ideas led to the <a href=\"http://xmpp.org/extensions/xep-0244.html\">IO-DATA proposal</a> (XEP-0244), which is currently\nmarked experimental and being discussed on the ws-xmpp mailing list. He gathered a few people around him to get it going,\nresulting in working stuff! Yeah!</p>\n</blockquote>\n\n<p><a href=\"http://miningdrugs.blogspot.com/\">Joerg</a> <a href=\"http://friendfeed.com/e/a15e79ac-92ce-4b16-81d9-8f7b6ec1ea24/chem-bla-ics-Calling-XMPP-cloud-services-from/\">asked</a>\n<em>Could you post more results, what is it, why do we need it, e.g. why are you mentioning SOAP and cloud? Do not know enough to see the bonus right now.</em></p>\n\n<p><strong>What is it?</strong> IO-DATA is a protocol on top of the XMPP protocol to allow machine-to-machine communication. Actually,\nmuch like SOAP, RPC, and other platforms. How IO-DATA differs lies to some extend to the transport layer: instead of\nusing HTTP, it used the XMPP transport protocol, also used for Jabber chat clients. It basically allows clients like\nTaverna to chat with services running elsewhere.</p>\n\n<p><strong>Why do we need it?</strong> Most services run over HTTP, making them web services. This is convenient, because there is\nmuch infrastructure around, like web browsers. REST services also take advantage of this. However, for heavy\ncomputing this sometimes leads to problems. For example, routers are known to have time outs on HTTP connections.\nTo solve this, SOAP services often introduce a polling mechanism. IO-DATA takes a different approach. Instead of\nhaving to ask all the time how a calculation is doing, you can just wait for the service to send you a message\nwhen it is done. Instead of working around the lack of asynchronous aspects, IO-DATA introduces these in the protocol.</p>\n\n<p>Other interesting features include that the IO-DATA integrates the interface formats for services into the service\nitself, SOAP needs WSDL for this, and that it features service discovery via DISCO. The latter is done with SOAP\ntoo, for example with UDDI and BioMoby. The latter also adds strong data typing for input and output of services.</p>\n\n<p>IO-DATA addresses the data typing by allowing asking the service what XML Schema it uses for input and output.\nWhile XML Schema has alternative, and which may be prefered in some situations, it does allow strong data typing\nand supports <a href=\"http://friendfeed.com/e/2d322ac5-a5b9-4336-b421-fede0eb8e192/Hi-Guys-I-m-looking-for-an-exhaustive-resource-of/\">a lot of formats in life sciences</a>\n(which I’ll summarise soon).</p>\n\n<p>Moreover, if there just happens not to be a suitable schemata around, you can just define one yourself, which can\nbe as simple as a single element wrapper around some custom text-based format. You worry about supporting many\nformats? Well, no need. Johannes’ xws4j library, which I used for the Taverna plugin too, allows compiling a Java\nbinding code. Bioclipse’s script environment allows you do to this on the fly: you find a service, ask for the\nschema, compile bindings for input and output, set up the input with the input binding, send it of to the service,\nand use the output binding for convenient access to the computation results. Without having to reboot Bioclipse.\nIsn’t that <strong>cool</strong>? Can your software do that? (See <a href=\"http://gist.github.com/22185\">this example Gist</a>: the io\nfactory creates the binding).</p>\n\n<p><strong>Why do I mention SOAP and the cloud?</strong> It should be clear from the above why I mention SOAP: it offer the same\nfunctionality, but more conveniently, we think. I mention cloud here, to refer to cloud computing which is doing\ncomputation on the cloud, which is a synonym for the internet (see\n<a href=\"http://en.wikipedia.org/wiki/Cloud_computing\">Cloud Computing @ Wikipedia</a>). Because it does\nnot use HTTP, we do not feel we can call it web service. Instead, cloud computing is a more general term, not\ntied to any particular architecture. IO-DATA is just one possible architecture, one we think is promising for\nlife science applications.</p>",
      "summary": "On Monday I showed two screenshot showing our new XMPP-based web/cloud services in action inside Taverna.",
      
      "date_published": "2009-01-21T00:00:00+00:00",
      "date_modified": "2025-10-26T00:00:00+00:00",
      "tags": ["xmpp","taverna"],
      
      
      
      
      
      
        "authors": [ { "name": "Egon Willighagen", "url": "https://orcid.org/0000-0001-7542-0286" } ]
      
    }

  ]
}
