on December 13, 2010 by in Features of Taverna, Comments (2)

Beanshell services

Beanshell is a Java scripting language. A Beanshell service in Taverna enables you to write simple Java scripts/code snippets and execute them as part of your workflows. For users who have never attempted Java programming we recommend the Java tutorial on the Oracle’s Web site. Also check out the top Java books by Amazon. There are certain minor differences between the core language described there and the version used by the Beanshell; these are further documented at the Beanshell Web site. The good news is that almost all these differences make it easier to use Beanshell than conventional Java; it is unlikely a typical user would ever encounter them.

When to use Beanshells in Taverna

There are often cases in workflow construction where the output of one processor is not quite right for the input of the next. In such cases, Taverna’s Beanshell services come in handy to help you make the necessary data transformations or “shimming” between incompatible services. Beanshells in Taverna typically perform data manipulation, parsing and formatting functions, saving to a local hard disk, etc.

How to use Beanshells in Taverna

To make use of Beanshell services in Taverna, you have to:

  1. Add a Beanshell service to your workflow
  2. Configure the Beanshell service by:


  1. Looping | The Taverna Knowledge Blog

    December 13, 2010 @ 4:13 pm

    […] looping, and test for this output port in the loop configuration. You can connect this output to a Beanshell script or web service that determines if the nested workflow should be executed again. Post […]

  2. Parallel service invocations | The Taverna Knowledge Blog

    December 13, 2010 @ 7:11 pm

    […] a service is executed locally, using command line invocation, external tools, API consumer, Beanshell, R scripts, or even nested workflows and some local worker services, you as the ‚Äúservice […]

Leave a comment