摘要:而对于组织租户账号登录的时候,就可以查询到该租户组织,比如一个子公司的所有业务系统接入的服务,提供的服务,服务运行日志信息。即可以按业务系统进行最细粒度的数据隔离,即某个业务系统的账号登录,就只能看到该业务系统接入的服务,订购和消费的服务,查询该业务系统提供服务和消费服务的服务日志信息。

对于集成平台或ESB服务总线,可以理解为PaaS技术平台的一部分,而对于PaaS平台而言,我们谈的多租户更多的是谈接入的业务系统,每个业务系统就是一个独立的租户,可以拥有独立的资源配置,并实现租户间的数据隔离。今天重新思考SOA管控平台的多租户发现考虑上有欠缺。

即在我们是谁集团+集团下属多个子公司这种大集成场景的时候,集成平台的租户不仅仅是集团或子公司的各个业务系统,还有一层租户就是类似SaaS应用中的租户,即集团或各个子公司。这个租户本身就是业务组织上面的概念,在整体SOA管控上也有存在的必要。

集团或子公司这层租户存在的意义就在于从业务系统的视角确实只需要关系该业务系统服务接入,服务订购,提供或消费服务情况即可。但是从组织维度,比如某一个子公司的IT管理和运维人员,往往就需要看到整个子公司的所有业务系统提供或消费服务的情况。

即我们在进行资源配置的时候,既可以按最小粒度的业务系统进行资源配置,也可以按照租户的粒度来来进行资源配置。当然也可以将多个租户归类到一个应用域进行资源配置。这样可以确保各个租户之间的相互不受影响。而实际上我们当前的项目实施也采用了类似的应用域划分方式进行资源配置和资源隔离。

其次在数据隔离层面。即可以按业务系统进行最细粒度的数据隔离,即某个业务系统的账号登录,就只能看到该业务系统接入的服务,订购和消费的服务,查询该业务系统提供服务和消费服务的服务日志信息。而对于组织租户账号登录的时候,就可以查询到该租户组织,比如一个子公司的所有业务系统接入的服务,提供的服务,服务运行日志信息。

比如对于集团和子公司,当集团管理员账号登录的时候则子公司和子公司业务系统都是外部组织和用户,而当子公司管理员登录的时候则是子公司视角,这个时候集团反而是外部组织和外部系统。类似子公司管理员更关心的是自己所在的子公司提供了哪些服务接口,本身有消费和调用了哪些外部服务接口。在租户之上,应该还有全局的系统管理员,即对于全局系统管理员而言,就可以查询到所有的组织,所有的业务系统接入服务,消费服务的数据。

数据隔离上面既包括了业务系统级别的数据隔离,又包括了组织间的数据隔离,这些数据隔离包括了服务元数据等静态数据,也包括了服务调用日志信息等动态数据信息。当有了组织租户概念后,就可以设置组织租户级的管理员账号,即该管理员只能对该组织接入的系统,接入的服务,服务元数据等信息进行定义和维护,而不能对其它组织接入服务数据进行维护。这样就进一步实现了组织租户级别的数据隔离。

相关文章