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.
WSDL-style Web services. 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.
Java, R scripts, spreadsheets, and browsers. 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.
Workflows and workflow fragments. Taverna can also interact with a running workflow from your Web browser, and has the ability to incorporate workflow fragments (reusable components) as services in a workflow.
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 specifically to connect the inputs and outputs of closely related services 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 explicitly to be mentioned in the method, then it is not a shim.
Most services accessible by Taverna are not owned or 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 commonly used shim services, e.g. to concatenate strings, read content from a file, etc.
Service suppliers are often large government-funded bodies such as the NCBI (United States), EMBL-EBI (Europe) or DNA Databank of Japan. Each is responsible for 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 suppliers 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 of Web services and related standards when compared to their knowledge of programming/scripting. Such circumstances required myGrid (pre-Apache Taverna) 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.
Creating a service accessible from Taverna¶
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.