Haxall is an open source software framework for the Internet of Things. It includes an extensive toolkit for working with Project Haystack data. Use it right out of the box as a flexible IoT data gateway which runs at the edge. Haxall is written in Fantom with runtime support for both the Java VM and JavaScript environments.
Haystack
Project Haystack is the standard for the semantic modeling of IoT systems. Haxall is built from the ground up around the Haystack data model - it bundles a rich set of APIs to model, encode, and query data using the Haystack 4 ontology.
Folio
The heart of the Haxall platform is its unique database technology called Folio. Folio is built 100% around the Project Haystack data modeling standard. Everything is stored as native Haystack dicts and queried using Haystack filters. Folio seamlessly integrates persistent and transient real-time data making it the ideal solution for IoT applications.
Axon
Haxall includes a functional scripting engine named Axon. Create scripts to onboard, configure, query, and transform your IoT data using a library of hundreds of functions. The Axon function library has been leveraged for over a decade to streamline working with Haystack data.
Daemon
A complete runtime called the Haxall Daemon is provided to quickly get your IoT applications up and running. The daemon comes with "batteries included": tools to initialize new projects, built-in user management and authentication, webserver with full support for the Haystack HTTP API, dynamic module management, and an Axon shell for remote management. The daemon is easily embeddable in any device that supports the Java VM such as the Rasberry Pi Zero.
Connectors
The connector framework standardizes the integration of IoT protocols into the Haxall ecosystem. A suite of ready to use connectors is provided including Haystack, MQTT, Modbus, SQL, oBIX, Sedona, Nest, and Ecobee. Or use the framework APIs to write your own custom connectors. We also include an Arcbeam module for seamless connection of Haxall devices into SkySpark. An in-memory trending engine is included to historize connector data into time-series data.