Taverna can access a large number of services in the fields of bioinformatics, astronomy, chemoinformatics, health informatics and others. Although many examples of using Taverna lie in the bioinformatics domain, Taverna is actually domain independent. This means that Taverna can be applied to a wide range of fields – even music and food sciences.
Taverna can invoke generic WSDL-style Web services. You do not need to alter a service in any way; you simply need to give Taverna the URL address of the service’s WSDL document. Please refer to our Web service developers’ documentation if you are planning on developing Web services accessible from Taverna.
In addition, Taverna can invoke local Java services (Beanshell scripts), local Java API (API Consumer), R scripts on an R server (Rshell scripts), import data from a cvs or Excel spreadsheet and interact with users in a browser. A full list of service types is in the user manual.
Domain and shim services
Services accessible from Taverna can be broadly categorised into domain services and shim services.
- Domain (scientific) services perform scientific function(s) and are often provided by third-party suppliers. They cannot usually be changed by individual users.
- Shim services are created during workflow design, to specifically connect the inputs and outputs of closely related services in order to achieve interoperation between domain services. This typically involves changing one service’s output into a different format for another service to accept. An example might include changing the output from tab to comma separated values. Taverna comes with a library of frequently used shim services. A new workflow, however, often brings about the need to develop a new shim or modify an existing one.
A rule of thumb for distinguishing a domain service from a shim service is that a workflow, when the shims services are invisible, is equivalent to the methods section of a scientific paper. If a service needs to be explicitly mentioned in the method, then it is not a shim.
Nearly all services accessible by Taverna are neither owned nor provided by us. The majority of services are provided by third-party institutes and research facilities, all of which can be accessed from within Taverna. Taverna only provides most commonly used shim services, e.g. to concatenate strings, read content from a file, etc.
Service suppliers can often be large government-funded bodies such as the NCBI (United States), EMBL-EBI (Europe) or DNA Databank of Japan. Each is responsible in providing data to the global scientific community. These major providers generally have dedicated human resources for service development, API documentation, hosting and maintenance. In addition to programmatic access to their services these also maintain Web-form based access.
A large proportion of suppliers of services and workflows are much smaller in scale – this includes individuals or small laboratories that have developed a tool, algorithm, database, or workflow that they wish to share with others. Developers of services from these small establishments may have limited knowledge on Web services and related standards when compared to their knowledge of programming/scripting. Such circumstances have required myGrid to develop tools like Soaplab that help alleviate this limitation of small-scale providers by allowing simple deployment of the tool at hand.
All these service providers are independent of, and usually ignorant of, their consumers. Thus, the suppliers and consumers in the open market are loosely coupled and asynchronous. Other services are private and local to the scientist (workflow designer), or developed specifically for a workflow to make it work.
If you are planning on creating a service that should be accessible from Taverna, please have a look at the documentation for Web service developers.
You should also have a look at the following tips from the FAQ on how best to create or wrap an existing service.