5 Star 33 Fork 11

Thoughtworks/nodebpm

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

Nodebpm

高性能工作流驱动的动态流程执行引擎.



Nodebpm是一个用于支持任务图的调度引擎,它具有很好的性能。Nodebpm以微服务的形式发布,如无必要无需改动内部实现。

由于工作流应用对于流程定义有相对完善的支持,可以用它来进行任务图的可视化设计。

Nodebpm的任务图可以用任意一个支持BPMN 2.0协议的流程设计器进行设计。推荐配合这里activiti modeler流程设计器使用(在官方版本上进行了一定的修改,以便快速上手)。

运行一个简单的测试,可以看到Nodebpm在单进程node下可以达到1000左右的rps。

性能测试

当前支持的BPMN任务类型:

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

其他多数任务类型由于不适用于自动化运行的场景,暂时不支持。

使用

Heroku中已经部署了一个demo应用(感谢Heroku),访问这里,即可试用.

对应的流程设计器部署在这里.

流程设计器配合Nodebpm的典型使用流程如下:

使用

运行测试:

npm run test

启动服务:

npm start

打开http://localhost:3000/即可看到测试应用页面.

上述流程设计器在官方的基础上经过了一定的修改,这里的修改主要有:1. 移除了认证功能;2. 预置了一些样例数据。使用这个修改版本的功能,可以快速的尝试功能而无需启动activiti的其他相关模块。但请注意所有和持久化相关的功能都无法使用了,因为现在这个应用只是一个纯前端的应用。(如果点击某一个不支持的功能,而收到错误提示,请不要奇怪。)

API

  • POST /bp/: 创建流程任务图
  • PUT /bp/: 创建已存在流程任务图的新版本
  • GET /bp/: 查询流程任务图
  • GET /bp/:process-id: 根据id获取一个流程任务图
  • GET /bp/:process-id/versions/:version: 根据id和版本号获取一个流程任务图
  • POST /bp/:process-id/versions/:version/run: 运行一个流程任务图
  • POST /bp/test: 测试某一个流程任务图

关于API的详细使用方式可以参考这里的测试用例.

Licensing

如无其他说明,源代码使用Apache 2.0 License授权.

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/thoughtworks/nodebpm.git
git@gitee.com:thoughtworks/nodebpm.git
thoughtworks
nodebpm
nodebpm
master

搜索帮助

Cb406eda 1850385 E526c682 1850385