Kaa is a multi-purpose middleware platform
for the Internet of Things that allows building complete end-to-end IoT
applications, and smart products. The Kaa platform provides an open,
feature-rich toolkit for the IoT product development and thus dramatically
reduces associated cost, risks, and time-to-market. For a quick start, Kaa
offers a set of out-of-the-box enterprise-grade IoT features that can be easily
plugged in and used to implement a large majority of the IoT use cases.
There is a number of architectural specifics that make IoT development with Kaa so fast and easy. First, Kaa is hardware-agnostic and thus compatible with virtually any type of connected devices, sensors, and gateways. It also provides a clear structure of IoT features and extensions for different types of IoT applications. They can be used almost as plug-and-play modules with minimal additional code on the developer’s part. Combined with unlimited options for connectivity protocols and integration with analytics, these capabilities make Kaa an apt metaphor for creative IoT development.
Kaa is a highly flexible, multi-purpose, 100% open-source middleware platform for implementing complete end-to-end IoT solutions, connected applications, and smart products. For a quick start, Kaa offers a set of out-of-the-box enterprise-grade IoT features that can be easily plugged in and used to implement a large majority of the IoT use cases. The platform features include device management, data collection, configuration management, messaging, and more.
Key platform features
This guide describes major features of Kaa and how to effectively use them in IoT applications. If you decided to go with a full-scale Kaa and not Kaa Sandbox, make sure you have properly set up and configured your Kaa instance as described in Administration guide before getting into programming.
Active load balancing: Kaa implements a number of load balancing strategies and automatically uses them at run time to achieve more or less equal load for each node in the Kaa cluster. Also, this feature ensures that endpoints get instantly redirected to other nodes in case their current node goes down.
Common type library: A repository of data type schemas used for all Kaa modules. As more schema types and versions are created, they are recorded in the CTL for future use.
Configuration management: Allows you to create and distribute configuration data to endpoints.
Data collection: Allows you to collect data records (logs) from endpoints, store them in specific data processing systems, or submit to immediate stream analysis.
Endpoint provisioning and registration: Enables secure authentication and registration of endpoints within a Kaa cluster.
Endpoint groups: Allows you to aggregate endpoints into groups and then apply other Kaa features to entire endpoint groups.
Endpoint ownership: Allows you to associate owners with specific endpoints.
Endpoint profiles: Allows you to provide endpoints with specific attributes, which can be then used for filtering endpoints and aggregating them into endpoint groups.
Events: Allows you to create custom events and make endpoints send them to each other.
Notifications: Allows you to deliver messages and calls for action to endpoints.