目前国外内主流的低代码开发平台有:奥哲氚云、云程、ClickPaaS、阿里宜搭、华为AppCube、腾讯微搭、百度爱速搭、网易轻舟、金蝶苍穹、普元平台、浪潮iGIX平台、泛微平台、炎黄盈动BPM、蓝凌低代码平台、伙伴云、明道云、简道云、道一云、轻流、搭搭云、白码、数式科技、华炎魔方、维格表、优速云、OutSystems、Mendix、微软Power Platform、Unqork等。

基于模型驱动的可视化开发是当前低代码平台实现的主要实现技术,为什么基于模型驱动开发成为了低代码的主要技术途径,本文阐述其基本的实现原理和逻辑。

一、应用构成要素

我们先看一下汽车的基本构造,由车身、发动机、方向盘等多个零部件构成,因为它是一个工业产品,有实物存在,摸得着看得见,所以大家很容易理解。日本丰田汽车是如何做到自动化流水线生产的,本质上是把产品xBOM定义得很清晰,而且完全结构化了,才能用数字化技术生产汽车产品。

其实,软件系统也是有构成要素的,只不过软件系统跟汽车相比,比较抽象,难以理解,但是想做到低代码/零代码方式开发应用系统,必须对应用系统构成要素进行抽象,层层拆解,直到最小的元素,其实也是一个产品结构树BOM。反过来,如果每个最小的元素都可以通过拖拉拽可视化方式开发,然后可以把这些元素通过配置方式组合起来,就达到了低代码平台开发的要求。

我们大体上可以把软件系统分成:数据、界面、流程、逻辑、菜单这几个一级构成要素,每个一级要素继续分解成二级构成要素,依次类推。以界面为例,界面可以由表单、视图、图表构成,表单由布局、控件、样式、事件构成,控件由复选框、下拉框、输入框等元素构成。通过这个逻辑,大家就能理解低代码平台为什么需要表单设计器了。如果数据、界面、流程、逻辑、菜单都是通过可视化方式配置完成的,那么就形成了低代码平台。

二、模型驱动原理

模型驱动是一种软件开发方法,利用一系列模型的设计、映射、引用、转换,来驱动软件的需求、设计、实现的软件工程过程。

以上是低代码平台表单引擎原理图,主要包括模型建模工具(表单设计器)、模型解析引擎、模型实例化引擎、界面渲染引擎、模型库、实例库几部分构成,实际产品开发中部分引擎可以合并为一个组件。

以下通过一个业务场景举例说明其逻辑,假设用户要设计一个请假申请单。

第一步:首先要打开表单建模工具,通过拖拉拽方式设计表单,格式是Json或xml均可,设计完成后,提交保存表单模型,调用后端模型解析引擎,模型解析引擎会解析json或xml,生成表单模型元数据,插入到模型数据库中,此时就完成了表单设计工作。

第二步:表单发布后,用户打开URL链接,请求表单界面渲染引擎,界面渲染引擎通过模型解析引擎得到模型定义对象,进而完成页面动态渲染。

第三步:用户录入数据,点击提交,请求模型实例化引擎,并把数据插入到数据库业务表中。

那么基于模型驱动开发的原理有什么好处呢?

  1. 快速设计原型系统,项目经理在需求调研时,直接设计高保真原型系统;
  2. 快速开发业务应用,通过拖拉拽方式比硬编码方式大幅提升开发效率;
  3. 响应需求高动态变化,比如:客户调整样式、加字段、改流程等经常发生;
  4. 模型积累和重用,模型可以导入导出,模型可以分享,相比代码更具备复用性;

三、低代码核心功能

1、业务建模:基于元数据模型驱动开发的思想,提供灵活、稳定的元数据模型建模与管理,通过数据实体、属性、关系等元数据配置响应业务需求变化,提供了在线的数据库实体建模和E-R建模功能,支持单表、一对一、一对多关系。

2、表单建模:在线可视化化表单设计器可快速建符合业务的表单,用于数据采集和流程审批,在线预览,所见即所得。

3、页面建模:提供可视化配置功能,支持单表、主子表、树等多种模板,基于组件化组合思想,可构建复杂页面功能,并可配置页面查询框、操作按钮等功能。

4、流程建模:BPMN2.0规范,可视化拖拉拽流程设计;会签、加签、跳转、退回、撤销等多种流程操作,配置即用;用户、部门、角色、岗位、 关系等多种选人方式,符合中国特色组织选人需求。

5、报表建模:报表设计器是一款在线可视化报表建模工具,提供了汇总表、明细表、柱形图、条形图、饼图、折线图、面积图、雷达图、指标图等多种种常用图表,可以组合及联动使用。设计器采用拖拽操作的风格,简单易用,能够实时展示配置效果,一目了然。

6、门户建模:拖拉拽方式设计首页,无需编码;多种布局风格,可自由布局;支持多角色门户,不同角色不同首页;在线预览,所见即所得。

7、大屏建模:无需写代码,在线可视化设计大屏,支持图表、表格、媒体等20+常用组件,支持静态数据、HTTP、SQL等多种获取数据方式。

8、移动建模:可以在线设计流程和表单,开发应用,无需手写代码,可自动生成移动端界面,极大提升了移动应用开发效率。

9、数据服务化:无需开发Controller、Service、Dao、Mapper、XML、VO等Java对象,一键即可生成HTTP API接口,跟Swagger无缝结合,生成标准RESTful接口文档。

参考:

云程 | 云BPM,云程BPM,低代码平台,低代码开发平台,开源流程引擎,Camunda,flowable,业务流程管理,activiti,智能表单,电子表单,可视化开发,零代码开发,基础平台,流程PaaS,流程SaaS

2022年国内外主流的低代码平台_大龄码农有梦想的博客-CSDN博客

基于模型驱动低代码平台的实现原理相关推荐

  1. Jeecg-Boot 2.1.4 版本发布,基于SpringBoot低代码平台

    项目介绍 JeecgBoot是一款基于代码生成器的JAVA低代码开发平台,开源界"小普元"超越传统商业企业级开发平台!采用前后端分离架构:SpringBoot 2.x,Ant De ...

  2. 基于Appian低代码平台开发一个SpaceX网站

    文章目录 Appian 背景摘要 Appian Designer SpaceX网站开发 新建Application 配置应用权限 创建Record Type Appian 背景摘要 国内几乎没有App ...

  3. 低代码平台,企业业务创新的最佳路径

    数字化转型的必然趋势及面临的问题 数字经济时代,数字化转型是企业在行业赛道上领先的必经之路,然而,数字化转型升级的道路并不是畅通无阻的,也不是企业单枪匹马就能干成的,各个企业在转型过程中都或多或少会遇 ...

  4. 低代码平台,企业服务新战场

    文/智能相对论(aixdlun) 作者/陈壹 如果说数字化创新是破土而出的幼苗,那么数字化技术普及就是其不可或缺的生长环境. 当数字化技术能力得到下放,让应用开发像搭乐高玩具一样,让大众都能参与进来, ...

  5. JeecgBoot 3.1.0 版本发布,基于代码生成器的企业级低代码平台

    项目介绍 JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,J ...

  6. JeecgBoot 2.4 微服务正式版发布,基于SpringBoot的低代码平台

    项目介绍 JeecgBoot 是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Sh ...

  7. JeecgBoot 2.4.2 积木报表版本发布,基于SpringBoot的低代码平台

    项目介绍 JeecgBoot是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shi ...

  8. JeecgBoot 3.2.0 版本发布,基于代码生成器的企业级低代码平台

    项目介绍 JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,J ...

  9. 基于低代码平台(Low Code Platform)开发中小企业信息化项目

    前言:中小企业信息化需求强烈,对于开发中小企业信息化项目的软件工作和程序员来说,如何根据中小企业的特点,快速理解其信息化项目的需求并及时交付项目,是一个值得关注和研讨的话题. 最近几年来,随着全球经济 ...

  10. 基于低代码平台实现的政务督办管理系统有哪些特色功能?

    为进一步优化政务环境,完善抓落实工作机制,提高效能效率,确保各单位间决策部署落地生根,需全面建立实施"13710"工作制度,通过MyApps低代码开发平台实现的政务督办管理系统,可 ...

最新文章

  1. TF-IDF算法百度附有代码 有解吧实现中文分词
  2. Unknown: Failed to get convolution algorithm. This is probably because cuDNN
  3. 在线python编程编译器-编译器python
  4. IE弹出窗口显示URL地址栏
  5. wxWidgets:wxMenuEvent类用法
  6. 如何利用Callgraph生成函数调用图?
  7. java中byte,String,InputStream之间的转换
  8. mysql sql 备份数据_mysql怎么进行数据库备份和还原,以及自动备份
  9. notepad++查看16进制文件
  10. 创业吧,兄弟--记者眼中的中关村创业大街创业热潮纪实
  11. 真·杂项:资本论阅读笔记(随缘更新)
  12. 应用层故事难讲 公链集体押注DeFi背后 是黔驴技穷的无奈之举?
  13. 使用逆火日志分析器简单分析日志
  14. html 手机录视频,手机怎么录制视频 怎么用手机录视频?
  15. 【读书笔记】概率图模型——基于R语言(一)
  16. 为什么没有好用的Android游戏引擎?
  17. Jmeter之常用断言总结篇
  18. CSS中的常见单位(px,%,em,rem,vw,vh,vmax,vmin,calc)
  19. java自定义环境变量
  20. 4路红外循迹模块使用教程

热门文章

  1. 建筑智能化资质升级需要的企业工程业绩
  2. 戴尔服务器系统备份还原工具,DELL备份恢复系统的小工具 Dell DataSafe Local Backup[网络技术]...
  3. win10录屏_win10录屏打不开怎么办?怎么给win10录制屏幕视频?
  4. Linux安装VIM执行sudo apt-get install vim 现在没有可用的软件包但是它被其他软件包用了
  5. 利用DHT网络原理制作bt采集蜘蛛
  6. 51单片机蓝牙小车程序详解
  7. 学生用计算机如何算角度,如何用windows计算器计算角度的正弦值?
  8. vue中使用iconfont图标
  9. Adobe Illustrator 中的路径查找器
  10. julia Pkg.add() 安装package时卡着不动慢怎么办