MCPcopy Index your code
hub / github.com/alibaba/SmartEngine

github.com/alibaba/SmartEngine @v4.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.0.0 ↗ · + Follow
3,948 symbols 20,876 edges 758 files 1,025 documented · 26%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SmartEngine

SmartEngine 是一款轻量级业务编排引擎,在阿里巴巴集团内部广泛使用。
它可用于微服务架构中的多服务编排,以高性能、低存储成本的方式启动/触发流程实例,同时也能应用于传统审批流程场景。

English

设计理念

  1. KISS 原则(保持简单)
  2. 标准化:遵循 BPMN2.0 规范,统一领域语言
  3. 可扩展性:支持解析器、行为、存储、用户集成等模块的灵活扩展
  4. 高性能:针对简单流程场景提供优化方案,提升性能并降低存储成本
  5. 低依赖:从设计之初就极力避免 JAR 地狱问题

核心特性

  1. 采用 CQRS 风格的 API 来启动、触发、查询流程实例、任务和活动
  2. 支持基础 BPMN 元素:开始事件/结束事件/顺序流/独占网关/并行网关/包容网关/服务任务/接收任务
  3. 针对简单流程场景提供性能优化和存储成本降低方案
  4. 其他功能:流程跳转、变量持久化、任务分配器、会签

文档

开源协议

SmartEngine 采用 Apache 2.0 协议开源

联系我们

微信交流群 个人微信号

致谢

受 Activiti、MyBatis、Netty 等项目启发

Extension points exported contracts — how you extend this code

ParserInternface (Interface)
Created by 高海军 帝奇 74394 on 2019-08-25 22:13. [6 implementers]
core/src/test/java/com/alibaba/smart/framework/engine/extension/scanner/ParserInternface.java
RetryRecordStorage (Interface)
@author zhenhong.tzh @date 2019-04-30 [15 implementers]
extension/retry/retry-common/src/main/java/com/alibaba/smart/framework/engine/retry/instance/storage/RetryRecordStorage.java
OrchestrationAdapter (Interface)
(no doc) [50 implementers]
extension/storage/storage-custom/src/test/java/com/alibaba/smart/framework/engine/test/delegation/OrchestrationAdapter.java
ArchiveService (Interface)
(no doc) [2 implementers]
extension/archive/archive-mysql/src/main/java/com/alibaba/smart/framework/engine/archive/service/ArchiveService.java
VariableCommandService (Interface)
主要变量插入。 @author 高海军 帝奇 2021.02.25 [22 implementers]
core/src/main/java/com/alibaba/smart/framework/engine/service/command/VariableCommandService.java
RetryPersistence (Interface)
@author zhenhong.tzh @date 2019-06-03 [4 implementers]
extension/retry/retry-common/src/main/java/com/alibaba/smart/framework/engine/retry/service/command/RetryPersistence.java
StorageConstant (Interface)
Created by 高海军 帝奇 74394 on 2018 November 11:58.
extension/storage/storage-common/src/main/java/com/alibaba/smart/framework/engine/persister/common/constant/StorageConstant.java
ArchiveDAO (Interface)
(no doc)
extension/archive/archive-mysql/src/main/java/com/alibaba/smart/framework/engine/archive/dao/ArchiveDAO.java

Core symbols most depended-on inside this repo

getInstanceId
called by 777
core/src/main/java/com/alibaba/smart/framework/engine/model/instance/Instance.java
get
called by 599
core/src/main/java/com/alibaba/smart/framework/engine/configuration/OptionContainer.java
put
called by 587
core/src/main/java/com/alibaba/smart/framework/engine/configuration/OptionContainer.java
getId
called by 366
core/src/main/java/com/alibaba/smart/framework/engine/model/assembly/IdBasedElement.java
getTenantId
called by 234
core/src/main/java/com/alibaba/smart/framework/engine/model/instance/Instance.java
equals
called by 230
core/src/main/java/com/alibaba/smart/framework/engine/common/util/StringUtil.java
insert
called by 214
extension/storage/storage-mysql/src/main/java/com/alibaba/smart/framework/engine/persister/database/dao/TaskInstanceDAO.java
getCurrentDate
called by 202
core/src/main/java/com/alibaba/smart/framework/engine/common/util/DateUtil.java

Shape

Method 3,165
Class 611
Interface 165
Enum 7

Languages

Java100%

Modules by API surface

core/src/main/java/com/alibaba/smart/framework/engine/query/impl/TaskQueryImpl.java47 symbols
extension/storage/storage-mysql/src/test/java/com/alibaba/smart/framework/engine/test/query/FluentQueryP1P2IntegrationTest.java45 symbols
core/src/main/java/com/alibaba/smart/framework/engine/configuration/ProcessEngineConfiguration.java45 symbols
core/src/test/java/com/alibaba/smart/framework/engine/dialect/DialectTest.java40 symbols
core/src/main/java/com/alibaba/smart/framework/engine/query/TaskQuery.java37 symbols
extension/storage/storage-mysql/src/test/java/com/alibaba/smart/framework/engine/test/service/SupervisionNotificationFluentQueryIntegrationTest.java36 symbols
core/src/main/java/com/alibaba/smart/framework/engine/model/instance/TaskInstance.java35 symbols
core/src/main/java/com/alibaba/smart/framework/engine/model/instance/ProcessInstance.java32 symbols
core/src/main/java/com/alibaba/smart/framework/engine/context/ExecutionContext.java29 symbols
core/src/main/java/com/alibaba/smart/framework/engine/configuration/impl/DefaultSmartEngine.java28 symbols
core/src/main/java/com/alibaba/smart/framework/engine/SmartEngine.java28 symbols
extension/storage/storage-mysql/src/test/java/com/alibaba/smart/framework/engine/test/query/TaskCandidateQueryIntegrationTest.java26 symbols

Datastores touched

(mysql)Database · 1 repos
aura_metaDatabase · 1 repos

For agents

$ claude mcp add SmartEngine \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact