What is Haxall?
Published on 22 Jul 2022 by Steve Eynon
As a recent open source release, people around the world are wondering; what exactly IS Haxall? And what can we do with it?
Well, put simply:
Haxall is an open source framework for data collection on edge devices.
It does not, however, include any functionality for what can be done with this data after collection!
Think of it more as a independent data layer with full Project Haystack functionality. It can pull data in from the Internet of Things, and connect with third party data systems to transmit its stored data.
What does Haxall do?
Prepares for data
A Haxall Daemon (server) runs on the edge device to provide user login and remote management tools.
It also powers a web server that supports HTTP requests for Project Haystack APIs and a basic Axon shell interface to execute Axon code.
It has a connector framework with a suite of ready to use connectors over protocols like: Haystack, MQTT, Modbus, SQL, oBIX, Sedona, Nest, and Ecobee.
The connector framework is extensible and allows the development of further custom connectors to collect and synchronise data from any external data source.
Haxall runs the optimised NoSQL Folio database, and utilises the Axon scripting language for querying and filtering Folio records and data.
Folio, and the data stored within it, is specifically designed around the Project Haystack data modelling standard.
A special SkySpark relationship
Published by SkyFoundry, the Haxall technology has been made freely available to help organisations with data collection at the edge.
Haxall works seamlessly with SkySpark, the full commercial data analytics platform created by SkyFoundry. Using its inbuilt Arcbeam module, Haxall devices can join a SkySpark cluster letting SkySpark users better harness the power of data collection at the edge; without the hassle of commercial licensing.
What does Haxall NOT do?
The main thing to remember, is that Haxall is NOT SkySpark. It is not even a mini SkySpark! It does, however, share some common technology with SkySpark, but there are some important differences.
Haxall does not perform analytics on its data. It does not have a rule engine, it does not process current rules, sparks, nor KPIs.
It does have the Axon scrimping language, so you could write some basic data analysis if you really wanted.
But to really perform analytics on data, the obvious choice is to connect Haxall to your SkySpark cluster and utilise the mature capabilities of SkySpark.
Haxall does not have the notion of Apps, Views, Charts, or any form of customisable UI.
Instead, it has a very basic, one-line Axon shell that displays data as a
Grid in a text table - that is all.
But Haxall is a web server so, assuming you are or know of a Fantom programmer, you could develop your own front end or dashboard to display data and graphics.
One project, One user
Haxall does not have any form of user or project management. When it boots up, it loads one single project. The project may be accessed by one single super user.
This is because Haxall has been developed for edge devices that typically onboard data for a single purpose. This data is then typically only accessed via a REST API within a cluster.
History data persisted in RAM
The Folio database stores your data model and other records. This is saved to disk so it is available every time the Haxall instance is booted up.
The Haxall connection framework collects history time series data from external sources. But this trend data is only stored in in-memory RAM. Should Haxall shutdown, or the device be rebooted, then all the history data is lost.
This is because Haxall devices are expected to be connected to some form of cluster where it can periodically unload its data.
What does all this mean?
Well, Haxall makes it easy to collect data through a network of edge devices. This data can then be stored and retrieved using Project Haystack modelling standards - and all for free!
The big question is then, what to DO with this data!?
- To perform any kind of analytics, Haxall needs to be hooked up to an external data system with an appropriate analytics engine.
- To create charts, dashboards, and reports, Haxall needs an additional visualisation system.
- Other options include utilising this information in systems for machine learning and automated operations.
So, all you need is a skilled Fantom developer and Haxall could provide the all-important data layer to all kinds of exciting software projects!