一、什么是低代码平台
是指用最小化的手工代码量,帮助企业快速响应业务应用需求,能够最小化地降低企业各项前期投资的平台。
根据Forrester报告的预测,到2020年,低代码平台将成为主要的软件交付平台,市场规模将达到155亿美金。75%的应用程序将使用低代码平台进行开发。
未来企业必定是敏捷性组织,快速响应在线、连接、差异化需求,这种新的形势导致标准应用再也不能完全满足企业业务个性化的需求,因此,标准化应用必然会被低代码平台所开发出的高度个性化、高度敏捷化的应用所取代。
二、低代码平台主要功能模块
由上图可知,低代码平台包含5大模块,其核心是数据引擎与流程引擎。
1、数据引擎
数据引擎建立表单数据和数据库数据到数据模型的关联。
2、流程引擎
流程引擎支持流程设计,快速实现电子流、工作流和审批流。
三、什么是Activiti
是符合BPMN2.0规范的开源工作流引擎,而BPMN是一种业务流程建模语言标准,这两者的地位都很重要。BPMN2.0是最重要的业务流程建模语言,而Activiti是最重要的开源BPMN2.0流程引擎实现。
四、使用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应用为主。
我对低代码平台的应用前景表示非常乐观。也许,只会简单的数据库CRUD实现的开发人员就要失业了。