嵌入式BI作为专业增强应用软件数据分析和可视化能力的BI工具,自诞生以来就被越来越多的应用软件厂商所采用,不仅能够在其自有ERP、CRM、MES、OA、Web网站等各种软件产品中进行嵌入,在其他各行业的定制开发、系统集成项目中也发挥出更大的价值。嵌入式BI与传统BI相比,在开发技术要求和技术实现上,有着更高的技术要求。

一、嵌入式BI的技术蓝图

具体到嵌入式BI的落地应用,需要从4个层面去着手。他们分别是应用层面,分析层面,用户权限以及数据层面。同时,每一个层面又有多个点值得考虑,有多种方式可以采纳。

1、 应用层

首先从应用层来看,可以将分析的结果通过IFrame或者DIV,嵌入到目标系统中,对于更复杂的业务系统,需要最终的用户直接参与到分析的设计过程中,可以将设计器也集成进去。从整个系统的应用来讲,可以通过API以及OEM的定制服务,从安装包开始,直至集成的最终产物的行为和外观进行深度的定制,和目标系统在整个生命周期融为一体。

2、 分析层

BI分析的层面来看,除了将分析的结果以可视化的方式嵌入到目标系统中,我们还可以提供自服务的分析方式,对于高级的用户来讲,可以非常灵活的对自己的业务系统的数据进行探索和分析,为自己的商业决策提供依据。更进一步,还可以在自助式分析的基础提供AI的支持,让分析的过程更加准确和智能。

3、 权限层

要实现嵌入式BI,就无法割裂用户和数据的关系。一旦关联用户和数据,你就不得不考虑用户数据的敏感性、隔离性。尤其是对于SaaS这样的应用系统,你的产品可能有多个租户在同时使用。你肯定希望这些数据是隔离的,这样,即便是同样的一个BI设计很可能在不同的用户看来它的结果是不一样的。所以你需要能够提供能够快速对接的能力,把嵌入式BI的账务系统和目标系统进行快速的对接,然后数据能够基于用户的角色,组织去做过滤。

另外,目标系统可能已经采用一些常用的生产力工具比如说钉钉,微信,还有其他的工作流程管理工具来管理自己的业务。所以和这些工具的集成也是一个常见的场景。

4、 数据层

最后一个层面就是数据的集成。传统的BI分析是将目标系统的数据抽取出来,转换,并放到数据仓库中,然后进行分析。这是一个重要的分析方式,但是这样做通常对资源的消耗比较大,并且时效性不强。直连分析能力可以很好地解决时效性问题。

随着技术的进步,工业4.0、工业物联、数字城市以及数字园区推进,各种IOT的设备以及传感器的引入,基于实时的流式数据的分析变得越来要重要,所以基于传统关系型数据库数据,以及数据仓库的分析同时还能够引入对于实时的各种监控数据和采集的流式数据进行分析会有非常广阔的应用前景。

二、嵌入式BI面临的主要挑战

嵌入式BI要全面满足应用软件各种嵌入式数据分析的需求,设计到各种各样复杂的场景。因此在具体实现嵌入式BI落地时,存在诸多技术挑战。

1、 开发技术多元化

开发技术本身是多元化的。需要集成的目标系统可能是用Java,Python,PHP开发的。它的技术栈和分析系统的技术栈完全不一样。所以BI系统需要考虑如何消除技术栈差异带来的障碍。

2、 部署方式多元化

产品最终的部署方式也不一样,不同的产品可能需要部署在不同的操作系统上,比如Windows或者Linux,有些用户希望部署到云上的Web App,有些用户又因为安全或者时效的原因必须部署在公司内部,有些用户需要用docker容器部署,有些又会使用K8s.所以要和这些产品进行集成,因此BI系统本身必须具有非常灵活的集成和部署能力。

3、 个性化定制

个性化的定制,就是我们需要将嵌入式BI部分进行定制,嵌入后让他看起来和目标系统有着相似的行为,外观上有一致性,不会让用户感觉BI的模块和组件和目标应用系统有明显的差异。

4、 数据环境复杂

数据环境也相当复杂的,每个用户采用的数据存储和管理,以及数据运用的方式都不一样。可能大部分的用户使用的是 Sql server, mysql, Oracle这一类传统的关系型数据库.而有些用户会使用一些大型的数据仓库,比如ClickHouse, Vertica, Hana. 还有些用户可能会使用的MongoDB, Redis这一类的NoSQL数据库去存储数据。更有甚者,近来这些IOT或者是各种传感器数据所的带来的挑战,就是将数据以数据流的形式去推送。

电脑的屏幕截图 中度可信度描述已自动生成

三、如何应对嵌入式BI技术挑战

为了向客户提供功能全面的嵌入式BI工具,Wyn Enterprise产品研发团队在研发时充分考虑了各种场景,并设计了科学的实现方案。

1、 对前端可视化的内容提供全方位的集成能力

Wyn Enterprise提供了几乎所有视图和设计器的集成能力。当你去做深度的集成的时候,这些分析过程中使用的数据源的设计器、数据集的设计器、数据建模,然后仪表板设计器和报表设计器都可以完全嵌入到您的应用系统中去。最终用户完全可以不依赖Wyn Enterprise本身的站点或者页面,非常容易地把BI所用到的全部功能集成在自己的应用系统中。

门户集成

可以将Wyn Enterprise的整个门户嵌入到目标客户系统中,作为目标系统的子系统。

电脑萤幕画面 描述已自动生成

设计器集成

当需要做深度的集成的时候,分析过程中使用的数据源的设计器、数据集的设计器、数据建模、仪表板设计器和报表设计器完全都可以嵌入到第三方的应用系统中,最终用户完全可以不依赖于Wyn Enterprise本身的站点或者页面,而非常容易地把BI所用到的全部功能集成在自己的应用系统中。

DIV交互式深度集成

当你的应用系统很复杂,或对集成有更高的要求时,那么传统的IFrame集可能就满足不了你的要求。比如,你可能需要你的页面元素和这个BI系统产生一些交互,你也希望这个分析系统的组件里面产生的各种数据的变更刷新要能够影响外部应用。

这些深度的交互能力是传统的IFrame无法去完成的。这时候我们就需要用到DIV的集成。

众所周知,葡萄城是全球领先的软件开发技术和低代码平台提供商,我们在这个行业经营了40多年,有着非常深厚的积淀。所以当我们设计我们的嵌入式BI产品的时候,我们所有的组件和视图完全是基于控件的这种开发理念来做的,BI的每一个元素都有清晰的组件定义、属性、方法,完整的生命周期以及相应的事件的规划。所以,对于开发人员来讲,如果他希望能够非常深度的将这些可视化的组件集成到自己的页面或者产品中去,那么需要做的事情非常简单,就是把这些组件当做其他普通控件一样,比如说table,输入框样,只需要简单的引用对应的Javascript和CSS的文件,然后你可以用JavaScript动态的去创建,这样的做法,给用户带来了极大的灵活性。

场景1:集成单个图表

场景2:与外部业务系统的交互

场景3:在原生系统页面中实现多个图表的重新布局以及互动分析

2、 提供不同层次的可视化组件定制能力

数据的分析结果,最终需要用各种各样的可视化组件去呈现,Wyn本身提供了非常丰富的可视化组件。但是如果你的业务需要更加特殊的一些可视化的组件的话。我们也提供了非常规范和清晰的API,可以使用这些工具创建定制化的可视化组件,并且这些组件基本上和内置的组件具备同样的能力。这意味着定制化组件也可以和其他组件产生联动,产生交互过滤,甚至是钻取。可视化插件机制,可以实现任意个性可视化的需要。

提供丰富的、清晰规范的API接口,并且,可视化插件与内置可视化组件共享相同的一套开发逻辑。

提供便捷的SDK工具箱,降低了插件开发的技术难度,提高了标准化程度,同时,可以与外部组件进行数据交互。

3、 提供丰富的Web API,全面集成管理和运维功能

除了可视化的部分,你还需要API支持,因为有时候,可能并不需要把所有的可视化功能全部都引入到系统里面,但是应用系统和BI系统之间的交互是必不可少的。在Wyn系统里边我们提供了两种方式的API,一种方式是GraphQL, 稍后我会详细的去讲为什么要使用GrahpQL, 另外一种是传统的Restful API。

当然这两种API并不是相互冗余的,而是说他们具有完全不同的目的.

使用这些API, 你可以进行用户,组织,角色,权限的管理,也可以进行各种文档的管理,最后包括你的运维中的一些过程也可以通过API来完成,比如批量的导入导出、批量的部署等等,这些功能基本上涵盖了所有需要集成的业务。

灵活易用的GraphQL API,快速实现数据的集成

GraphQL是一个新兴的技术,也就是最近几年由Facebook公司提出的这样的一个API的一个规范和框架。尽管开发GraphQL的API比Restful API 要复杂的多,你不得不去解决N+1问题,小心地调教性能。但是我们坚持用GraphQL去完成我们的API开发。 这是因为GraphQL API确实能给我们以及客户带来很多好处。

首先,Restful API是用不同的URL路径来标识和区分系统中的资源,然后用不同的HTTP方法来标识在这些资源上的动作。所以, 你需要记住大量的URL。而使用GraphQL, 你就只用记住一个URL,无论是增删改查,请求的地址总是相同的。这非常方便我们的用户用来进行系统的集成。

四、嵌入式BI技术的发展趋势

伴随着大数据、物联网、人工智能、5G等新技术的发展,嵌入BI在开发技术和市场需求方面,越来越和前沿技术深度融合。特别是在智能制造领域和人工智能领域,都有各自前瞻的需求。

1、实时分析

与IoT、5G技术的完美结合,嵌入式BI将会嵌入到更多行业应用中,比如智慧工厂、MES4.0、智能建筑、智慧城市等对数据实时性要更高的数据分析和可视化领域中

2、智能分析

从技术上让数据分析更加简单,通过AI、ML、NLP等技术将嵌入式BI从自助分析带入智能分析时代,进而让各行各业的应用系统直接具有AI数据分析能力

嵌入式BI与前沿技术的结合,将大大增强嵌入式BI赋能软件公司的能力。嵌入式BI将帮助软件公司在大数据时代,塑造新的技术竞争力。