Transfer Cumulocity IoT data to an ARIS Process Mining tenant


Organizations everywhere use process mining to discover, monitor, and improve real processes by extracting knowledge from readily available event logs. To help them, we are introducing a powerful repository: Cumulocity IoT to ARIS Process Mining. This repository demonstrates how Cumulocity IoT data can be transferred to an ARIS Process Mining tenant, allowing businesses to analyze their operational processes and get insights.

Core components: The Microservices

This repository is made up of two microservices. The first microservice, “c8y-to-ARIS-add-tbl-ms,” creates the source tables in ARIS and uploads the first set of data within it. It also creates an Activity table and an Enhancement table, providing additional information on the cases.

The second microservice loads the data into the process storage of ARIS. It polls the data from Cumulocity IoT at regular intervals, sending it to ARIS Process Mining continuously.

Both microservices are built on the Microservice SDK in Java and use the ARIS Data Ingestion API.

Prerequisites and installation

To successfully implement this repository, certain prerequisites should be met:

  1. One active ARIS Process Mining Enterprise tenant.
  2. ARIS user with Data Admin privileges.
  3. Cumulocity IoT user with admins and Device Management User global roles.

The installation process is straightforward. Simply download the latest versions of the microservices from the Releases section, add them as applications in your Cumulocity IoT tenant, and perform the necessary configurations.

Setting up ARIS Process Mining and Cumulocity IoT

Proper setup is key to successful implementation. In ARIS Process Mining, you’ll need to create a system integration for the data ingestion API and a data set along with a corresponding connection. The step-by-step procedure for these operations is detailed in the README file.

In Cumulocity IoT, you need to set up seven tenant options via the Cumulocity IoT API to help the microservices connect with the ARIS tenant. These options cover aspects like API base URL, client ID, client secret, tenant, dataset, the date range for data extraction, and polling intervals.

Start the Microservice and monitor it

After the configurations, the microservices can start and connect to ARIS. You can monitor their progress through the ‘Logs’ tab or the ‘Events’ tab in the Device Management app in Cumulocity IoT. You can also check the status of the data set and run logs in ARIS.

Perform data modeling on the source tables

Once the data is successfully committed to the source tables, it’s time to configure the source tables in the Data Modeling section of ARIS Process Mining. This step involves adding the tables, defining their role, creating relations between them, and setting up merge keys.

Data load in the process storage and use ARIS Process Mining with Cumulocity IoT data

The final steps involve loading the data into the process storage and subscribing to the second microservice. You can track the progress both in Cumulocity IoT and ARIS. Once the data is loaded, you can analyze the imported Cumulocity IoT data in ARIS Process Mining.

Adapt the Microservice to your needs

These microservices serve as a template that can be reused or modified to suit your specific requirements. By changing a couple of Java classes, you can tailor the structure of the source tables and the data within them.

Additional information

  • One of the significant benefits of this tool is that it’s open-source, offering you the flexibility to use, modify, and distribute it as you see fit.
  • Despite being provided as-is and without warranty or support, users can ask questions and contribute to the project, thereby enhancing its value and utility for the community.
  • This microservice doesn’t fall under Software AG’s product suite and hence doesn’t include a warranty or direct support. It offers a platform for developers to innovate and create solutions for their unique requirements.

Feedback and ideas

  • If you find any bug, please raise an issue directly in the GitHub repository.
  • Please, feel free to share feedback and ideas by posting a reply here.

Want to help us improve the code? Check out our GitHub - SoftwareAG/contributing repository first.

Useful links