SmartEngine is a lightweight business orchestration engine. It's used widely in Alibaba Group. It can be used to orchestrate multiple service in microservice architecture, start/signal a process instance in a very high-performance way with low-storage cost, and also can be used in traditional process approval scenarios.
- KISS(Keep It Simple, Stupid)
- Standardization: embrace BPMN2.0, specify ubiquitous language.
- Extensible: such as parser,behavior, storage, user integration etc.
- High Performance: provide a simple way to improve performance and reduce storage cost in some simple process scenarios.
- Less Dependent: at the very beginning, we try our best to avoid JAR hell.
- CQRS-style APIs to start, signal, query process instance, task, activity.
- Support basic BPMN symbols : StartEvent,EndEvent,SequenceFlow,ExclusiveGateway,ServiceTask,ReceiveTask.
- Provide a simple way to improve performance and reduce storage cost in some simple process scenarios.
- Other: Process Jump; VariablePersister; TaskAssigneeDispatcher; Countersign.
SmartEngine is released under the Apache 2.0 license.
DingTalk Group Id | GitHub issues | WeChat Id |
---|---|---|
31953929 | Issues | geecoodeer |
Inspired by Activiti, MyBatis, Netty etc.