Apama Cumulocity integration

More enhancements to using Apama with the Cumulocity IoT platform

The 10.5 release, in October 2019, brings Analytics Builder to cloud users, adds EPL samples to our on-line EPL editor, and makes it easier to invoke other microservices from Apama.

Cumulocity integration enhancements

Apama continues to evolve integration points with the Cumulocity IoT platform.  In the 10.5 release:
  • Our inline tool for creating EPL apps has had a quality of life improvement in the form of a selection of helpful samples. These samples are available when editing and can form the basis of a new application or be the source of useful snippets of code. This will help shorten the length of time needed to create a simple application.

  • Analytics Builder - which was covered in depth in a previous TECHniques article - now supports:
    • Use in Cumulocity core (i.e. cloud) environments.
    • Hierarchical view of groups and devices in the palette. This helps for use cases where devices are organized with child devices and allows easy reference of which devices are within a group.

    • Blocks to send and receive events from Cumulocity Alarms, Operations and Managed Objects. This gives more flexibility in how models interact with devices or other services in Cumulocity.
    • Block Software Development Kit (SDK) to allow customers to build their own blocks in EPL. This allows customers to extend Analytics Builder to use proprietary calculations or integration to other services as needed. Blocks can be automatically tested with pysys test framework tests.
  • Using the Event Process Language (EPL)’s interface to Cumulocity, it is now easier to send a REST request to another microservice, either within an EPL app or a custom microservice using Apama. Credentials will be automatically picked up from the microservice environment, for example:
action responseCallback(Response resp) {
    string objectId := resp.payload.getString("id");
    ...
}
...
CumulocityRequestInterface cumulocity := CumulocityRequestInterface.connectToCumulocity();
Request req := cumulocity.createRequest("GET", "/service/otherService/data", any());
req.setQueryParameter("type", "object");
req.execute(responseCallback);

Summary

Apama continues to develop integration with Cumulocity.  Stay tuned for more updates in the future.

To learn more, refer to the Cumulocity Analytics Guide for using the EPL editor, the Analytics Builder documentation and the Block SDK.