SensLog is designed from the very beginning as a modular solution. It consists of several modules and it has been extended by additional modules.
Structure of SensLog is shown on following diagram.
The core module contains methods responsible for objects modelling, number of utility classes for querying and storing and methods for database connection.
The Feeder module is responsible for receiving measured data from sensor units or gateways but also management data from any client applications. The Feeder module has sepparate services for sensor data and for management and administrative data.
The Provider module is responsible for publication of all stored data. It contains web services for publishing of stored raw data, results of analyses, management data etc.
Additional modules are focused on special types of data.
The VGI module is oriented on a specific type of thematic data with spatio-temporal localization. Current version of the module is focused on collecting Points Of Interest (POI). This module for collecting VGI is the newest part of SensLog. The VGI module is able to store features that are containing point geometry, standard simple attributes and additional connected multimedia files. Web services for handling VGI are described in separate chapter. VGI can be published both in JSON or GeoJSON format.
Database part of SensLog consists of data model and stored functions, procedures and triggers. Database model is implemented in PostgreSQL 9+ with PostGIS 2+ spatial extension.
Core database model
The core data model is shown on following diagram.
Data models of additional modules
Additional tables were added to the core data model for implementing the VGI module. VGI data model is shown on following diagram.
SensLog runs in Tomcat as web application and needs PostgreSQL in version 9.0 and higher with PostGIS version 2.0 and higher installed on server.