Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Microservices

1.
Microservices
Paul Pound
University of Prince Edward Island

2.
What do we mean when we say
microservices?
● 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)
Microservices

3.
Currently we have two versions.
● Python version - the original version.
○ https://github.
com/Islandora/islandora_microservices
● PHP version - developed so we could leverage
existing Islandora php code including tuque
○ https://github.com/roblib/php_listeners
○ This version has been updated to use
Taverna.
Microservices

5.
● Services and their dependencies can be
installed, configured and maintained
once.
● 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
Drupal installs
● Consistency - Microservices will be
invoked if an object is modified by an
external script, Islandora, Hydra or the
Fedora admin client.
Microservices Advantages

6.
● With Taverna we can also leverage third
party external services.
Advantages Continued

9.
● When our listener receive a message we
will get the corresponding T2flow
document from the objects content
model and pass that on to Taverna
Server.
● Taverna server then dispatches the
workflow to the correct locations
● Taverna workbench for
creating/designing workflow
Current Microservices cont’d

14.
There are two config.xml files.
One file contains configuration information
for the services exposed via SOAP.
● /var/www/html/php_listeners
The other is the configuration information
for the listener.
● /opt/php_listeners
Configure microservices