Forrest 在2014年正式定义了 “低代码” 这个名词。而早在这个名词出现之前,我们就已经开始着力于相关领域的研究,可以说经历过“低代码”在国内发展的全部时期。作为 “低代码” 领域的历史见证者和践行者,我们探索过最初的“无人区”也走过不少弯路,并取得了一些阶段性的沉淀成果。
低代码化是现今各企业技术部门调研和践行的热门方向。低代码能够解决哪些问题?低代码是实际能解决问题的技术革新,还是资本炒作起来的概念?市面上的意见五花八门,有质疑,有看好,也有观望。而对于低代码是什么,低代码平台应当是什么样,我们也能看到许多不同的解释和看法。
要从这些观点的海洋中找到对于企业团队而言正确的决策,需要对“低代码平台”的全貌有清晰的认识。故而在这篇文章中,我将尽可能不带个人倾向的表达,为各位读者客观铺陈一个相对成熟的低代码平台的架构。对于企业而言,如果打算采购低代码平台,可以将本文作为平台能力逐项评估的参照,如果打算自研低代码平台,也可将本文作为项目设计的借鉴。
接下来的内容我将基于JNPF低代码项目进行展示:
系统架构
基于Java Boot/.Net Core构建的简单、跨平台快速开发框架,整合了Kubernetes、微服务等最先进的技术架构,并提供了完善的自动化开发测试工具与运维管理工具。
组成部分
低码平台主要由以下几个部分组成:
- 基础设施:提供公共的服务组件,实现常规通用的需求。如:系统配置、统一认证、日志处理,消息队列、缓存管理等。
- 可视化管理:基于元数据的业务建模,应用的流程设计,以及开发完应用的在线编译、部署,都需要通过页面的可视化来实现。
- 核心引擎:抽象业务需求,满足具体应用设计,提供统一规范的应用引擎,是低码平台的核心。核心引擎主要包括:建模引擎、表单引擎、流程引擎、报表引擎、API引擎、代码引擎等。
建模引擎
基于模型驱动,内置功能强大的建模引擎,零代码也能快速创建智能化、移动化的企业应用程序。
通过实体、数据结构、枚举等构建低代码数据模型。可视化定义数据之间的关联关系,平台自动生成数据库表和通用接口。
表单引擎
基于模板创建页面或在空白页面上通过拖、拉、拽组件的方式完成页面搭建。平台提供标准化组件,以及组件扩展能力,可维护自有组件库。
流程引擎
流程定义功能(节点审批、子流程、条件分支、选择分支、并分支、定时器等),业务逻辑简单好理解、业务流程梳理快捷明了,同时支持一表单多流程的设置。
封装大量具有中国特色的流程动作,满足审批需求,包括权限设置、会签、或签、重审、转审、催办、撤回、加签等审批动作。
可支持常规流程的快速开发,如请假、入职、离职等企业内常用流程。
报表引擎
无需开发人员帮助,业务人员也能配置出功能强大的统计报表。报表运行时自动按当前用户权限过滤报表数据,动态显示业务统计结果。
可通过拖拽组件的方式实现折线图、柱状图、饼状图、散点图等。
也可在有数BI产品上完成从数据到模型再到报表的设计,低代码可以直接将生成的复杂报表集成到应用中。
API 引擎
为具备编程能力的用户提供了三种数据接口方法来整合JNPF与外部数据的互联或服务。
• 静态数据:静态的数据建模;
• SQL接口:主要用于JNPF内部表单之间的数据传输;
• API接口:主要用于JNPF与外部系统的数据传输。
代码引擎
可以使用传统方式编写代码,并可与可视化设计界面双向同步。对于可视化界面不能实现的业务功能,均可通过传统方式编写前后端代码实现。
JNPF体验地址:https://www.jnpfsoft.com/?csdn
最后,低代码开发相较于传统开发模式,大部分的需求可以通过低码平台的可视化页面实现。无需开发人员介入,具备更高的开发效率和更低的开发门槛。应用发布也更快速,支持在线编译、打包、发布。
- 节省时间: 几乎所有人都可以开发应用,而无需等待开发团队来开发。
- 提升效率: 优化系统开发流程,提升软件开发效率
- 降低门槛: 通过可视化建模技术完成数据结构、流程、逻辑的定义与前端页面的搭建
- 快速响应: 维护升级方便,即改即用,快速响应业务变化与调整