OneCode低代码引擎专有存储技术(低代码应用)
前言
低代码是一个新兴的技术,有着非常明确而鲜明的技术特点,比如:拖拽组件、可视化编程、零代码编程等等。但传统软件企业在进行技术融合时却往往是困难重重,旧有的技术积累很难能继承应用过来。本文作为一组技术分析,来逐一分解低代码背后的支撑技术。今天我们给大家带来的一个专题分析是,低代码平台的专有存储技术。
一,低代码平台与存储系统
低代码平台不是一个新兴的概念在早在2000年初期,就有类似于RAD的单页网页模型概念。在实际业务实现中绝大多数的业务支撑软件中也都会有类似于“智能表单”之类的泛低代码应用。在这些应用中多数都采用的是“代码模版”技术,将表单模版存储于数据库,或者转存成文件,运行期利用模版技术进行动态渲染。这在简单单一的功能应用中尚可满足需求,但在低代码平台背景下就有点捉襟见肘。其重要表现在以下几个方面:
(1) 单页向多页多目录的支持
在表单系统功能相对单一,关联资源也会比较少。但在低代码平台中,仍然采用单页结构的话不但使得页面功能冗余严重,日后的维护也会带来非常大的负担。这就需要低代码系统优先有支持的便是web目录寻址以及异步按需装载技术,同时这一技术也对传统的后端页面存储提出了新的要求。
在衡量低代码平台优劣的指标中支持“全栈开发”是一个非常重量级的商业指标,也是“无代码”应用的关键支撑技术,在全栈开发支持中最常用的技术便是代码生成,在一定的模型支撑下,配合前端UI模型,生成与之匹配的后端代码模型,实现低代码/无代码应用。这一特性为低代码平台的存储应用带来了新的挑战:
添加图片注释,不超过 140 字(可选)
- 页面模型与后端代码的不可分割性需要页面模型与后端代码模型相互可感知其存在与变化。
- 对于生成的代码多数会采用更高级的语言来支撑,这就需要在存储技术上要能感知源码、以及其编译变化。
- 代码生成的最大一个目的在于便于后期二次开发,这就需要存储模型对于手工编译与在线即时编译有一定的感知和把控能力。
(3) 开发者支持
在低代码应用特性中,有一个非常大的亮点便是属性和逻辑方法的可视化编辑,但单页应用中我们通常会将页面进行组件化的划分,然后抽取其属性,事件以及可操作方法,通过可视化的方式讲这些属性和方法展示给“开发者”进行可视化操作。但在真实的项目开发中,单一的页面可视是远远不够的。在可视化操作中,很多页面都会需需要跨组件跨页面操作。而在全栈支持开发中甚至还会需要在“后端全代码”开发中能够支持页面中的出入参等代码补全操作。并且能针对类型出入参模型进行预编译混合编译支持。这些需求对于“低代码存储”提出了更新更多的要求。
(4) DevOps 在线协同支持
低代码开发中很重要的一个特性便是“一键发布” 快速部署。但便捷并不等省略,在贯穿整个设计、开发、测试、部署环节中,会涉及到更多的产品、开发、测试、运维等多种角色介入。而在代码管理以及项目流程管理方面这需要存储系统针对编译系统、代码版本应用、用户协同管控等多个方面提供支持。
二,OneCode-VFS存储系统设计
OneCode-VFS 是OneCode低代码引擎的核心支撑系统,VFS本身采用的是独立部署的应用。对外提供标准的微服务接口。低代码引擎中:可视化设计器、DSM编译器、DevOps等多个组件通过,VFS驱动工具访问VFS存储应用,并相互感知文件变化协同服务。
(1)OneCode-VFS 功能组成
(2)OneCode-VFS 基础服务功能
(3) VFS-低代码应用存储服务
三,OneCode-VFS基础功能设计
(1)存储功能总体设计
添加图片注释,不超过 140 字(可选)
(2)开放协议支持
(3)Storage存储系统设计
四,低代码应用支撑
(1)web静态代理
(2)用户工程支持
(3)模板预定义
设计器插件组件库
出码模板库
插件库
五,DSM编译服务支持
(1)OneCode 项目生命周期
(2)研发知识库
模型库可视化
逻辑可视化
添加图片注释,不超过 140 字(可选)
代码补全应用