# agile-bpm-basic **Repository Path**: syxlw/agile-bpm-basic ## Basic Information - **Project Name**: agile-bpm-basic - **Description**: 【敏捷工作流开发平台】 专业的企业级流程解决方案。 基于activiti5.22, 前后端分离,模块化,超低耦合。零java代码即可做到复杂业务的流程实施。整合了spring4.3.17 mybatis activiti5.22 redis groovy quartz mq atomikos spring security等必备组件 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: http://doc.agilebpm.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1082 - **Created**: 2018-07-30 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AgileBPM 敏捷工作流开发平台 #### 项目介绍 项目部署、实施文档 请参考 http://doc.agilebpm.cn/ PC在线测试地址(1核Linux机器,部署了一堆东西,略慢请见谅) http://test.agilebpm.cn/login.html 功能缺陷请在项目上创建建 **issues**,可以查看已完成issues来寻找问题解决方法 https://gitee.com/agile-bpm/agile-bpm-basic/issues ![移动端测试地址](https://images.gitee.com/uploads/images/2018/0719/100556_de9bc8a4_1861740.png "屏幕截图.png") 移动端测试 账号密码 admin 1 ## 工作流解决方案 **我们通过业务对象、表单、流程引擎共同协作来解决业务流难实施的痛点** 业务对象用来承载、持久化业务数据;表单则是业务数据的展示层;流程则用来驱动业务数据流转。 三者协作完成流程实施。 > - **业务对象:** 由实体(表)组成,支持任意数据结构(关联关系),可以跨库来组织业务对象(支持分布式事务)。而且难以置信的支持N层。 - **业务表单:** 表单完美的支撑了业务对象的展示,并支持丰富的前端组件和字段级权限控制。 - **流程引擎:** 高效、解耦、强大、灵活。流程引擎**一切功能皆插件**。 **支持任意结构的业务对象 + 丰富控件易扩展的表单(字段级别的权限控制) + 功能强大的工作流引擎** 便是我们完整的流程解决方案 当然、流程也支持url表单,方便已有业务、异构系统的流程实施 **具体实施步骤请参考 [文档](https://agile-bpm.gitee.io/docs/implement/businessObject.html) 中的敏捷流程实施三部曲** :smirk: > 流程配置页面、任务处理页面、流程实例页面截图 > 流程表单界面截图 ## 软件架构说明 #### 组件化 系统通过功能划分出了多个模块,每个模块由API、CORE、REST、SERVICE(apiImpl) 几部分组成。模块与模块间通过API交互,WEB则用于整合各个模块 [系统模块介绍介绍]( http://agilebpm.gitee.io/docs/base/framework.html) [组件更多详细介绍](http://agilebpm.gitee.io/docs/base/module.html) #### 前后端分离 AgileBPM 是一个前后端分离的项目,这样各个团队会更专注于其本职工作,后端只负责业务逻辑、API 提供。而大前端则不拘泥于一种前端技术、更自由的构建UI交互逻辑 #### 项目技术组件 ![项目组件](https://images.gitee.com/uploads/images/2018/0705/172349_e5de827a_1861740.png "屏幕截图.png") ##### 其他项目中用到的组件 前端:bootstrap-table,codemirror,echarts,layer,markdown,softable,ueditor,ztree 移动端:vue,vux,weui #### 架构模式 AgileBPM 目前是标准的SOA架构,但依然拥有微服务架构的特点。 可以通过选择WEB模块的依赖来构建您需要的服务模块,然后修改API 实现,选择一个服务注册中心,就完成了微服务的改造 我们建议业务前期使用AgileBPM的这种模块化管理的架构模式,运维实施陈本小,也不必关注分布式事务问题,业务后期也可以很轻易的向微服务架构迁移。 ## 流程功能 - **节点消息通知**: 用于在流程某一节点,满足某种条件后发送消息给配置的人员。可以自定义消息内容。 - **节点自由跳转**: 用于在流程某一节点,满足配置的条件后、自由跳转至配置的目标节点。 - **节点事件脚本**: 用于在流程节点,触发的配置groovy脚本。可以调用容器环境中bean方法。 - **节点人员配置**: 用于节点候选人配置,支持用户,角色,岗位,组织,发起人,历史节点处理人,脚本人员(通过groovy脚本调用自定义人员脚本) - **节点处理按钮**: 用于节点任务处理动作配置。支持自由配置某节点可用的功能按钮。目前有同意、反对、驳回、驳回配置节点、人工终止流程、流程图、审批意见、保存等 - **节点跳过策略**:用于配置特殊场景的跳过策略,支持全局跳过(测试流程使用),跳过第一个节点,任务执行人为空跳过,脚本跳过 - **流程特殊属性配置**:配置流程特殊属性 - **流程实例标题规则配置**:用于个性化配置流程的标题 - **全局表单**: 用于流程全局表单配置,目前支持内置表单、url表单。如果不配置则发起流程会提示错误。 - **节点表单**: 节点表单配置。如果不配置默认使用全局表单。 - **流程数据模型**:流程表单的数据模型、选择数据模型后,只能选择改数据模型下生成的表单。 - **流程变量管理** - **流程分支groovy脚本支持** ### 系统功能 资源管理(用于服务器鉴权,用户分配资源菜单)、数据字典、定时计划(定时调度引擎)、系统属性(多环境系统参数定义)、系统数据源(系统支持多数据源的数据获取,系统数据源的动态切换,读写数据源的分离)、工作台(个人自定义首页)、流水号、常用脚本管理、自定义对话框、系统树 ## 其他说明 我们是专业工作流研发团队,有多年工作流程实施经验,针对各种特殊场景,经过近一年多的(业余)时间设计开发了这款产品。 目前还有很多组件正在筹备开发中,如果有更多人支持,我们也会继续下去。 ## 目前基础版源码正在整理中...... qq 交流群 477781857