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 or on a cloud server. The SmartServer IoT includes hardware, Linux operating system, SmartServer platform software, and defaults to the Local CMS, 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, and 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