java 审批流_导致CRUD程序员失业,通过工作流引擎实现的低代码平台

一、什么是低代码平台

是指用最小化的手工代码量,帮助企业快速响应业务应用需求,能够最小化地降低企业各项前期投资的平台。

b392034ff432844a4f1c4090bc3332bb.png

根据Forrester报告的预测,到2020年,低代码平台将成为主要的软件交付平台,市场规模将达到155亿美金。75%的应用程序将使用低代码平台进行开发。

未来企业必定是敏捷性组织,快速响应在线、连接、差异化需求,这种新的形势导致标准应用再也不能完全满足企业业务个性化的需求,因此,标准化应用必然会被低代码平台所开发出的高度个性化、高度敏捷化的应用所取代。

二、低代码平台主要功能模块

aafe7f9c08c57bb8c435830ba0a443e5.png

由上图可知,低代码平台包含5大模块,其核心是数据引擎与流程引擎。

1、数据引擎

420e209c69f8ed8cd77b1a9dc598ec07.png

数据引擎建立表单数据和数据库数据到数据模型的关联。

2、流程引擎

e3672b6ec5073a9e47057e37582688ec.png

流程引擎支持流程设计,快速实现电子流、工作流和审批流。

三、什么是Activiti

是符合BPMN2.0规范的开源工作流引擎,而BPMN是一种业务流程建模语言标准,这两者的地位都很重要。BPMN2.0是最重要的业务流程建模语言,而Activiti是最重要的开源BPMN2.0流程引擎实现。

9b9099a05cdaf9bbdd8577c4818c9656.png
185b67b4f4d522d19c7ba094a5a0b3bd.png

四、使用Activiti BPMN扩展

Activiti虽然是BPMN2.0规范的标准实现,它自己也提供了很多扩展,带来了更好的易用性。

1、调用外部Java逻辑

2、表达式计算

3、自定义流程变量

  Testing123  

五、数据库CRUD实现

使用流程引擎实现数据库的增删改查。

1、数据库select操作

  • 流程定义
   select id,last_name,first_name,address,city from persons where id = #{persons_id}   
  • 代码实现
public class DbDataLoader implements JavaDelegate { private Expression sqlStatement; public void execute(DelegateExecution execution) { String sqlStr = (String) sqlStatement.getValue(execution); //1. 获取流程变量persons_id的值 //2. 生成并校验sql //3. 执行sql //4. 给结果对象赋值 }}

2、数据库insert操作

  • 流程定义
  insert into persons(id,last_name,first_name,address,city) values(#{id},#{last_name},#{first_name},#{address},#{city})   
  • 代码实现
public class DbDataInsertor implements JavaDelegate { private Expression sqlStatement; public void execute(DelegateExecution execution) { String sqlStr = (String) sqlStatement.getValue(execution); //1. 解析sql //2. 获取表名及数据集 //3. 拼接sql //4. 执行sql }}

通过Activiti,我们能迅速实现低代码平台,加速典型的企业信息化场景的开发,毕竟,大多数企业信息化的场景都是数据库的CRUD应用为主。

7f8919f653ce146e627aaaa9e723ef83.png

我对低代码平台的应用前景表示非常乐观。也许,只会简单的数据库CRUD实现的开发人员就要失业了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值