Taverna has now moved to the Apache Software Foundation. For updated information, see Apache Taverna (incubating).

Service extension

There are a number of classes/interfaces that need to be subclassed/implemented in order to add a new service type to Taverna 1.7.x.

  • Processor – an instance of the service type within a Taverna 1.7.x workflow
  • ProcessorEditor – if the Processor can be configured or edited, then subclasses of this class specify how to present and handle the configuration
  • ProcessorFactory – a factory to create a new Processor of the appropriate subclass and add it to a workflow
  • ProcessorInfoBean – to specify where to find the icon, colours etc. for display, and also the class to execute a call on the service
  • ProcessorTaskWorker – to execute a call to an instance of the service within a workflow
  • Scavenger – that create a partial tree of the ProcessorFactories to create instances of the service that can be added to a workflow.
  • ScavengerHelper – that listens for requests to tell Taverna about particular services of the service type e.g. new WSDL services from a given location. This is not needed for service types such as Beanshells where the service is described by configuration within Taverna.
  • ScuflContextMenuAware – if the input or output ports of an instance of the Processor allow special actions, then classes implementing this interface specify what will appear in the r-click menu for that port within the Model Explorer
  • UIComponentSPI – if the Processor needs configuration, for example a Beanshell, then the configuration panel must extend this class
  • XMLHandler – specifies how to serialize and deserialize instances of the service within/from a SCUFL file