Skip to content
Paul Pound edited this page Sep 5, 2013 · 18 revisions

##1.1 Purpose:

This user manual is a comprehensive guide to walk through the steps that it takes to install taverna, and the Islandora microservices. Including creating new microservices, creating a workflow in Taverna Workbench and how the Listeners receive messages from Fedora via JMS/STOMP.

1.2 System Overview

1.2.1 system structure

CompletedSystemDiagram

JMS Listener

The Islandora PHP Microservices can be thought of as serveral components.

  • A JMS/STOMP Listener (the listener)
  • Taverna Server (workflow server)
  • A SOAP endpoint (the services)

The listener listens for messages from Fedora. Fedora generates these messages whenever an Object is created, deleted or modified. When a message matches specified criteria the listener will read a datastream ,with an id of Trigger-Datastream, from the modified objects content model object. This datastream contains the id of another datastream in the same content model object which contains a t2flow document. The listener POSTS this document to Taverna and then polls Taverna until it receives a STATUS of Finished. When the listeners receive a status of finished it tells Taverna to delete the workflow.

The JMS listener include:
  • TavernaSender.php which is to sent and run t2flow on taverna sender.
  • Connect.php which is to listen a single change.
  • listener.php which starts connections.
  • tuque which is the API that TavernaSender uses.

The JMS listener uses HTTP REST to post t2flow documents to Taverna. To use the JMS listener, a trigger datastream xml file should be added into the content model. This xml file links datastreams/methods to a t2flow datastream. One content model object can have many t2flow datastreams. When the listeners receive a message they read the Trigger-Datastream to find a matching datastream and method which will inform the listeners which t2flow to send to Taverna.

PHP SOAP Service.

The PHP SOAP Service defines microservices via WSDL 1.1 which users can import to taverna workbanch and make t2flow workflow documents.

The PHP SOAP Service includes:
  • The includes folder which includes code to execute the microservices.
  • soap_serv.php which provides the WSDL and SOAP services.
  • The soap_test folder which is to test soap_serv.
  • The tuque API which is the API soap_serv uses.

Taverna Workbanch

Taverna workbanch is GUI used to design workflows and save them as t2flow documents. Users can import the Islandora PHP microservices if PHP SOAP Service is correctly installed. Users should add the t2flows they made to content model so that JMS listener can post them to taverna server. Taverna workbench can be downloaded from http://www.taverna.org.uk/download/workbench/

Taverna Server

The taverna server process REST call from Islandora PHP listener. Taverna parses a t2flow document and executes a workflow The taverna server calls the services defined in PHP SOAP listener to execute microservices, it can also call other external Web service to execute external services.

1.2.2 System Requirements

In addition to the Islandora Requirements, the following is needed to execute the Taverna Integrated workflows:

  • A working Taverna Server (TavernaServer 2.4.1 tested.)
  • Updated php_listeners code currently located here: https://github.com/roblib/php_listeners/
  • PHP PEAR SOAP Server (version 0.13.0 tested)
  • Taverna Workbench for creating and editing workflows. You most likely be running the Workbench on your local computer. All other mentioned requiremenst will be running on servers.

Next Page >

Clone this wiki locally