IO-DATA is a protocol on top of the XMPP protocol to allow
machine-to-machine communication. Actually, much like SOAP, RPC, and
other platforms. How IO-DATA differs lies to some extend to the
transport layer: instead of using HTTP, it used the XMPP transport
protocol, also used for Jabber chat clients. It basically allows
clients like Taverna to chat with services running elsewhere.
Why do we need it? Most services run over HTTP, making them web services. This is convenient, because there is much infrastructure around, like web browsers. REST services also take advantage of this. However, for heavy computing this sometimes leads to problems. For example, routers are known to have time outs on HTTP connections. To solve this, SOAP services often introduce a polling mechanism. IO-DATA takes a different approach. Instead of having to ask all the time how a calculation is doing, you can just wait for the service to send you a message when it is done. Instead of working around the lack of asynchronous aspects, IO-DATA introduces these in the protocol.
Other interesting features include that the IO-DATA integrates the interface formats for services into the service itself, SOAP needs WSDL for this, and that it features service discovery via DISCO. The latter is done with SOAP too, for example with UDDI and BioMoby. The latter also adds strong data typing for input and output of services...
The UDDI XML.org web site is not longer accepting new posts. Information on this page is preserved for legacy purposes only.