5 Star 33 Fork 11

Thoughtworks / nodebpm

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
readme.md 2.34 KB
一键复制 编辑 原始数据 按行查看 历史
gmlove 提交于 2020-06-01 17:35 . update doc

Nodebpm

High performance workflow driven dynamic process engine.



Nodebpm is a full functional micro service to support high performance graph based task scheduling. The task graph is defined by a bpmn version 2 protocol and could be designed by activiti modeler.

Run a simple performance testing, and we could get around 1000 rps under just one node process.

performance

The tasks below are supported right now:

  • Start Event
  • End Event
  • Service Task
  • Parallel Gateway
  • Exclusive Gateway

Most of other kind of tasks are not designed to be automatically executed, so no support right now.

Usage

A demo has been deployed to heroku (Thanks heroku.com!), and you can try a online one here.

The related activiti modeler has been deployed here.

For testing, run

npm run test

For starting the service, run

npm start

Then open http://localhost:3000/, and have a try.

A modified activiti modeler can be used to design the workflows, which could be found here. The main changes are: 1. auth removed; 2. pre-defined some mock data. With the modified version, you can start the modeler quickly without other activiti components. But please be noted that all the persistence related functionality are not supported since it is now a pure frontend app.

API

  • POST /bp/: create a process.
  • PUT /bp/: create a new version for an existing process.
  • GET /bp/: query the existing processes.
  • GET /bp/:process-id: get the existing process by id.
  • GET /bp/:process-id/versions/:version: get the existing process by id and version.
  • POST /bp/:process-id/versions/:version/run: run a process.
  • POST /bp/test: run a test against some new process.

Detailed usage about these APIs could be found in the test cases.

Licensing

Unless otherwise stated, the source code are licensed under the Apache 2.0 License.

JavaScript
1
https://gitee.com/thoughtworks/nodebpm.git
git@gitee.com:thoughtworks/nodebpm.git
thoughtworks
nodebpm
nodebpm
master

搜索帮助