对AgileBpm低代码平台的整体逻辑梳理
本文章基于AgileBpm低代码平台开发文档,代码及个人理解
AgileBpm整体项目逻辑划分比较清楚,能按照开发文档对各个部分进行基本的了解。

Agilebpm模块分析
基础模块 Base
平台模块 Platform
业务对象+表单模块 Bus+Form
前端模块 Bpm-explorer
模块间依赖关系
1. 基础模块BASE

base-api 提供 通用请求入参、返回参数、基础实体、基础service/dao API定义、异常规范、校验定义
base-core 提供常用工具类、基础API实现 、ID生成、通用校验实现等
base-db 整合数据源、mybatis、jdbcTemplate 等持久化层相关的实现
base-rest 提供 Rest 服务基类、Rest服务相关的工具类 等
2. 平台模块Platform
2.1鉴权项目模块

在用户登录时安全验证,页面跳转时判断 当前用户所拥有的角色 是否满足 当前资源所需的角色
安全支持,防止CSRF跨站请求攻击
2.2 org 组织架构管理模块


用户管理
组织岗位
角色
用户组关系

2.3 sys 系统功能模块

提供 jms、freemark、groovy、email、redis、scheduler、log 等组件的服务接口定义
数据字典、系统资源管理、系统环境属性、流水号、多数据源、菜单资源、子系统、国家节假日、日程、工作台 等系统功能
3. 业务对象+表单模块
3.1 业务对象模块

业务对象支持一对多、多对多、一对一、多层关联关系(学校-班级-学生…),业务对象多表来自不同数据源,并支持多数据源分布式事务
业务对象、业务实体的定义
业务数据的持久化服务
表字段控件定义(为生成表单做准备)

3.2 表单模块

表单是业务对象的展示层,依赖业务对象模块
提供在线表单的生成(PC 、移动端、iview版本等..其他UI版本 )
表单高级控件的配置
表单模板管理
自定义SQL列表,与表单组合实现增删改查
在前端平台进行0代码开发时,一般都是先进行业务实体和业务对象的创建(此时也会在后台数据库进行对应table的同步),然后按照之前建的业务对象进行表单的生成,可以选择几个固定模板(单列,二列,三列,四列),生成完后还可以再自己进行类似于Word方式的调整。

模板生成表单

表单的调整
4. 前端模块

Agilebpm的流程引擎基于activiti 5.22
Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供插件,开发人员可以通过插件直接绘画出业务流程图。

5. 模块间依赖关系

(在开发文档中作者描述WF为流程模块,但实际并未找到单独的WF,应该是随着更新嵌入到前端bpm-explorer中)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/callpink/article/details/108058853