System Architecture
Overview
The SmartServer IoT uses an innovative Linux-based architecture that interconnects applications, servers, services, and drivers with a common message bus based on the IoT MQTT protocol. Communication on the message bus is standardized by the IoT Access Protocol (IAP). The result is an open platform that can be easily extended with new applications, servers, services, and drivers using standard Linux development tools and libraries.
The SmartServer includes built-in scheduling, logging, and alarming services to support system integration and management for up to 1,000 total devices and 20,000 data points. The SmartServer Platform includes all of the built-in functions within the SmartServer except the CMS (CMS web pages, REST and WebSocket APIs), which can be hosted on the SmartServer IoT, SmartConnect, or on a cloud server. The SmartServer IoT includes hardware, Linux operating system, SmartServer Platform software, and defaults to the SmartServer Manager, as well as routers for LON and BACnet.
The following diagram illustrates how the services and driver interact via the IAP message bus.
Linux-based Platform
The SmartServer IoT, running on Ubuntu Linux, includes the following open-source, base platform components:
Node.js JavaScript runtime environment
Java virtual machine
Spring Framework for SmartServer 4.4 and higher; Karaf OSGi runtime environment for SmartServer 4.3 and prior
Postgres relational database management system
Python runtime
PHP interpreter
Eclipse Mosquitto MQTT broker and client
NginX web server