Skip to content
A Server implementation of the OGC SensorThings API
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
FROST-Server.Auth.Basic Cleanups Jul 9, 2019
FROST-Server.Auth.Keycloak Cleanups Jul 9, 2019
FROST-Server.Core Improved logging output Jul 10, 2019
FROST-Server.HTTP.Common Cleanups Jul 9, 2019
FROST-Server.HTTP Removed QueryDSL based persistence manager implementations Jul 9, 2019
FROST-Server.MQTT.Moquette [maven-release-plugin] prepare for next development iteration Jul 8, 2019
FROST-Server.MQTT Removed QueryDSL based persistence manager implementations Jul 9, 2019
FROST-Server.MQTTP Removed QueryDSL based persistence manager implementations Jul 9, 2019
FROST-Server.SQLjooq Fixes #125: TaskingCapabilities not created when posting a Thing Jul 18, 2019
FROST-Server.Tests Improved logging output Jul 10, 2019
docs Updated settings documentation Jul 10, 2019
helm Prepare for release Jul 8, 2019
images Added first architecture doc. Apr 16, 2018
.gitignore Fixed poms & gitignore Feb 3, 2019
.travis.yml Fix javadoc & tests running in sonar task Jul 8, 2019
CHANGELOG.md Prepare for release Jul 8, 2019
LICENSE Initial commit Jul 15, 2016
README.md
docker-compose-separated.yaml Fixed typo in environment variable Apr 29, 2019
docker-compose.yaml Added option to automatically run the liquibase database upgrade. Aug 24, 2018
nb-configuration.xml Remove explicit platform hint from nb project config Jan 21, 2019
pom.xml removed maven.compiler.release for java8 without --release support Jul 10, 2019
run.sh worked on Docker support Aug 10, 2017
setBranchVariable.sh Fixed building of tagged releases Jan 18, 2019
travis-deploy-docker.sh Don't run tests and javadoc on Travis in stages that don't need it Mar 27, 2019
travis-deploy.sh Don't run tests and javadoc on Travis in stages that don't need it Mar 27, 2019
travis-settings.xml Updated docker build process Feb 7, 2018

README.md

FROST-Server Build Status

FROST-Server Logo

A Server implementation of the OGC SensorThings API. The FRaunhofer Opensource SensorThings-Server is the first complete, open-source implementation of the OGC SensorThings API Part 1: Sensing. It now also includes preliminary actuation support.

Compliance Testing Status:

We have extended the official test suit with extra tests that can be found here. The official test suit is fully passed. See the wiki page features for more details.

Downloading

Instead of compiling the server yourself, you can also download pre-built war and jar files from:

Or you can use Docker.

Package Choice

There are three packages for FROST-Server. You only need either the MQTTP (all-in-one) package, or the HTTP and MQTT packages.

  • For small servers, or for testing purposes the MQTTP package is fine. It contains both the HTTP and MQTT interfaces.
  • If you only need the HTTP interface and are not interested in MQTT, you can use just the HTTP package.
  • If you need horizontal scalability you want the separate HTTP and MQTT packages. In this case you also need a separate message bus in your cluster, for internal communication. Though if you need scalability you are probably using Docker. See below for Docker and Helm support.

See docs/architecture-packages.adoc for an overview of the differences.

Database setup

See docs/postgresql.adoc for an overview on how to configure PostgreSQL and Tomcat/Wildfly.

Configuration options

See docs/settings.adoc for an overview of all the the configuration settings.

Docker support

See docs/docker.adoc for how to use the FROST-Server docker images.

Kubernetes (Helm) support

See helm/frost-server/README.md for how to use the FROST-Server Helm chart for a Kubernetes deployment.

Standalone Spring Boot

If you prefer to not use Tomcat, Kinota Server is a Spring Boot application that makes it easy to run Fraunhofer IOSB FROST-Server in cloud environments.

Compiling

See the wiki for longer installation instructions.

To compile FROST-Server you need to have a JDK and Maven installed.

  1. Checkout the project from github: git clone https://github.com/FraunhoferIOSB/FROST-Server.git
  2. Go to the project root (The top-most directory with a pom.xml) cd FROST-Server
  3. Give the command mvn clean install. This should build the war and jar files in:
  • FROST-Server.MQTTP/target/
  • FROST-Server.HTTP/target/
  • FROST-Server.MQTT/target/

Authors

Hylke van der Schaaf hylke.vanderschaaf@iosb.fraunhofer.de

Michael Jacoby michael.jacoby@iosb.fraunhofer.de

License

Copyright (C) 2016 Fraunhofer Institut IOSB, Fraunhoferstr. 1, D 76131 Karlsruhe, Germany.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.

You can’t perform that action at this time.