Skip to content

bpm-crafters/process-engine-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

591 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Process Engine API

stable Development branches Maven Central Version

Purpose of the library

This library provides a modern engine-agnostic API which can be used to implement process applications. By providing a set of adapters to relevant process engines (Camunda Platform 7, Camunda Platform 8, etc...) the library enforces separation of the integration of process engine from the selection of the used engine. This approach fosters an easy migration between engines and tries to achieve to support migrations with minimal (or even no) code modifications.

API

The API consists of different parts independent of each other:

  • Deployment API
  • Evaluate Decision API
  • Start Process API
  • Correlate Message API
  • Send Signal API
  • Task Subscription API
  • User Task Completion API
  • User Task Modification API
  • Service Task Completion API
C7 embedded C7 remote CIB7 C8
Deployment
Decision Evaluation
Start Process by definition
Start Process by definition at
Start Process by message
Correlate message
Send signal
Subscribe to task
Complete user task
Complete user task by error
Modify user task
Complete service task
Complete service task by error
Fail service task

Helpful Components

  • User Task Support

Available Engine Adapters

If you want to try the API, please refer to one of the adapter implementations matching your infrastructure. For example:

Process Engine Worker

If you are using the Process Engine API to provide workers using Spring Boot, there is a library with improved support for it:

Documentation

The API documentation can be found here or in its respective repository.

Anatomy

The library contains of the following Maven modules:

  • process-engine-api: pure API written in Kotlin (100% Java-compatible)
  • process-engine-api-impl: commons implementation, which is independent of the selected engine and can be used for adapter implementations.

Contribution and Development

If you are missing a feature or found a bug, please open an issue on this project and provide a pull request. If you have general questions, make sure to stop by our discussions.

Contributors 11

Languages