Web-services using SOAP or REST style are becoming more and more popular in also bioinformatics. The Embrace Registry and BioCatalogue are registries which provide a good overview of publicly available bioinformatics services. They aim at making services easier to describe and find. It is also often heard that web-services provide a platform- and language-independent interface to databases and computation. Furthermore, web-services can be composed into complex-workflows, used for data-integration, automated user-interface and API-generation, that's at least the theory. How does the reality look for you?
Do you use SOAP/REST/.NET services in bioinformatics, and what are your experiences with the different services and service providers?
Main aspects I am interested in are motivated by my own recent (and very mixed) experiences:
- Did you encounter interoperability or language-dependence problems?
- How did the providers react?
- What would make you replace local scripts and tools by web-services?
Edit: I will have difficulties to choose the right answer, because everything said so far is valid.
Here are some intermediate results. I am testing different SOAP services using Axis2/Java at the moment, using the wsdl2code to generate the Java trying adb and xmlbeans databindings. Maybe this list will grow:
- KEGG: wsdl2code: only with xmlbeans , usable: no, couldn't set arrayOfString because use of soapenc:array
- BRENDA: wsdl2code: Error message: Wsdl not WS-I compliant, usable: no
- BioMart soap: wsdl2code: yes, usable: no, after few mods of wsdl-file and tweaking axis2 params could send a valid message, response message is not valid
Looks a bit as if it is a "REST vs. SOAP" fight and SOAP is losing ,while in principle conceptually superior, but a bit overweight. What if the best of both worlds could be combined? Just found this.