AgileBPM 敏捷工作流开发平台
推荐个人认为做的比较不错的开源工作开发平台AgileBPM 敏捷工作流开发平台—— 开源免费-基于 Activiti 工作流引擎、Flowable
科技部门通过快速迭代支撑业务不断的创新、发展,最终构建出完善的、高效的业务线从而提高产品竞争力、行业壁垒。
AgileBPM
是一个快速开发平台,与众多快速开发平台不一样的地方是,他可以快速的进行业务流程的实施,助力企业快速构建业务流。
文档
摘要
我见过国内很多开发员从零开始整合流程引擎,而后也在使用一些不太合适的实施形式,导致很多开发付出了很沉重的开发代价,浪费了很多时间。
回想下吧,正在走向流程整合道路的您,已经踩过多少坑,比如 Activiti 表单、人员、自由跳转、会签多实例 、难用的API 等等这些坑,您或者已经踩过、或者正在奔坑而去!
不可否认 Activiti 的流程引擎高效强大,但是周边建设的确牵强人意
- 所以我们希望构建出一款流程服务组件
- 要比 Activiti 更易整合
- 不失性能的前提下拥有更丰富的流程功能
- 流程实施配置化
- 表单开发零代码
- 还有最重要的是 保持功能的可扩展性(只有保持扩展性才能适应更复杂的业务场景)
API
Agilebpm 项目模块说明
agilebpm 主工程
base基础模块
base-api : 提供 通用请求入参、返回参数、基础实体、基础service/dao API定义、异常规范、校验定义
base-core : 提供常用工具类、基础API实现 、ID生成、通用校验实现等
base-db : 整合多数据源,mybatis,jdbcTemplate等持久化层相关的实现
base-rest :提供 Rest 服务基类、Rest 服务相关的工具类 等
系统功能模块
sys-api
系统服务接口定义
jms
freemark
groovy
redis
scheduler
节假日、流水号、日程、工作台 等系统模块服务接口
sys-core
系统服务接口实现
sys-rest
对外 rest 服务
组织模块
org-api
组织架构接口定义
ab-org-core
orgAPI 实现层
用户管理,组织岗位,角色,用户组关系
说明:为流程、鉴权 等组件提供用户组织服务,该模块由 服务接口模块、接口适配器层、具体实现层三部分组成
业务对象
1、业务实体,业务对象的定义
2、业务实体数据的持久化服务
3、表字段控件定义,表单布局设计
说明:业务对象为具体的业务数据的结构,支持一对多、多对多、一对一、多层关联关系(学校-班级-学生…)
业务对象多表来自不同数据源,并支持多数据源分布式事务(性能与普通事务管理没什么差别)
表单模块
1、提供在线表单的生成(PC 、移动端 )
2、表单高级控件的配置 3、表单 模板管理 4、表单对于业务数据增删改查的简实现
说明:表单是业务对象的容器,依赖bus模块。
web 模块
仅仅为了组合 各个模块,提供web服务,没有任何其他代码逻辑
SpringBoot 版本
说明: 本项目使用Springboot2.1.4版本 ,以starter的形式整合 agilebpm 模块,具体模块源码都在 AgileBPM 主工程
agilebpm-base-starter
整合 base 模块, 主要是base-db 的整合
两个jar agilebpm-base-autoconfigure,agilebpm-base-starter
agilebpm-sys-starter
整合 sys 系统模块,主要整合了 mq,email 等组件
两个jar,agilebpm-sys-starter,agilebpm-sys-autoconfigure
agilebpm-security-starter
整合spring security,
agilebpm-security-starter,agilebpm-security-autoconfigure
agilebpm-wf-starter
整合了流程模块
agilebpm-ui
前端工程 与主工程中 bpm-explorer 源码一致,这里是以jar包的形式提供前端的资源
agilebpm-spring-boot-samples
spring boot Application 启动项目,以此为案例可以方便整合到自有 springboot工程中
主工程中 bus,form, org 模块直接依赖 rest 模块即可引入模块服务,所以不需要 提供 starter
SpringCloud微服务版本-商业版
说明:本项目依赖 SpringBoot版本的starter,基于 spring-cloud Greenwich.SR1
common 公共模块
commons-web 微服务项目公共模块,所有微服务模块均基层该基础模块
commons-session-adapter-api
当前登录用户的接口定义层
commons-session-adapter-server
提供当前登录用户 的具体实现,目前默认session实现
commons-adapter-client
org 微服务 REST 服务 适配的客户端
commons-org-adapter-server
org 微服务 REST 服务的 服务提供者
当需要为流程微服务提供组织微服务的时候、直接依赖 该模块,实现orgapi 即可提供 agilebpm 的组织服务
eureka-server
eureka 注册中心
gateway
zuul 网关、实现了 请求资源地址鉴权,csrf 防盗链,防xss注入攻击 ,路由服务请求
org-services
org 微服务的默认实现,依赖 ab-org-core
bpm-service
流程微服务,依赖 agilebpm-wf-starter,bus-rest,agilebpm-ui ,form-rest,agilebpm-sys-starter
前端工程
agilebpm 主工程 前端 bpm-explorer
移动端前端工程 bpm-app
iview 门户前端工程 agilebpm-eip-ui
商业版
说明: 所有前端工程后端项目源码 均在 agilebpm主工程
只不过有springboot形式、微服务形式、传统web形式 三种不同 服务提供形式
试用地址
普通版本
-
移动端
请关注公众号 AgileBPM 在线试用。
全新 OA 版本
OA版本是全新的UI,基于Iview-pro开发,拥有更漂亮的 UI、极致的用户体验和细节处理 并且支持国际化。
如果对前端有较高要求可以选择 高级OA版本或者企业OA版本。
OA 版本中,流程设计、表单开发是单独的一个前端工程,而面向客户的门户平台则使用的 iview ui 进行开发的,这样保证了面向用户的前端可以做到最轻量级
老版门户平台地址: http://test1.agilebpm.cn/agilebpm-eip-ui/index.html
商用版本如何选择?
AgileBPM 目前有以下版本
码云版
含移动端、系统功能模块、基础模块、鉴权模块、表单模块、业务对象模块、基础的流程功能(未开源) 商用需遵循 GPL开源协议
高级版
含 高级流程功能(开源)、 eip门户前端、SpringBoot版本、移动端、1年技术支持,商业实施无限制
企业版
高级版基础上新增了 SpringCloud版本、2年技术支持、上门技术讲解、插件定制、框架整合服务等
OA版
全新设计的一款前端工程,在企业版基础上新增了OA办公模块,这也是我们以后工作重心,会陆续新增 排班、考勤等功能
所有以上版本均支持永久升级服务
基础开源版本会满足 90%的流程需求,特殊需求也可以通过预留的扩展钩子实现。
AgileBPM 商用版本功能更强大,这些功能能让流程实施事半功倍!
AgileBPM 不同的版本线规划了版本内的开发计划,采购对应版本后支持永久升级,但是产品价格我们会以当下功能定价。
所以我们建议选择最具有空间的 OA 版本! 其他版本内容基本已经构建完善。
No Comments