低代码平台概述
对于低代码开发平台,百度词条有一个基础定义,如下:
低代码开发平台(LCDP)是无需编码(0代码)或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法(参考可视编程语言),使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。低代码开发平台在完成业务逻辑、功能构建后,即可一键交付应用并进行更新。
如果再对这个定义里面的关键内容做下提取,其核心包括:
-
无须编码或少量编码
-
可视化和可配置化,通过组装或配置构建应用
在这两点之外,还有一个关于过程支撑层面的,即整个开发完成的应用上线或交付过程应该足够简单和自动化,包括上面提到的可以实现配置立即生效,实现一键交付等。
当前有很多提供低代码开发平台的服务商,各家的方案或整体架构虽然有差异,但是本质的内容基本还是一致,即一切皆是可配置,可建模的。
可以设想下开发一个简单功能的过程,基本也就是数据库表设计,前端界面设计,编写逻辑层代码和接口实现业务规则,挂接流程引擎实现流程,配置功能和数据权限等。
所以任何一个低代码开发平台都需要围绕这个核心去抽象和建模,找出共性的和业务无关的东西进行技术沉淀,即我们常说的。
完全标准的东西直接标准化
非标准但是同样场景的东西,通过抽象差异来实现参数化配置
大家可以看到,实际我们LCDP平台的构建基本就是围绕上面思路展开。那么一个LCDP平台的核心要素究竟是啥,具体我重新画了一张图来说明。
即LCDP平台的核心包括了上图中的数据建模,表单建模,流程建模,权限建模,报表建模和规则建模几个关键部分的内容,通过这些建模组件,包括这些组件之间本身的协同来完成一个完整业务系统和功能的构建。
对象建模驱动
一个好的低代码开发平台应该是以对象建模为驱动的,这个有点类似于很早以前谈到的MDA模型驱动架构的思想。即首先进行对象建模,这里的对象更偏业务对象或领域对象,一个对象本身可以对应到多张数据库表,可以是层次结构表,也可以是管理结构表。
对象建模完成,朝前可以暴露领域服务能力接口,朝后可以对接数据库进行持久化。当暴露领域服务能力接口的时候更加容易实现前端和后端逻辑之间的彻底分离和解耦,同时在领域服务实现内部也更容易进行相关的事务控制。
在采用对象建模后,实际在后端模型和前端界面之间增加了一个对象服务层,对象服务通过API接口方式对外提供,这个和SOA分层应用构建思路是吻合的。
在对象建模完成后,对象本身朝下可以生成数据库表,朝上可以发布API接口服务。而对于表单建模不再直接和数据库表关联,而是直接引用对应的API接口服务,在这种情况下对应API接口服务本身也会启用强服务契约模式进行定义和设计。
当有了独立的接口层的时候,可以看到要实现上层功能组合或组装将变得更加容易和方便,即我们可以提供一个类似传统BPEL流程或服务编排的工具,可视化来进行上层业务的接口组装和编排。
表单和流程引擎集成
当前市面上很多低代码平台本身即是从传统的BPM软件或工作流引擎平台演变而来的,因此流程引擎本身是低代码平台底层很重要的一个技术服务能力支持。
对于流程引擎本身和组织模型绑定紧密,以进行相应的细粒度数据权限控制和流程动态权限控制,在这里先不描述具体的组织引擎和流程引擎集成点,而重点分析表单和流程引擎的集成。
表单设计挂接流程
可以先看下最简单的一个场景,即表单设计和流程设计本身即分离的,可以提前先设计好流程模板,产生一个流程模板ID,然后开始进行表单设计。表单设计完成后,可以选择一个流程模板ID进行挂接。
在这种场景下表单在提交的时候启动流程本身也简单,即:

(编辑:漯河站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|