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::
- OMERO 5.4.x+
- Java 8+
The microservice service infrastructure relies on the following workflow::
-
Placement of all JARs from
lib
folder of the distribution into thelib/server
folder of your OMERO instance -
Configuring
omero.ms.backbone.cluster_host
OMERO server configuration property if required -
Configuration of Hazelcast via the
hazelcast.xml.example
enclosed in the distribution and placement in theetc
folder of your OMERO instance -
Symlinking of the
omero-ms-backbone*.jar
toextensions.jar
in order to activate the infrastructure -
Restarting your OMERO server
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"/>
...
-
Clone the repository::
git clone git@github.com:glencoesoftware/omero-ms-backbone.git
-
Run the Gradle build and utilize the artifacts as required::
./gradlew installDist cd build/install ...
-
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
andsessions
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)
-
Run single or multiple image region tests using
curl
::curl http://localhost:9090/api/<session_key>/...
Used for testing the various endpoints.
-
Run the Gradle Eclipse task::
./gradlew eclipse
-
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>
Using Gradle run the unit tests:
./gradlew test