Skip to content

camunda-community-hub/zeebe-cherry-runtime

Repository files navigation

Community badge: Incubating Community extension badge Compatible with: Camunda Platform 8

What is the Cherry Runtime?

The Cherry Runtime is dedicated to execute Camunda 8 Connectors and Workers. It proved It provides administrative pages to administrators and business developers.

Cherry Runtime Overview

For a quick execution, access the Tutorial chapter.

Collections of connectors/workers can be integrated in the Cherry Runtime. A collection is an application ready to execute.

This documentation gives information:

  • for administrators, to start and administrate a Collection
  • for BPM Designer,to access documentation, and download Element-Template in your modeler
  • for developers, to develop a connector or a worker in the framework, to create a Collection.

Administrator

Multiple collections used the Cherry Runtime (Office PDF, CMIS). Each collection embedded multiple connectors or runners.

Each collection is an application, available as a Java application, a JAR file or as a Docker image.

You can

  • start a runtime, and upload inside any JAR
  • start directly a collection.

Provide the information to connect the Zeebe engine, and start the application. The framework provides then an administrative page to monitor execution. Cherry Main Page

On this page, connectors/workers are visible with statistics. The administrator can stop a connector/worker and change the number of threads dedicated to the pool of execution.

BPMN Designer

A Cherry collection is a set of connectors/workers. Within the administrative page, the designer can access all the different artifacts.

He can access the type of connector/worker and information about the input and the output of the connector. A list of BPMN errors thrown by the connector/worker is available. Documentation

He can download the Element-Templates of the collection to load it in the Modeler or in the Web Modeler. The design becomes very easy.

Template Modeler

For the Developer

The developer can focus on the connector development. He has to declare Input and Output in the description. These have different advantages:

  • The Cherry runtime will manage documentation, and it doesn't need to worry about it
  • the Template Modeler will be generated by the Cherry runtime.
  • The Cherry runtime controls the contract. If a variable is mandatory, the Framework controls its existence. On the Execute() method, the developer does not need to worry about the variable.
  • if the connector / runner declare a BPMN Error, the glue between the code and the throw is take in charge by the Cherry runtime.

Execution is managed by the Cherry runtime, and a lot of administrative function is included: start/stop, change the number of thread, and get statistics on the execution.

Installation

Check the Installation guide

Developer guide

To start, visit the Tutorial

Access the Developer guide

If you want to create your collection, visit Create my collection

Internal tip

Create the Docker image

Because the library contains Java and React script, to deploy it, the machine must have two environement

.github/workflows/mvn-build.yml

    - name: Set up JDK
      uses: actions/setup-java@v3
      with:
          java-version: '17'
          distribution: 'adopt'
    - name: Set up NPM
      uses: actions/setup-node@v3

    - name: Build with Maven
      run:  CI=false mvn --batch-mode --update-snapshots package

CI=false, else any warning will stop the construction

Docker image is then available in the package https://github.com/camunda-community-hub/zeebe-cherry-runtime/pkgs/container/zeebe-cherry-runtime

Build

The project is configured to publish automatically to maven central the JAR file, and to docker package a Docker image

If you want to build a local maven image, use

mvn spring-boot:build-image

Maven Central repository

See .github/workflows/mvn-release.yml

Visit https://github.com/camunda-community-hub/community-action-maven-release/tree/main

Error Error: Resource not accessible by integration