sensorweaver:admin-guide
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
sensorweaver:admin-guide [2014-12-22 11:38] – created luigi.fortunati | sensorweaver:admin-guide [2017-12-04 14:40] (current) – davide | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== Administrator Guide ===== | ===== Administrator Guide ===== | ||
+ | |||
+ | This guide shows how to setup an OSGi execution environment with the Middleware platform services. | ||
+ | |||
+ | The guide assume that: | ||
+ | * You have a java 8 JRE installed on your system | ||
+ | * You have basic knowledge on the administration of the [[http:// | ||
+ | |||
+ | ==== MQTT Broker ==== | ||
+ | The communication platforms relies on MQTT at the lowest communication layer. | ||
+ | On linux/ | ||
+ | |||
+ | Ubuntu repositories alredy host a Mosquitto package, install it using apt with | ||
+ | < | ||
+ | sudo apt-get install mosquitto | ||
+ | </ | ||
+ | |||
+ | Without any further configuration you should already have an instance of mosquitto running on your machine, with open access on port 1883. | ||
+ | ==== Karaf ==== | ||
+ | |||
+ | We strongly recommend Apache Karaf as the OSGi container of choice. You have two choices: | ||
+ | * < | ||
+ | * Download Apache Karaf and use [[http:// | ||
+ | |||
+ | === SensorWeaver Karaf Bundle === | ||
+ | < | ||
+ | That is based on Karaf 3.0.2 and already includes a default configuration that will launch the execution environment (Middleware included) with minimal effort required. | ||
+ | |||
+ | You can install your bundles in the container and test it using Karaf [[http:// | ||
+ | |||
+ | === SensorWeaver features === | ||
+ | |||
+ | Alternatively you can download an Apache Karaf Distribution from the [[http:// | ||
+ | |||
+ | Please refer to Karaf [[http:// | ||
+ | |||
+ | To use sensorweaver features you first have to setup the maven repo in file ' | ||
+ | |||
+ | The last lines of the file should look like this: | ||
+ | <file properties org.ops4j.pax.url.mvn.cfg> | ||
+ | .... | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | </ | ||
+ | |||
+ | Including the snapshot repository is not mandatory. | ||
+ | |||
+ | To install the whole set of middleware bundles, start karaf and execute the following karaf console commands: | ||
+ | |||
+ | <code console> | ||
+ | karaf@root()> | ||
+ | Adding feature url mvn: | ||
+ | karaf@root()> | ||
+ | karaf@root()> | ||
+ | START LEVEL 100 , List Threshold: 50 | ||
+ | ID | State | Lvl | Version | Name | ||
+ | ------------------------------------------------------------------- | ||
+ | 52 | Active | 80 | 2.3.1 | Gson | ||
+ | 53 | Active | 80 | 18.0.0 | ||
+ | 54 | Active | 80 | 2.0.6 | Messaging Service API | ||
+ | 55 | Active | 90 | 2.0.7 | MQTT Messaging Service | ||
+ | 56 | Active | 80 | 2.1.2 | Middleware API | ||
+ | 57 | Active | 90 | 2.1.2 | Middleware Service implementation | ||
+ | 58 | Active | 80 | 2.5 | Commons Lang | ||
+ | 69 | Active | 80 | 1.0.2 | Paho MQTT Client | ||
+ | </ | ||
+ | |||
+ | The feature will install with default bundle configuration. At this point you can stop karaf and manually configure the bundles by modifying property files under the karaf ' | ||
+ | |||
+ | ==== Bundles configuration ==== | ||
+ | |||
+ | Middleware needs two components to be configured in order to run: | ||
+ | * Messaging configuration | ||
+ | * Middleware configuration | ||
+ | |||
+ | Keep in mind that, since the Middleware components are stateful services, the configuration cannot be updated at runtime without disrupting clients, hence a bundle restart is required each time the configuration is changed. | ||
+ | Middleware components will just ignore dynamic changes to their configuration at runtime. | ||
+ | |||
+ | Messaging configuration includes the target MQTT broker and security options. | ||
+ | |||
+ | Default messaging system configuration assumes that you have a MQTT broker listening on localhost on port 1883, without security enabled. | ||
+ | |||
+ | You can modify messaging system configuration by creating a configuration file in the '' | ||
+ | |||
+ | Here is the default configuration: | ||
+ | <file properties it.cnr.isti.sensorweaver.messaging.mqtt.cfg> | ||
+ | host=localhost | ||
+ | port=1883 | ||
+ | truststorePassword= | ||
+ | keystorePassword= | ||
+ | truststorePath= | ||
+ | keystorePath= | ||
+ | username= | ||
+ | password= | ||
+ | mode=anonymous | ||
+ | </ | ||
+ | |||
+ | Messaging layer can follow one of these broker authentication mechanisms (mode field): | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | |||
+ | Middleware configuration includes a scope name assigned to the middleware instance. A scope identify an area of visibility of data on the Middleware. | ||
+ | Each middleware instance is assigned a nodeId at startup. The nodeId can be set via configuration. If an ID is not provided, the hostname is used. | ||
+ | |||
+ | Here is the default configuration: | ||
+ | <file properties it.cnr.isti.sensorweaver.middleware.cfg> | ||
+ | scope=default | ||
+ | nodeId= | ||
+ | </ | ||
+ | |||
+ | The scope defines a domain under which messages are published on the broker and is the first level of each topic used for message publication. | ||
+ | The nodeId, if not provided, defaults to the client hostname. It can be set manually by configuration. | ||
+ | |||
+ | |||
+ |
sensorweaver/admin-guide.1419248283.txt.gz · Last modified: 2014-12-22 11:38 by luigi.fortunati