Johannes ideas solve this limitation by using the general XMPP protocol for chatting:
- he, can you do something for me?
- sure, I can do generate3Dcoordinates and generateSMILES.
- ah, nice! what input does generateSMILES take? and the output?
- input: CML, output a simple string.
- ok, here's the CML
- I'm done now. sorry that it took 10 minutes, but I'm running Vista...
- excellent, please send me the results
- ok, here is the SMILES for lacosamide: CC(=O)N[C@H](COC)C(=O)NCC1=CC=CC=C1
Well, the important bit is in the last line. A job may take lone, even on clusters. The client might have to reboot meanwhile (possibly because of critical security updates)... the service will just continue, and send you a message when done. If you just happen to be offline, it will send a message when you are back online.
Johannes ideas led to the IO-DATA proposal (XEP-0244), which is currently marked experimental and being discussed on the ws-xmpp mailing list. He gathered a few people around him to get it going, resulting in working stuff! Yeah!
Chemistry Development Kit XWS
Besides contributing to the proposal, I am also involved in this project by writing XMPP-webservices, for the CDK. This brings me to cdk-xws, which is the project to bring CDK functionality online as webservices using IO-DATA.
This shows three nodes, the first being the CDK service, with two functions, of which I only implemented one yet.
For the curious, this is what the XMPP messages look like: