A Server implementation of the OGC SensorThings API. The FRaunhofer Opensource SensorThings-Server is the first complete, open-source official reference implementation of the OGC SensorThings API Part 1: Sensing 1.0. It also implements OGC SensorThings API Part 1: Sensing 1.1 and OGC SensorThings API Part 2: Tasking Core 1.1.
Instead of compiling the server yourself, you can also download pre-built war and jar files from Maven Central:
- FROST-Server.MQTTP FROST-Server.MQTTP-x.y.z.war
- FROST-Server.HTTP FROST-Server.HTTP-x.y.z.war
- FROST-Server.MQTT FROST-Server.MQTT-x.y.z-jar-with-dependencies.jar
Or you can use Docker.
FROST-Server implements the SensorThings API data model and API, but is not limited to these. Using plugins the data model can be extended or even completely replaced depending on your specific requirements. APIs and result formats can also be added using plugins. By default, FROST-Server comes with experimental plugins for the OData 4.0 and 4.01 APIs and for CSV and GeoJSON result formats.
Authorisation rules can either be simple with Read, Create, Update and Delete on a service level, or they can be very fine-grained with, for instance, certain users being able to read or create only Observations in Datastreams of certain Things.
Documentation can be found on the documentation site
See the Change Log.
See helm/frost-server/README.md for how to use the FROST-Server Helm chart for a Kubernetes deployment.
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)
cd FROST-Server
- 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/
You may have to add the option-Djavafx.platform=win
(win
can be replaced withlinux
ormac
) if the JavaFx platform is not detected automatically.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions are greatly appreciated. You can read more in our contribution guidelines.
Hylke van der Schaaf, Michael Jacoby
Copyright (C) 2024 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/.