University of Prince Edward Island
What do we mean when we say
● Small focused tasks (in our case they are
often used for creating derivatives)
● Our Microservices are invoked via events
in Fedora (via JMS/Stomp messages)
Currently we have two versions.
● Python version - the original version.
● PHP version - developed so we could leverage
existing Islandora php code including tuque
○ This version has been updated to use
● Image manipulation - thumbnails, image
conversion (tiff to jp2)
● File conversion - convert Word or Open
Office files to PDF, convert PDF to PDFa
● Technical metadata, crosswalks
● Some security policy management
(publishing an object)
Microservices common usage
● Services and their dependencies can be
installed, configured and maintained
● UPEI has a number of Drupal servers and instead
of installing Tesseract, Imagemagick etc. on each
one we can install and maintain these packages
in one place but use them with various Fedora or
● Consistency - Microservices will be
invoked if an object is modified by an
external script, Islandora, Hydra or the
Fedora admin client.
● With Taverna we can also leverage third
party external services.
CS482 UPEI student project to integrate the
old PHP microservices with Taverna.
Goals of this project:
● Create and manage workflow using
● Store Taverna T2flow in Fedora content
● When our listener receive a message we
will get the corresponding T2flow
document from the objects content
model and pass that on to Taverna
● Taverna server then dispatches the
workflow to the correct locations
● Taverna workbench for
Current Microservices cont’d
Installing and configuring
To create a workflow you need Taverna
● Click import new services and choose
WSDL Service and enter a url to the
services soap endpoint.
● Drag and drop functions to the canvas
● Configure the functions
○ don’t forget looping and security.
● Demo workbench
Create a workflow
There are two config.xml files.
One file contains configuration information
for the services exposed via SOAP.
The other is the configuration information
for the listener.
● Installation Documentation
● UPEI Taverna Server
● on centos
○ cd /opt/php_listeners
○ php listener.php
○ tail -f listener.log
● add a tiff a page to a book to trigger