外观
TODO 文档开发中 ...
为解耦而生的插件
行业经验赋予了 AgileBPM 更高阶的业务抽象能力。实际编码中,我们在开放封闭原则方面做出了很大的努力,利用策略模式、模板模式、适配器等预留可扩展点,力求让有扩展需求的功能都实现可插拔让系统灵活度达到极致。 AgileBPM 在可扩展、解耦方面的一些应用
- AgileBPM 的所有模块,都会符合SOA架构,设计API模块,并对外提供适配层,以便灵活切换实现。
- 流程功能皆插件,可插拔。
- 在线表单可扩展的控件组件、以及功能插件。
- 业务对象的持久化链、格式化链、持久化策略。
- 流程动作统一处理的命令模式 + 模板模式 。
- 消息实现策略模式。
- 附件持久化策略机制。
- 不同表单生成策略,
- 角色鉴权策略等。
流程插件
AgileBPM 在 Activiti 引擎基础上拓展了一套插件体系
在插件中可以使用流程生命周期中的环境变量、如
- 表单业务数据
- 流程变量
- 流程实例
- 任务信息
表单插件
自定义表单封装了很多组件比如:
- 自定义对话框组件
- 数据字典组件
- 日期计算组件
- 日期校验比较组件
- 函数计算插件
- 动态权限配置插件
- 动态联动下拉框组件
- 各种表单控件等
TIP
表单控件、组件在表单设计阶段,可以直接可视化配置,当然如果了解组件的实现和配置内容,也可以直接编辑源码的形式去配置组件
业务对象插件
业务对象在数据持久化和数据读取过程中定义了一个执行器链
保存过程中的执行器链
- 数据格式化处理(前端是JSON形式格式化成 真正的数据格式)
- 业务数据权限处理 (只保存有编辑权限的字段并且后端校验必填字段)
- 乐观锁
- 逻辑删除
- 默认数据赋值插件
获取数据的执行器链
- 数据格式化
- 数据权限处理(只获取有只读以上的数据)
- 默认值赋值
TIP
业务对象的插件主要是在持久化和获取数据过程中处理加工业务数据