先自我介绍一下哈,本人拥有17年的IT服务经验。从2011年开始从事Salesforce项目咨询与实施工作。最近几年呢,我一直都在研发一些自己的产品,同时也给一些大厂提供一些咨询服务。所以我自认为对Salesforce平台的产品与功能,以及其底层的架构与设计思想还是研究得比较深的。
我打算分几期的篇幅,来具体探讨一下这个平台底层架构的设计原理,其中我也会加入自己的一些思考。因为Salesforce的架构是十几年之前做的,现在的环境以及各种新技术与框架已经发生了比较大的变化。为了方便理解,我简化了一些比较复杂的概念,只保留了最核心的概念与原理。
说起低代码平台,我觉得首先要讲两个原理:一个是多租户,另外一个是元数据驱动。
多租户
简单来说,就是所有客户(租户)的系统都运行在一台服务器、一个数据库、一套代码上。当然我是把这个概念简化了,现实情况往往会更复杂,后续我们会把这一部分补回来。
元数据驱动
我们大家都知道,业务数据指的是客户、联系人、业务机会、合同等这类跟业务发生关联的数据。而元数据则指的是对象,字段,页面布局,验证规则,工作流等这类定义应用本身的数据。这也是低代码平台相对于传统应用底层数据结构的最大区别。传统应用底层数据库都是实体死表,而低代码平台为了应用程序的可配置性,全部都是使用的活表。
多租户的实现原理
多租户有时候听起来比较玄乎,但是我觉得它的实现原理其实非常简单。主要是有2张表:User 和 Organization。User表记录所有客户(租户)的所有用户,除了Username、