本文是元数据驱动低代码系统的三篇,

前两篇:

元数据驱动低代码系统的革命:未来已来

元数据驱动低代码系统的革命-数据库篇

业务逻辑的可视化设计是低代码系统的技术难点之一。

在传统的纯代码开发过程中,通常不会涉及到这一部分,

所以,各低代码厂商在业务逻辑可视化设计领域,

采用了不同的设计思想,

也为开发者提供了差异化的体验。

随着行业的发展,现在零代码低代码已经分为了两个领域,

二者商业模式截然不同,厂商和企业用户需要对此有明确的认识。

图片

低代码代表厂商:用友、葡萄城、得帆云等,

零代码代表厂商:轻流、简道云、明道云等。

低代码使用门槛较高,价格较高、业务场景支持广泛,

零代码使用门槛低,价格便宜、业务场景支持有限。

所以各企业用户需要根据自己的实际情况来选择对应的产品,

以避免没必要的成本消耗。

如何使用元数据来描述业务逻辑呢?

不同厂商的解决方案不同。

将元数据以设计好的结构描述业务逻辑,

这种约定好的结构,

往往会被人们赋予一个高大上的名称:“协议”。

下面,将以朱雀BOS的方案举例说明。

图片

上图是朱雀BOS的系统架构,

朱雀BOS服务端围绕着可视化配置API接口为中心展开。

图片

低代码平台会根据自身的能力边界,

将用来承载业务逻辑的要件(也称业务能力)进行抽象,

然后转换为元数据定义。

例如:数据对象、文件上传、分布式事务、表达式计算等等。

开发者通过可视化界面操作这些要件,

系统将这些要件配置信息保存为元数据。

运行时通过加载这些元数据,

还原出业务逻辑处理的规则和实现方式,

并最终形成可执行程序。

图片

具体而言,低代码平台用来描述业务逻辑的元数据,

通常由若干有顺序的“操作”构成,

每个操作中包含操作类型、配置参数、输入参数、输出参数等。

例如:向数据库特定数据表写入数据等操作,

使用元数据可描述为(以JSON格式展现):

{    "ApiSign": "InsertCustomer",    "ApiVersion": "1.0.0",    "ApiMethod": "Insert",    "HttpMethod": "POST",    "NeedLogin": "1",    "Authenticate": "1",    "EnableDTM": "1",    "NoticeID": "",    "PrevSQL": "",    "NextSQL": "",    "CacheKey": "",    "CacheTag": "",    "Tables": [        {            "TableSign": "sys_customers",            "TableVersion": "1.0.0",            "MainTable": "1",            "TablePrevSQL": "",            "TableNextSQL": "",            "Fields": [                {                    "FieldSign": "CustomerName",                    "FieldKeyType": "0",                    "ParamFieldType": "1",                    "DefaultValue": "",                    "SetValue": "",                    "RequiredOn": "",                    "Required": "1",                    ...                }                ...            ]            ...        }        ...    ]    ...}

上述是朱雀BOS描述一个API部分元数据样例。

API标识为:InsertCustomer,版本号为:1.0.0,

调用元数据引擎中的Insert模块,

调用这个API需要登录,需要做身份验证,

需要启用分布式事务,

操作的数据表标识为:sys_customers ,版本号为:1.0.0 ,

该数据表有个字段,字段标识为:CustomerName ,

这个字段为必填字段。

当然实际的元数据远比上述元数据复杂和丰富。

图片

图片

图片

图片

当客户的向服务端发起请求POST请求,

请求参数中携带了API所需参数,

那么元数据引擎会根据API标识和版本号,

调取API所有配置的元数据,

然后根据元数据配置对请求对业务参数进行处理。

这里我们只简单描述了写入数据的操作,

实际的低代码系统中有更多的对数据的操作,

例如:查询、更新、删除、批量新增、批量更新、批量删除、下推、映射数据、上传文件、发送通知、自定义接口等等。

不同的操作有不同的元数据“协议”。

在上一篇中“元数据驱动低代码系统的革命-数据库篇”中,

我们描述过,低代码系统中的数据对象与数据库数据表是对应关系,

所以上述API中的数据表和字段,是可以随时调整的,

甚至可以在实际的数据库中调整了数据库名称,

或者数据表名,或者字段名,

在低代码系统中只需要稍微做一下对应,

一分钟不到就可以完成,

而且对外的API可以不需要做任何调整,

也不需要重新编译、不需要重新发布,

甚至客户端都感知不到。

完全规避了纯代码开发的繁琐流程,

什么DevOps都不需要了。

当然,我们不建议在生产环境中直接进行调整,

最好的方式是在开发环境中调整和测试好,

然后将最新版的元数据发布到生产环境服务器即可。

图片

后续我们将继续讨论,

元数据如何驱动软件界面。

感兴趣的朋友不妨持续关注我们的更新,

一起探索元数据驱动低代码系统奥秘。


如果您觉得本文对您有用,建议收藏;

如果您觉得对您的朋友有帮助,请分享给他们;

如果您能点个赞,那就是对作者最大的支持。

Logo

一站式 AI 云服务平台

更多推荐