Skip to main content

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
email
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形式 三种不同 服务提供形式

试用地址

普通版本

  • PC 端

  • 移动端

    请关注公众号 AgileBPM 在线试用。

全新 OA 版本

OA版本是全新的UI,基于Iview-pro开发,拥有更漂亮的 UI、极致的用户体验和细节处理 并且支持国际化。

如果对前端有较高要求可以选择 高级OA版本或者企业OA版本。

试用地址 http://test1.agilebpm.cn

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 版本! 其他版本内容基本已经构建完善。