周朋谈低代码开发平台、工作流引擎、与表单引擎之间的关系

  

  低代码开发是最近几年比较火的一个概念,而工作流引擎,表单引擎是好多年以前的产物了。今天我们就聊聊三者之间的关系。

  我是开源驰骋BPM公司的周朋,是流程引擎、表单引擎的爱好者、研发者、探索者。最近看到关于网上流传低代码开发的一些评价,有的太偏激、有的太片面结合自己的开发经验,对上述三个概念阐述一下,抛砖引玉。

  关于工作流引擎:

  工作流引擎包含组织结构、流程、节点、转向规则、它类似于一部汽车的控制系统,比如:前进、倒车、刹车、换司机、抛锚处理、到达终点。分别对应流程引擎的:发送、退回、移交、流程结束等操作。

  流程催办、撤销、删除、调整、回滚等操作也都是流程引擎必备的功能。

  不管采用什么规则下,什么规范下开发设计流程引擎,就要把他当作一部汽车设计看待,目前的汽车设计都有辅助驾驶功能,比如:偏移行车线预警,主动刹车,倒车雷达,轨迹查看等等,随着工作流引擎技术的发展这些功能也体现在系统上,他们是相通的。

  预警:操作一个审批,把风险点提示出来。

  主动刹车:根据一定的条件自动完成流程。

  工作流引擎系统对外提供的是一系列的操作接口,比如:发送,退回,转发,移交,撤销等。

  工作流引擎基于一套组织结构体系才能工作、组织体系上的操作者就是执行操作流程的主体。每个节点的工作人员都要落实到人,而非一个部门或者一个岗位,如何设置一个节点工作人员的范围,是需要抽象出来很多规则。这些规则归类为两种:一种是自动计算的,另外一种是手工选择的。

  工作流引擎有一系列事件:发送前、发送后、发送成功时,发送失败时,退回前、退回后、流程结束前,结束后。我们可以利用这些事件来表达业务逻辑并实现用户需求。

事件伴随着消息的产生,比如:发送成功时,就可以定义发送成功消息,推送给相关的接受人或者其他的关注人。这些可以使用消息模版定义他们,推送到第三方的系统中去。

  

  节点在运动的过程中到下一个节点有多个分支,这样的分支运动,我们分为两种:一种是自动计算,另外一个是主动选择。自动计算是根据一些参数,环境变量进行比较计算得出是否成立,如果成立就走这个分支。

  自动计算下的方向条件设置,如下图支持多种表达式。

  

 

 

 

  手工选择就是必须由操作者主管的判断要走哪个分支。如下图所示:主管的选择到达多个节点。

  

 

 

 

  节点的类型:有合流、分流、分合流、子线程三种模式(这是以驰骋bpm为例),不同的厂家都有自己的定义。

  概述:工作流引擎其实也是一个规则引擎,它定义流程,执行流程,就是制定规则、解析规则、使用规则的过程。

  关于表单引擎:

  1.   表单引擎就是存储与展现数据的工具,一个表单是由表单模版、表单数据、表单业务规则组成。

  2.   表单模版就是表单内容的描述,是一些表单元素的组合,文本框、下拉框、单选多选按钮、从表、附件等等。

  3.   表单数据一般以Json对象存储,加载到各个控件上展现给使用者。

  4.   表单引擎发展到今天,大概有三种发展方向,我们把这三种模式的优劣点概述如下:

  文件依赖模式:根据表结构,自动生成一个文件.aspx,htm,或者jsp文件等等,有一定的数据元素,自动生成增删改查方法。这个发展方向在表单引擎发展初期常见,仍然没有改变这个模式的惯性,容易理解,容易改造样式,可以代码扩展性强。但是缺点也是显而易见的,不容易维护、离不开开发人员、增加字段、删除字段需要打开文件操作不能热操作。对跨平台显示支持不好,比如:手机、PC、CS模式的适应。

  解析执行模式:表单模式的表单元素与业务逻辑都以关系的模式格式化的存储到数据库或者xml,或者json文件里。

  

  表单运行的时候需要借助一个解析工具,比如手机端的解析执行器,PC端的解析执行器。这个解析执行器需要接受2个参数,表单id,表单主键值。

   

 

 

   

    表单的业务逻辑就是,用户与表单元素,数据的操作行为,比如:下拉框的级联、控件值的计算、文本框自动完成、单选按钮控制其他控件的隐藏显示等等。

    这种模式适用于运行到多个平台,比如:手机端、PC端、pad平台、CS模式。

    

 

 

 

    PC端的展现模式:

    

 

 

     

    这个模式下的表单设计,需要设计很多规则,要具有很好的抽象性,扩展一个规则需要一定的代码开发工作量,但是一旦扩展后,就可以批量的应用,对表单设计者的门槛要求低了很多,效率变高了,规范了。

    

    富文本+解析模式:

    这个模式的表单设计时以来一个富文本编辑器,编辑器的元素有约定的格式,表单的原型是通过可视化的设计器完成,表单的字段规则,业务逻辑规则是存储到背后的表单模版里。

    

    运行表单的时候依赖于表单解析执行器完成的,我们以驰骋开发者表单设计器为例来说明,如下图所示:

 

     

 

 

     

    流程引擎与表单引擎数据之间的关系:

    就是汽车、车厢、数据之间的关系。流程引擎是车的控制系统、车厢是表单、数据是货物。

    

 

 

     

    流程的运动,启动、运行到不同的节点、停止。

    

    关于低代码开发平台:

    所谓的低代码开发平台,是能够解决一个可以直接在后台配置就可以开发出来的基础的应用,比如:车辆管理系统、用餐系统、学生管理系统。

    完成这些应用,需要:组织结构、菜单权限、流程引擎、表单引擎、报表系统的多方面的支持。

    以车辆管理系统为例:

    1.   需要组织结构系统提供人员、部门、岗位的管理。

    2.   需要菜单系统规划出来该系统的功能,以及分配不同角色的权限。

    3.   需要表单引擎提供车辆基础信息的管理。

    4.   需要流程系统提供车辆预定申请。

    5.   需要报表系统提供数据分析。

    综述:

    1.   一个低代码开发平台包含组织结构管理,流程引擎,表单引擎,报表体系,菜单管理。

    2.   低代码开发快捷、所见即所得、立刻能用,并非一些人说的那样绝对,是什么毒瘤。

    开源驰骋团队为国内开发者提供一套完整的,低代码开发平台、流程引擎、表单引擎解决方案,具有较深的业务沉淀,可以定制绝大部分的应用场景,代码100%的开源,遵守GPL开源协议免费使用。

    

    官方网站:http://ccflow.org  

    源代码下载:http://ccflow.org/down.htm

  

    为您提供优秀的国产低代码、工作流引擎、表单引擎解决方案。

 

 

 

 

posted @ 2021-05-26 17:14  CCFAST  阅读(1374)  评论(0编辑  收藏  举报