The Eclipse sensiNact gateway distribution¶
The Eclipse sensiNact gateway is distributed as a single archive produced by the distribution/assembly project. This archive contains the following:
The Eclipse sensiNact Launcher, responsible for configuring and deploying the gateway components
Feature definitions from the
featuresprojects.A single merged maven repository containing bundles and features able to be deployed into the gateway
Launch scripts for the gateway
A basic gateway configuration file. See here for more information on configuring the gateway
Launching the gateway¶
To launch the gateway simply follow these three steps:
Build or download a copy of the gateway zip archive produced by the
distribution/assemblyproject.Extract this archive to the location from which you wish to run the gateway.
Run the start.sh script
See how to install and start sensiNact.
The gateway architecture¶
The gateway architecture is modular, and uses OSGi® as a platform. The gateway includes a launcher based upon the Feature service, which can deploy groups of bundles as a single unit.
At a high level the structure of the launcher looks like this:
Gateway features¶
The Eclipse sensiNact gateway makes use of OSGi® features for deployment. A feature is a simple way to provide a list of bundles and configurations to deploy into the gateway. Features can be in one of two places:
The
featuresfolder, where each file is named<feature artifact name>.jsonThe
repositorywhere each feature file is stored according to the Maven repository layout.
The bundles referenced in a feature descriptor will be installed into the gateway from the repository.
The gateway distribution comes with a number of pre-built features, such as the core-feature. Users may add their own features to extend the gateway, either by putting them in the features folder, or by adding them to the repository. Any additional bundles installed by user features will also need to be available in the repository.
For more information about features see here.
Gateway configuration¶
The gateway configuration is provided in a JSON file using the OSGi Configuration Resource Format. This file is read and processed by the Configuration Manager component which maps the supplied configurations into Configuration Admin. The file is “live” and any changes made to it will be automatically applied to the running gateway.
For more information about using the configuration file see here.
Included OSGi® specifications¶
The gateway launcher includes implementations of the following OSGi specifications for use by all features
The core-feature provides the core of the sensiNact gateway, and is normally the first feature deployed. This adds the following OSGi specifications
Other features can be used to add additional support, such as for the Servlet Whiteboard or the Jakarta RESTful Web Services Whiteboard.
