Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ibodrov/takari-bpm
https://github.com/ibodrov/takari-bpm
Last synced: 18 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/ibodrov/takari-bpm
- Owner: ibodrov
- License: apache-2.0
- Created: 2020-01-28T14:35:36.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-11-16T09:22:15.000Z (about 2 years ago)
- Last Synced: 2024-05-10T22:07:54.217Z (6 months ago)
- Language: Java
- Size: 1.05 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.org/takari/bpm.svg?branch=master)](https://travis-ci.org/takari/bpm)
[![Coverage Status](https://coveralls.io/repos/github/takari/bpm/badge.svg?branch=master)](https://coveralls.io/github/takari/bpm?branch=master)
[![Maven Central](https://img.shields.io/maven-central/v/io.takari.bpm/parent.svg?maxAge=28800)](http://central.maven.org/maven2/io/takari/bpm/)# BPM Engine
A simple implementation of a BPM engine, designed to mimic Activiti's behaviour. Optimized for high performance
(rather than strict following of the BPMN specification).## Main features
- a lightweight BPM engine, inspired by Activiti BPM engine;
- high-performance on-disk persistence;
- event scheduling (e.g. "timers");
- supports Activiti's XML format (both process and visual elements);
- supports JUEL in flow expressions, task delegates, etc;
- form service API for creating form-based user tasks;
- JUnit support (and easy unit testing in general).## Supported elements:
- boundary event (errors and timers);
- call activity;
- end event;
- event-based gateway;
- exclusive gateway;
- inclusive gateway;
- intermediate catch event;
- parallel gateway;
- script task (JSR-223);
- sequence flow;
- service task;
- start event;
- subprocess;
- user task.## Limitations
- tasks with TimerBoundaryEvents executed in a separate thread inside of an unbounded Executor.
- currently there is an unbound storage for element activation records. It is used internally in the engine and can
cause large memory footprint in processes with huge amount of looping (hundreds of thousands loops).## Prior work
Based on the original implementation at [ibodrov/bpm](https://github.com/ibodrov/bpm).
Original contributors:
- Ivan Bodrov
- Yuri Brigadirenko