Camunda

Camunda is a workflow and decision automation platform. It's similar to Openedge BPM.


Current Camunda Akioma Environment is: https://camunda.akiomacloud.de/

The installation was done as docker image on our docker server. Current user: "demo" password is our common password.

For the Camunda integrationwe used their REST API, which allows end users to quickly create/delete/fetch tasks/processes etc.

For more info regarding the Camunda API see: https://docs.camunda.org/manual/7.3/api-references/rest/

More information regarding Kinvey Flex Services here: Kinvey Flex Services


Example:

const sdk = require('kinvey-flex-sdk');
const DigestFetch = require('digest-fetch');

Class CamundaService {

        constructor(){
            this.client = new DigestFetch(userName, password);
            this.logger = flex.logger;

}

getAll (context, complete, modules) {
    this.logger.info('getAll Context:' + JSON.stringify(context));
    const backendUrl = "url to camunda backend";
    this.client.fetch(backendUrl)
        .then(response => response.json())
        .then(data => {
        data.forEach(item => {
            item._id = item.id;
        });
        complete().setBody(data).ok().next();
    })
    .catch(e => console.error(e));
}

}

sdk.service((err, flex) => {
        const data = flex.data;               //get data object
        const flexLogger = flex.logger; //get logger

        const camundaFlexServive = data.serviceObject('task'); //get service object from data object
        camundaService = new CamundaService(key, flex);       //instantiate new service class
        camundaFlexServive.onGetAll(camundaService.getAll.bind(camundaService)); //bind handler function to getAll event

}