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.
Compliance Testing Status:
|Conformance Class||Reference||Implemented||Test Status|
|Sensing Core||A.1||Yes||6 / 6|
|Filtering Extension||A.2||Yes||42 / 42|
|Create-Update-Delete||A.3||Yes||14 / 14|
|Batch Request||A.4||Yes||0 / 0|
|Sensing MultiDatastream Extension||A.5||Yes||18 / 18|
|Sensing Data Array Extension||A.6||Yes||3 / 3|
|MQTT Extension for Create and Update||A.7||Yes||4 / 4|
|MQTT Extension for Receiving Updates||A.8||Yes||13 / 13|
See the wiki for longer installation instructions.
To compile FROST-Server you need to have a JDK and Maven installed.
- Checkout the project from github:
git clone https://github.com/FraunhoferIOSB/FROST-Server.git
- Go to the project root (The top-most directory with a pom.xml)
- Give the command
mvn clean install. This should build the war and jar files in:
Instead of compiling the server yourself, you can also download pre-built war and jar files from:
Or you can use Docker.
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.
See docs/postgresql.adoc for an overview on how to configure PostgreSQL and Tomcat/Wildfly.
See docs/settings.adoc for an overview of all the the configuration settings.
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.
Hylke van der Schaaf email@example.com
Michael Jacoby firstname.lastname@example.org
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/.