热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

flowable工作流流程变量_信也科技工作流平台的技术实践

1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体

1 背景

随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:

  • 目前OA流程引擎无法满足企业特定业务流程需求,且移动端体验差,定制化困难,使用门槛高,影响简单流程快速上线
  • 企业内部系统无统一流程引擎平台,面向公司HR、运维、资产等相关IT系统流程化需求对接复杂,系统内集成流程功能重复开发,对接无统一标准造成严重资源浪费,主要体现方面如下:

f7de7fc50bb965ccf61bc60b3e1e290c.png

图1 现状&项目背景

2 开源框架选型

2.1 技术选型-流程引擎

2970ae8a75f18ca6664f4b319d366a4e.png

图2 开源技术对比

Flowable是一个流行的轻量级的采用Java开发的业务流程引擎。通过Flowable流程引擎,可以部署BPMN2.0的流程定义(一般为XML文件),通过流程定义创建流程实例,查询和访问流程相关的实例与数据。Flowable可以灵活地添加到我们的服务、应用、架构中,可以通过引入Flowable jar包,或者直接使用Flowable的Rest API来进行业务流程引擎的操作,相关核心服务如下:

b9569da45babe3bf2bffd0d28630c9c3.png

图3 Flowable引擎架构

a3cb7db226e918898b6eaa623208540c.png

图4 Flowable引擎服务

  • RepositoryService:操作和管理流程定义和部署,deployment(部署)是ProcessEngine的基本单元
  • RuntimeService:每个流程都可以创建许多的运行实例,RuntimeService启动流程的实例,检索和存储实例的变量信息
  • IdentityService:管理组和用户的身份认证信息
  • FormService:流程表单引擎相关服务操作
  • HistoryService:检索ProcessEngine的历史数据,和相关流程数据
  • ManagementService:检索数据库的元数据和表的信息
  • DynamicBpmnService:动态的改变流程的定义

2.2 技术选型-Web端

1afa052d73d60047663a7ff114e0ece9.png

图5 Web选型对比

2.3 信也工作流解决方案

  • 整体架构设计

引入Flowable之后,将相关服务处理分为身份认证服务,报表服务、任务调度、流程监控服务等、底层Flowable提供流程引擎相关基础能力

2e720b9d562e4df9e120267d01497c42.png

图6 整体设计

  • 系统架构设计

a5e37fd3f5912b20eb5c8c7bc38d5181.png

图7 系统架构设计

核心功能点:

  • BPM流程设计引擎

基于BPM2标准的流程设计规范,可视化流程设计与配置,构建企业业务流程服务:灵活配置实现跨系统的业务编排整合,为业务高效流转提供了坚实的技术支持,无需代码即可轻松创建、改变、维护业务流程应用,核心体现如下:

  1. 支持多节点类型:目前支持审批节点&服务节点&抄送节点&延时节点&流程分支,同时支持节点类型自定义扩展

8abd1ffefc92bafc4549b24c1f2efbae.png

图8 流程节点类型

  1. 分支判定规则:满足不同条件的数据通过不同的分支进行流转,合理使用让业务流程更“智能”

    bb24d680d70936ca4fad83a5db9f3bfb.png

    图9 流程分支

  2. 动态节点负责人:不仅可以固定流程节点负责人,还可以根据表单内的字段值,http和DB动态数据以及企业架构等设置动态的节点负责人

b28455411c7449d6b464121fc302f9c1.png

图10 关联组织架构

f1a818abb78370f8f2ff6983f68700df.png

图11 审批动态关联设置

  1. 节点权限控制:每个节点都可以单独配置对表单的操作权限

66a6e1b9e6b0122bf47f586721e456e8.png

图12 节点字段权限设置

  • Form表单引擎设计

像“乐高”一样,拖拽式设计表单,字段类型丰富 还可以定义表单样式,设置数据联动、公式函数、逻辑规则、来源标记等 强大、实用且美观。自定义您的企业数据入口,目前支持多达18种基础控件,支持几十种常用表单控件及多种校验规则在线配置功能:

c49ae05915ee367db180b59f408ec233.png

图13 表单组件

a7e603967fdd6c6ae06ce0e04911094a.png

图14 表单设计

  • 支持动态数据源接入
  1. 支持HTTP/DB 两种方式

  2. 支持动态JS脚本对内容进行转换

  3. 支持流程&前端调用

20aa0250884b03b07c517509bfda819b.png

图15 动态数据设置
  • 中国特色功能
  1. 支持抄送:类似邮件抄送

  2. 支持代办:指定他人代理审批

  3. 动态加签:临时增加流程内的动态审批人

  • 三方集成—应用

ddae5d5771467a1d2a2bc24632145fa6.png

图16 三方集成-应用
  • 三方集成—接口

a0addacc3e30758fdd3293b89d384de6.png

图17 三方集成-接口

3 总结

信也工作流平台(BPM)目前能够高效的,较好的快速贴合业务需求,并根据流程配置中心的配置减少大量重复工作从而提高执行效率。同时集成到米粒通及企业微信中,提高了用户体验,目前不足的地方是产品的工具化属性,平台属性不够凸显。后续会继续贴合公司相关业务更好扩充产品能力。( 如下附部分使用效果图)

78626db5bf8c10d9f67361a8f324f190.png

图18 使用效果

eba61e0cabc8821a403ab5614962419d.png

图19 使用效果

【参考文献】

[1] Flowable文档: https://flowable.com/open-source/docs/bpmn/ch05a-Spring-Boot/[2] Flowable官网:https://flowable.com/open-source/[3] Vue文档:https://cn.vuejs.org/ [markdown-nice-docs(https://docs.mdnice.com "更多文档")


推荐阅读
author-avatar
小辣椒jie
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有