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.

Cumulocity IoT provides

  • Certified software libraries you can use to bring your remote assets into the cloud.
  • Device management, data visualization and remote control functionality through the web.
  • Rapid customization of these functionalities through real-time processing and applications.
  • APIs for extending the existing functionality or interfacing Cumulocity IoT with your other IT services such as ERP or CRM systems. Cumulocity IoT can also host your HTML5 applications.

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.

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 and REST can be found in Device integration.

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:

  • Hardware and modem information.
  • Connection monitoring.
  • Centralized fault management and service level monitoring.
  • Configuration management.
  • Software and firmware management.
  • Graphs of device statistics.
  • Frequently used remote controls (such as restart button and switches).
  • Troubleshooting features such as events list and operations queue.

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 fragment library and Device integration are publicly available.

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 fragment library, common sensor and control types are rendered correctly regardless of the device that produces the sensor data.

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:

  • Write alarm rules to reprioritize or suppress alarms and to define your SLA parameters.
  • Use realtime to implement real-time business rules. For example, get an email when critical events happen, or trigger automated actions on devices in that case.
  • Set up a graphical dashboard with your most important KPIs.
  • Subscribe to plugins that contribute new functionality to the Cumulocity IoT application.

Customization concepts of Cumulocity IoT are described in Real-time processing and Developing applications.

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 must only 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, Yearly 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:

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

  • Clients must only use documented API methods and documented behavior. Do not rely on undocumented but observed behavior.
  • Clients must only rely on behavior that is explicitly described in the documentation. For instance, clients shall not rely on a sequence of results if no sort order is guaranteed.
  • Clients can rely on a stable inventory API where they can manage their inventory objects. However, the data structures for objects owned by the Cumulocity IoT platform can change.
  • APIs will evolve within the boundaries of backward compatibility; as examples optional fields might be added in the request and APIs might return additional JSON fields. Therefore, clients must be written in a way that they ignore such changes.
  • There is no forward compatibility specified for the Cumulocity IoT APIs, therefore newer clients built against a newer API (or SDK) are not guaranteed to work with older Cumulocity IoT APIs.
Info

If changes result in breaking backward compatibility, to provide our customers with the time to change their solution, such changes will in general be announced at least 6 months ahead of the version in which the change becoming effective.

In some cases we may have to change an API due to external factors, for example in order to support a security enhancement or to achieve compliance with the underlying standard. Under these circumstances the change will also be announced, but based on an assessment of impact the announcement might not happen ahead of time.

Preview APIs

To maintain API and product quality we may, from time to time, hold back new APIs in a preview 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 in our API documentation.

SDK and client library compatibility

Cumulocity IoT developer libraries and SDKs (like Java, JavaScript) may be changed. The libraries and SDKs help developers to access the Cumulocity IoT APIs in their custom implementation and are typically bundled with the custom implementation. The programming interfaces for Cumulocity IoT developer libraries and SDKs might change with new versions, requiring the custom implementation using these libraries or SDKs to be changed. It is not required to upgrade the custom implementation since the underlying REST and MQTT APIs remain compatible as long as no breaking changes to the APIs 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 or change logs. Whenever possible, it is also strongly recommended to consider software updates for devices from the start.

Maintenance release

For clarification, maintenance releases for the same Yearly 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 change logs at least 6 months ahead of the version in which the change becomes effective.

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.

  • Connect your devices and assets over any network.
  • Monitor conditions and generate real-time analytics.
  • React immediately to conditions or situations.