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