本系列是的无代码开发平台是基于元数据模型开发的。无代码平台是基于低代码开发平台构建的,所以本节先澄清一些基本低代码开发的一些基本概念和设计思路,然后简单介绍元数据模型的概念。本系列的目标是利用元数据模型实现一个低代码和无代码开发平台。
低代码的概念没有标准,一般所谓低代码更针对业务开发来讲。一般特点是可视化,目的就是提升专业人员的开发效率,其实脚手架,公司内部的高度集成中间件,以及包括以往的快速开发工具等等在某种程度上我们都可以称之为低代码工具。然而要称之为低代码开发平台,普遍意义的认知是一种平台软件,人们能通过它提供的图形化配置功能,快速配置出满足各种特定业务需求的功能软件。它可简化软件开发过程、提高生产率、缩短软件交付周期,并且系统稳定性较好只要经过简单测试即可交付使用,最终降低软件开发成本。
普通开发平台一般是通过程序员编写程序来实现软件的,对技术要求比较高,不适合业务人员实现,且软件开发效率比较低、周期比较长、成本高。如果是这个平台怼技术要求越低,业务分析人员某种程度上如果也能完成一定意义的业务开发,这种平台就基本具备了无代码平台的能力。
当然,任何事物都有其利弊,对于低代码平台来讲,灵活性和效率是个悖论,关于各类低代码的实现原理以后会专门的章节展开,这里不做具体的赘述。低代码分为就是前端展现和后端展现,所以前后端都需要权衡各类利弊,才能构建一个适合自己的低代码平台。为什么做低代码后又实现无代码呢,这要看未来低代码平台的主要两个走向:
偏向行业应用无代码:
偏向开发公司低代码:
所以如何平衡好这些优缺点,特别是针对不同的用户群体做到适配,是考验设计和开发平台的能力。
另外,这里之所以选择基于元数据来进行平台的设计与开发,原因有三个:
一)实践原因,驰骋工作流这二十多年来能够维护这么多客户以及这么多客户的多变需求,都是基于平台的底座来构建的,驰骋工作流的技术平台的是经过千锤百炼的;
二)关于业务及规则的多边性,比如用户动态的增加字段,规则,显然结构化的制式的程序不能响应,而如果能满足对规则的灵活,元数据是有优势的;
最后,简单说一下什么是元数据,元数据被定义为:描述数据的数据,对数据及信息资源的描述性信息。
元数据(Metadata)是描述其它数据的数据(data about other data),或者说是用于提供某种资源的有关信息的结构数据(structured data)。元数据是描述信息资源或数据等对象的数据,其使用目的在于:识别资源;评价资源;追踪资源在使用过程中的变化;实现简单高效地管理大量网络化数据;实现信息资源的有效发现、查找、一体化组织和对使用资源的有效管理。 元数据的基本特点主要有:
a)元数据一经建立,便可共享。元数据的结构和完整性依赖于信息资源的价值和使用环境;元数据的开发与利用环境往往是一个变化的分布式环境;任何一种格式都不可能完全满足不同团体的不同需要;
b)元数据首先是一种编码体系。元数据是用来描述数字化信息资源,特别是网络信息资源的编码体系,这导致了元数据和传统数据编码体系的根本区别;元数据的最为重要的特征和功能是为数字化信息资源建立一种机器可理解框架。
以上是百度百科的解释,通俗的说是规则的规则,我们以后通过具体的例子就可以很清楚搞懂。另外说明一下,以后我们后台存储使用的是关系数据库(无代码部分有可能会用MongoDB),因为毕竟目前业务开发人员还是以关系数据库为主。由于元数据也是数据,因此可以用类似数据的方法在数据库中进行存储和获取。如果提供数据元的组织同时提供描述数据元的元数据,将会使数据元的使用变得准确而高效。用户在使用数据时可以首先查看其元数据以便能够获取自己所需的信息。
元数据模型允许模型灵活变化,规则、数据库结构、操作界面流程和功能事先也都不确定。因此,基于元数据模型的低代码开发平是一种端到端的软件实现方案,从配置模型开始,到配置规则、数据库结构、流程、界面和功能,都具有极大的灵活性,不需要程序开发即可实现软件功能。
PS: 1)平台内容会放在Gitee不断更新迭代;2)欢迎各位加入平台的升级开发(基于驰骋工作流技术平台重构)。