维搭-星云图形中台设计理念

220 阅读5分钟

简介

维搭-星云图形中台(简称“星图”)是星云平台的“孪生兄弟”。在开发星云图形低代码时,我们提出了将相关功能以中台思路进行设计,独立成一个系统的构想。该系统通过中台对接的方式,允许第三方系统与其集成,而星云平台则作为该系统的一个客户。这种设计不仅能够满足星云平台图形引擎的功能需求,还能将图形低代码产品化,实现独立运作。通过与更多第三方平台的对接,星云图形中台可以赋能这些平台,提供图形低代码的能力,进一步拓展其应用场景。

优势

星云图形中台的最大优势在于,第三方系统可以通过非常简便的方式,将星图提供的功能嵌入到自己的系统中,无需复杂的用户组织同步,也不必逐个对接繁琐的接口。只需要完成以下三步,就能将星云中台的相关页面“嵌套”到自身系统中,并以此作为自身能力对外提供服务:

(1)按照接口定义实现两个回调接口;

(2)在Web服务器上做一些路由转发;

(3)在前端配置需要使用的中台页面地址。

这种中台设计的核心理念是整体页面的嵌套,它为第三方系统对接提供了一种更加简洁、通用的思路,这种方式大大简化了与第三方系统的集成过程,提高了系统接入的效率。

核心设计接下来,我们就以“星图”系统的架构设计为例,来详细剖析一下“通过整体页面嵌套来对接第三方系统”的理念。图片上图展示了星云中台的整体架构。可以看到,星云图形中台主要提供四大核心能力:三维模型、大屏展示、进度计划和资料管理。下方的用户服务层并非中台自身存储用户数据,而是充当一个代理层,负责通过回调第三方系统的相关接口来执行与用户相关的操作,例如验证token、获取用户详情等。最底层依然是高性能的国产图形引擎——黑洞引擎,为系统提供强大的图形处理能力。为了更好地理解整体页面嵌套的设计思路,我们将通过嵌套一个中台页面并展示具体的执行流程,帮助大家更清晰地把握整套中台架构的运作方式。图片

(1)用户点击嵌入在第三方系统中的某个中台页面菜单。

(2)系统通过第三方系统的Nginx将请求路由转发至中台的Nginx,并加载该页面所需的静态资源。

(3)中台页面中的JS发起请求到中台后端,注意:此时请求的域名仍然是第三方系统的域名。

(4)第三方系统的Nginx接收到请求后,将其转发至中台的Nginx。

(5)中台的Nginx将请求透传至中台的Gateway。

(6)Gateway校验token。由于token是客户系统的,且中台没有用户体系,因此中台通过代理的用户服务向第三方系统发起token校验回调,并基于返回结果构建访问上下文信息。

(7)token校验通过后,Gateway转发请求至中台的业务服务。业务服务执行相应的操作,如果涉及到从第三方系统查询信息(如用户信息),则通过回调方式获取。

(8)中台完成请求处理并返回结果。

这套中台设计思想的关键点在于:

前端接入:第三方系统的前端只需通过iframe嵌套页面或采用微前端方式接入中台页面,无需关注每个页面的具体业务逻辑。

实现token校验接口:中台定义了标准的token校验接口,第三方系统实现该接口,确保用户请求的合法性,并生成上下文信息。

实现通用的数据获取接口:中台定义了需要从第三方系统获取数据的通用接口(例如,展示大屏的创建者姓名),在中台开发时并不明确对接哪些第三方,接口通用性保证了中台与各方系统的兼容性。第三方系统在集成时,只需实现这些通用接口即可。

配置路由转发:在第三方系统的Web服务器(通常是Nginx)上配置路由转发,设置相关的location规则,将请求转发至中台的Nginx进行处理。

总结

这篇文章主要是给大家介绍一种以页面为单位来快速实现与第三方系统对接的中台解决方案,不仅仅局限于我们的图形低代码场景,是一种通用的解决方案。如果您想了解具体的对接步骤可以留言或者私聊我,咱们一起探讨。

我是维搭小刘,期待与您一起交流探讨。