Skip to content
Experimental OMERO/Vertx/Microservice Tight Integration
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gradle/wrapper Initial commit Dec 7, 2018
src Get the managed repository root once Apr 23, 2019
LICENSE.txt
README.md
appveyor.yml Add AppVeyor build configuration Feb 7, 2019
build.gradle
gradlew
gradlew.bat

README.md

AppVeyor status

OMERO Microservice Backbone

OMERO Vert.x asynchronous microservice service infrastructure for integration with an OMERO server instance. The "backbone" services host a layer that provides endpoints, accessible over the Vert.x eventbus, that expose various OMERO server functionality.

This infrastructure relies on the OMERO server extension mechanism::

Requirements

  • OMERO 5.4.x+
  • Java 8+

Workflow

The microservice service infrastructure relies on the following workflow::

  1. Placement of all JARs from lib folder of the distribution into the lib/server folder of your OMERO instance

  2. Configuring omero.ms.backbone.cluster_host OMERO server configuration property if required

  3. Configuration of Hazelcast via the hazelcast.xml.example enclosed in the distribution and placement in the etc folder of your OMERO instance

  4. Symlinking of the omero-ms-backbone*.jar to extensions.jar in order to activate the infrastructure

  5. Restarting your OMERO server

Configuring Logging

Logging is provided using the logback library and piggybacks on the OMERO server configuration. You can configure logging by editing the etc/logback.xml of your OMERO instance and adding loggers for com.glencoesoftware.omero.ms and/or com.hazelcast::

...
<logger name="com.glencoesoftware.omero.ms" level="DEBUG"/>
<logger name="com.hazelcast" level="DEBUG"/>
...

Development Installation

  1. Clone the repository::

     git clone git@github.com:glencoesoftware/omero-ms-backbone.git
    
  2. Run the Gradle build and utilize the artifacts as required::

     ./gradlew installDist
     cd build/install
     ...
    
  3. Log in to the OMERO instance you would like to develop against with and extract a session key.. This can be done using the login and sessions command line plugins for example::

     $ bin/omero login
     Previous session expired for root on localhost:4064
     Server: [localhost:4064]
     Username: [root]
     Password:
     Created session for root@localhost:4064. Idle timeout: 10 min. Current group: system
     $ bin/omero sessions list
      Server         | User | Group  | Session                              | Active    | Started
     ----------------+------+--------+--------------------------------------+-----------+--------------------------
      localhost:4064 | root | system | 97db5b88-5d7e-40f8-883b-17cf549f6126 | Logged in | Fri Feb  1 13:58:38 2019
     (1 row)
    
  4. Run single or multiple image region tests using curl::

     curl http://localhost:9090/api/<session_key>/...
    

Eclipse Configuration

Used for testing the various endpoints.

  1. Run the Gradle Eclipse task::

     ./gradlew eclipse
    
  2. Add a new Run Configuration with a main class of io.vertx.core.Starter::

     run "com.glencoesoftware.omero.ms.backbone.QueryVerticle" -cluster -cluster-host <cluster_host>
    

Running Tests

Using Gradle run the unit tests:

./gradlew test

Reference

You can’t perform that action at this time.