-
Notifications
You must be signed in to change notification settings - Fork 1
Server Side Tutorial
This page contains tutorials for setting up and configuring the testbed runtime wrapper for OMF. First, you'll learn which prerequisites have to be created before you are able to run the wrapper on your server.
Note: Our name for the server side testbed wrapper is WiseOMF Resource Controller (WiseOMF RC), because speaking in OMF terms, it offers the function of an OMF resource controller.
The WiseOMF RC is implemented as external plugin for the testbed runtime. The external plugin concept provides the ability to write plugins in languages different from java. Hence the OMF framework is written in ruby, the easiest and most generalizable solution of connecting the wrapper to the testbed was the mentioned external plugin concept offering a tcp connection to the testbed's event bus. As well as internal plugins, the external plugins receive all events passed through the event bus. Furthermore external plugins are able to publish events on the event bus. This leads to a bidirectional connection between the testbed runtime and our OMF wrapper. Messages communicated over the event bus are in the Google protocol buffers format.
- You'll need an XMPP server which is used for the communication between the server and the experiment clients. You could install your own XMPP server (e.g. Openfire, as recommended in the OMF installation instructions) or you could use any other XMPP server meeting the requirements described in the OMF installation instructions.
- The testbed wrapper was designed to work with ruby in version 2.0.0. Make sure, that
ruby -v
returns an appropriate version and install ruby if necessary. - Assuming you're in the directory of the WiseOMF RC, run
bundle install
to install all needed gems. - Read the OMF installation instructions to learn about the OMF architecture and how to generally configure the OMF Resource Controller.
The WiseOMF RC has its own config file ./config.yml
. This file is used to configure the resource controller to fit for the your server side environment. Example:
---
:xmpp_url: xmpp://localhost
:env: development
:debug: false
:trhost: localhost
:trport: 9998
- xmpp_url: the xmpp_url is the url to the XMPP server to used for communication between the server and the client.
- env: the ruby environment symbol (e.g. devolpment or production). Use production for less message output and a log file.
-
debug: if
true
also messages on the debug level are printed to the log file as well as to the stdout - trhost: adress of the server running the testbed runtime
- trport: the port on which to connect to the testbed as external plugin.
After finishing the configuration, the testbed wrapper could be started by calling the ruby script ./wiseomfrc.rb
.
Assuming you're in the main directory of the WiseOMF RC, simply call ruby wiseomfrc.rb
.
That`s all!