Introduction to our IoT platform

Cumulocity IoT gives you very fast visibility and control over your remote assets, be these houses, cars, machines or any other assets that you want to manage.

Overview

Cumulocity IoT provides

These features are provided through a cloud-based subscription service making the creation of Internet of Things (IoT) solutions with Cumulocity IoT fundamentally different from bespoke development and RAD (rapid application development). You can start immediately with a large amount of existing functionality, and you can start for free. You do not need to worry about IT infrastructure (hosting, networking, security, storage and backup) and IT management (all software is available to your users).

Cumulocity IoT works with any network architecture, but is specifically designed to work out of the box with mobile networks. In the following sections, we will give a short overview of the different functional areas with references to more detailed descriptions.

Solution building

Terms and Conditions to use Cumulocity IoT are described at https://www.softwareag.cloud/site/terms.html#/.

Software libraries

Cumulocity IoT offers a wide range of functionality for interfacing IoT devices and other IoT-related data sources with the Cumulocity IoT platform.

We offer a generic client library for C++. If your device uses a completely proprietary runtime environment, you can always use MQTT and SmartREST 2. These will work on practically any internet-connected device today, down to the smallest systems.

Detailed information on device integration using MQTT, REST and C++ can be found in the Device SDK guide.

Mobile networking support

Cumulocity IoT supports any type of internet connectivity in a secure manner. It gracefully deals with intermittent, bandwidth-restricted and uni-directional connections (such as communication through NAT). Where desired, Cumulocity IoT can control remote devices in a real-time manner.

Mobile internet connectivity is an ideal choice for many machine-to-machine applications, since it works well nearly everywhere without requiring any integration with a company’s network infrastructure. This is especially true if your IoT SIM card allows for free roaming between mobile networks. The large bandwidths requirements of consumer applications are often not required. With Cumulocity IoT, you can benefit from mobile connectivity without requiring additional network provider services such as VPNs and public or even static IP addressing.

Device management

Cumulocity IoT provides extensive device management for fully certified devices. This includes:

The level of depth in device management may depend on device features (for example if a device does not support remote firmware upgrade, it will also not be available through Cumulocity IoT). For interfacing devices not yet certified with Cumulocity IoT, the Device management library and the Device SDK guide are publicly available.

Device Management

Visualization and remote control

Cumulocity IoT visualizes your sensor data centrally and graphically through its modern web user interface. It also exposes common remote controls to users with the relevant permissions.

The user interface automatically adapts itself to the devices you connect – no configuration required. For example, if you connect a device that supports being restarted from remote, you will see a “Restart” button. If the device sends light sensor data, you will see a graph with the readings from the sensor.

It also adapts itself to the web browser that you use. For example, if you use a mobile phone or tablet with limited screen size, it will change user interface controls to use less screen estate.

Through the Sensor library, common sensor and control types are rendered correctly regardless of the device that produces the sensor data.

Dashboard

Customization

The functionality described so far already provides a wide range of device management, visualization and control options.

Furthermore it produces custom visualization, new control widgets and custom business logic.

Cumulocity IoT has extensive customization options, for example:

Rules

APIs

Cumulocity IoT exposes its complete functionality through programming interfaces (APIs). This means that all of Cumulocity IoT’s functionality is available for you to use in different contexts outside of what Cumulocity IoT directly provides - in your own applications, in your own devices. See the Cumulocity IoT OpenAPI Specification for details.

In contrast to many other IoT platforms, Cumulocity IoT uses the same APIs and the same interface technology for all use cases. As a consequence, you have a wider range of choices in putting intelligence into your IoT devices, depending on how powerful they are. Moreover, you only need to use one set of APIs and one technology to build a complete solution from device to application on your own.

Cumulocity IoT uses HTTP and REST, which is today the most widely used interfacing technology and which works on any internet-connected device ranging from small embedded microcontrollers up to desktop PCs. The secure variant, HTTPS, is used for the most security critical applications and will give you the best possible security.

The plugin concept of Cumulocity IoT enables you to write new user interface functionality that will seamlessly extend the existing Cumulocity IoT platform.

Important
The public APIs for Cumulocity IoT are backward compatible where possible. For details see API compatibility.

Compatibility policy

Cumulocity IoT provides the highest possible level of compatibility to make sure that your investments into developing solutions with Cumulocity IoT are maintained.

Info
For details on the release types (such as GA release or Maintenance release) and their version labels see Release types.

The current compatibility statements are described as follows.

API compatibility

Cumulocity IoT’s REST, SmartREST and MQTT APIs as documented in the product documentation are backwards compatible. You can find such documentation in:

However, Cumulocity IoT is continually improving the user experience and product capabilities and may improve the API from time-to-time. Therefore, applications shall always obey a few basic rules:

Info
If changes result in breaking backward compatibility, to provide our customers with the time to change their solution, such changes will be announced at least one GA release ahead of the GA release where the change becomes effective. Where the change has a wide-ranging impact, we will delay taking action until we have ascertained that the impact on our customers is minimal.

Beta APIs

To maintain API and product quality we may, from time to time, hold back new APIs in a beta state to make sure that they are robust, properly documented, and provide the capability required. These APIs may change without a prior announcement. Please keep this in mind if you start using APIs that are documented as beta on our API documentation.

SDK and client library compatibility

Cumulocity IoT core libraries and SDK APIs (like Java, JavaScript, C++) may be changed. The libraries and SDKs help developers to access the REST and MQTT APIs in their custom implementation and are typically bundled with the custom implementation. In case Cumulocity IoT provides a new version of the libraries, it is not required to upgrade the custom implementation since the underlying REST and MQTT APIs remain compatible as long as no breaking changes happen (see API compatibility).

Info
Regular upgrades to the latest SDK versions are strongly recommended to be able to benefit from new product features as well as the latest bug and security fixes. Changes are communicated as part of the Cumulocity IoT release notes. Whenever possible, it is also strongly recommended to consider software updates for devices from the start.

No forward compatibility

We support backward compatibility, not forward compatibility. You can check this using the version of the SDK and the version of the platform. If you wish to develop a device or application against, for example, Cumulocity IoT 10.14.0, make sure that the client library or SDK that you use has version 10.14.0 or lower. If you take the latest SDK version, build an application with it and deploy on an older Cumulocity IoT version, this may not work. The SDK may make use of APIs that are simply not yet present in the older version.

Maintenance release

For clarification, maintenance releases for the same GA release contain only corrective functional changes but no breaking API changes.

Applications and microservices

In general, you can run an older application or microservice version against a newer Cumulocity IoT backend, as long as the application or microservice uses documented APIs only. In the rare case of announced breaking changes it might be required to update the application or microservice with a more recent version of an SDK before the change becomes effective.

Cumulocity IoT functionality

Cumulocity IoT microservices and user interface features may be deprecated. In this case, the Cumulocity IoT deprecation process provides an early indication to users of the features. Deprecation notices are included in the documentation and the release notes at least one GA release ahead of the GA release where the change becomes effective.

Where to learn more

More conceptual information can be found in the following sections of the Concept guide:

Summary

Cumulocity IoT is an independent device and application management IoT platform. It connects and manages your devices and assets efficiently and can control them remotely.