本文针对 DataEase 支持的嵌入式场景以及如何进行嵌入式对接进行了总结,通过本文您可以了解到 DataEase 是否能够满足你的应用场景需求,并可以参考本文进行嵌入式的对接。
一、DataEase 嵌入式简介,嵌入式 BI 的应用场景 {#%E4%B8%80%E3%80%81dataease-%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%AE%80%E4%BB%8B%EF%BC%8C%E5%B5%8C%E5%85%A5%E5%BC%8F-bi-%E7%9A%84%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF}
1.场景介绍 {#1.%E5%9C%BA%E6%99%AF%E4%BB%8B%E7%BB%8D}
|--------------|---------------------------| | 嵌入式应用场景 | DataEase V2 | | 是否有单独的嵌入式版本 | 支持 | | 是否支持仪表板/大屏嵌入 | 支持 | | 是否支持视图嵌入 | 支持 | | 是否支持模块嵌入 | 支持 | | 是否支持系统整体嵌入 | 支持 | | 是否支持办公软件对接 | 支持(企业微信/飞书/钉钉/国际飞书) | | 是否支持OEM白标定制 | 支持 | | 是否支持单点登录对接 | 支持(LDAP/OIDC/CAS 等标准单点协议) | | 嵌入方式 | iframe 嵌入 / div 嵌入 |
嵌入式场景:++DataEase V2 嵌入式场景介绍++。
视频版讲解,一分钟剪辑版:++两分钟带你了解DataEase嵌入式(v2版本)++
完整版:++https://live.vhall.com/v3/lives/watch/964100318++
2.嵌入式分析体验 {#2.%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%88%86%E6%9E%90%E4%BD%93%E9%AA%8C}
如果您想了解并探索如何将嵌入式分析集成到您的应用中,您可以在++嵌入式分析体验环境++中体验 DataEase 的所有嵌入式分析功能。
二、如何将 DataEase 嵌入到自己的应用系统中 {#%E4%BA%8C%E3%80%81%E5%A6%82%E4%BD%95%E5%B0%86-dataease-%E5%B5%8C%E5%85%A5%E5%88%B0%E8%87%AA%E5%B7%B1%E7%9A%84%E5%BA%94%E7%94%A8%E7%B3%BB%E7%BB%9F%E4%B8%AD}
使用嵌入式需要先部署 DataEase 企业版,如果您当前部署的是开源版,请先升级至企业版,参考:++DataEase v2 企业版安装步骤++。
1.嵌入式指导教程 {#1.%E5%B5%8C%E5%85%A5%E5%BC%8F%E6%8C%87%E5%AF%BC%E6%95%99%E7%A8%8B}
当您想要开始进行嵌入式对接时,可参考以下内容进行操作,参考文档其中包含了如何获取配置信息,以及如何进行配置,同时我们还提供了嵌入式集成的示例 demo 代码,代码中包含了所有的嵌入式场景(视图嵌入、仪表板嵌入、大屏嵌入、模块嵌入),以及 div 嵌入和 iframe 嵌入的代码,您可以参考示例代码进行开发,同时我们还提供了嵌入式开发的教学视频,您也可以参考教学视频进行学习。
参考文档:++DataEase v2 嵌入式 Demo 使用指南++
嵌入式代码示例:++DataEase 嵌入式集成的示例++
嵌入式开发视频教程:++BI 数据可视化工具嵌入开发教学++
嵌入的仪表板/大屏/视图如何与业务系统进行交互? {#%E5%B5%8C%E5%85%A5%E7%9A%84%E4%BB%AA%E8%A1%A8%E6%9D%BF%2F%E5%A4%A7%E5%B1%8F%2F%E8%A7%86%E5%9B%BE%E5%A6%82%E4%BD%95%E4%B8%8E%E4%B8%9A%E5%8A%A1%E7%B3%BB%E7%BB%9F%E8%BF%9B%E8%A1%8C%E4%BA%A4%E4%BA%92%EF%BC%9F}
业务系统指:被嵌入的第三方系统
可通过【预览初始化参数】或【预览时发送参数】配置项进行参数过滤设置,可参考【++BI 数据可视化工具嵌入开发教学++】中的场景三和场景四进行学习。
1.1 预览初始化参数 {#1.1-%E9%A2%84%E8%A7%88%E5%88%9D%E5%A7%8B%E5%8C%96%E5%8F%82%E6%95%B0}
用于初次打开嵌入的仪表板/大屏/视图时,展示参数过滤后的数据,同时,将 callBackFlag 设置为 yes 可开启 DataEase 视图点击事件参数回传,可进行数据交互;
预览初始化参数的配置格式:
{"callBackFlag":"yes","attachParams":{"org":"组织1"}}
1.2 预览时发送参数 {#1.2-%E9%A2%84%E8%A7%88%E6%97%B6%E5%8F%91%E9%80%81%E5%8F%82%E6%95%B0}
用于被嵌入的第三方系统触发过滤事件时发送的参数,通过参数过滤仪表板/大屏/视图展示的内容。
预览时发送参数的配置格式:
{"type":"attachParams","targetSourceId":"1021134077689991168","params":{"org":"组织1"}}
2.仪表板/大屏公共链接的 iframe 嵌入 {#2.%E4%BB%AA%E8%A1%A8%E6%9D%BF%2F%E5%A4%A7%E5%B1%8F%E5%85%AC%E5%85%B1%E9%93%BE%E6%8E%A5%E7%9A%84-iframe-%E5%B5%8C%E5%85%A5}
公共链接仅能以分享人的权限视角查看数据
除了通过嵌入式的方式进行嵌入对接之外,您还可以通过 iframe 的方式嵌入仪表板/大屏公共链接,通过此方式仅能嵌入完整的仪表板/大屏,且不支持用户、角色权限的数据权限控制(可通过外部参数控制数据过滤,参考:++仪表板外部参数设置++、++数据大屏外部参数设置++)。
参考文档:++仪表板分享公共链接++、++数据大屏分享公共链接++。
|------------|----------------------------------------------------------------------------------------------| | 优点 | 缺点 | | 操作简单,嵌入难度低 | 1、数据安全没保障,拿到公共链接的人都能访问仪表板/大屏的数据 2、没有数据的权限隔离,所有人看到的仪表板数据都是一样的 3、不支持视图级别以及模块级别嵌入,仅能嵌入完整的仪表板/大屏 |
3.实现统一认证的 iframe 嵌入 {#3.%E5%AE%9E%E7%8E%B0%E7%BB%9F%E4%B8%80%E8%AE%A4%E8%AF%81%E7%9A%84-iframe-%E5%B5%8C%E5%85%A5}
使用场景举例:将 DataEase 嵌入业务系统
场景一:将 DataEase 作为业务系统中的某个菜单项或子模块,菜单点击后在页面嵌套打开 DataEase 页面并操作。
场景二:将 DataEase 制作好的仪表板/大屏的预览链接嵌入业务系统,点击可免登陆访问仪表板/大屏并对访问用户实现权限控制。
参考文档:++创建仪表板预览链接++、++创建数据大屏预览链接++。
嵌入之后,访问嵌入的需要进行用户权限的认证,如果您的业务系统支持标准的单点登陆协议(如:CAS、OIDC、LDAP),可通过单点登录的方式进行认证对接,可参考第 4 节进行配置。
如果您的业务系统不支持单点登录协议的对接,也可以通过接口调用的方式进行模拟登陆对接,可参考第 5 节内容进行对接。
4.单点登录对接 {#4.%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E5%AF%B9%E6%8E%A5}
单点登录指:使用支持 OIDC 或 CAS 协议的系统作为统一登录平台,业务系统与 DataEase 全部对接同一个单点平台实现只需一次登录就可访问两个系统,即 ++单点登录(SingleSignOn,SSO)++。
DataEase 支持多种单点登录协议的对接,包括 CAS、OIDC、LDAP 等。
参考文档:++认证设置++
对接 CAS 参考知识库:++DataEase V2 对接 CAS 实现单点登陆++
对接 OIDC 参考知识库:++DataEase V2 对接 OIDC 单点登录++
对接 LDAP 参考知识库:++【安装部署】DataEase 集成对接 openLDAP 实现用户统一管理++
配置单点登录后需配置默认登陆方式,参考文档:++支持配置默认登录方式++。
对接单点登录协议后,可实现与业务系统的免登录跳转。登陆对接单点协议的业务系统后可点击跳转或打开DataEase 的页面,跳转后可自动在 DataEase 中创建对应的用户账号,且自动为用户分配默认的组织和角色权限,默认的组织和角色支持配置,参考文档:++基础设置++。
若不希望自动创建第三方用户,也可通过批量导入的方式,预先创建好对应的用户,可参考文档进行导入:++批量导入用户++。
5.模拟登陆对接 {#5.%E6%A8%A1%E6%8B%9F%E7%99%BB%E9%99%86%E5%AF%B9%E6%8E%A5}
模拟登录指:业务系统后台请求 DataEase 的登录接口,将登录成功的 Token 写入 Cookie 中,来模拟用户登录的过程,省去用户自己输入密码登录的过程。模拟登录又分同域和跨域两种方式,文档中有详细介绍。
参考文档:++DataEase V2 嵌入式模拟登录集成方案++
6.组织、角色、用户权限对接 {#6.%E7%BB%84%E7%BB%87%E3%80%81%E8%A7%92%E8%89%B2%E3%80%81%E7%94%A8%E6%88%B7%E6%9D%83%E9%99%90%E5%AF%B9%E6%8E%A5}
当您希望将自有系统中的组织和用户同步到 DataEase 中时,可通过调用DataEase API 接口的方式进行对接。
参考文档:++DataEase V2 版本如何与第三方系统进行用户、组织数据的同步对接++
对接过程中可能涉及到切换组织进行不同组织下用户或资源的管理,可参考文章:
++DataEase V2 API 接口调用指南:如何查询某个组织下的用户列表数据++
++DataEase v2 嵌入式如何切换组织操作不同组织下的资源++
7.办公软件对接-钉钉/企业微信/飞书 {#7.%E5%8A%9E%E5%85%AC%E8%BD%AF%E4%BB%B6%E5%AF%B9%E6%8E%A5-%E9%92%89%E9%92%89%2F%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%2F%E9%A3%9E%E4%B9%A6}
支持对接钉钉/企业微信/飞书/国际飞书等第三方办公软件,对接后可通过扫码登录的方式登陆 DataEase,也可以将 DataEase 集成到办公软件的工作台中,实现在工作台中免登陆访问跳转 DataEase,同时支持通过第三方办公软件接收 DataEase 的消息通知。
参考文档:++平台对接++。
8.白标定制 {#8.%E7%99%BD%E6%A0%87%E5%AE%9A%E5%88%B6}
如需进行平台显示主题、网站 logo、登录 logo、登录背景图、网站名称、sloga 和自定义页脚等外部显示设置,可参考文档:++外观配置++。
三、可能遇到的问题及解决方案 {#%E4%B8%89%E3%80%81%E5%8F%AF%E8%83%BD%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98%E5%8F%8A%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88}
当您在进行嵌入式对接时,可能会遇到一些异常情况,或许您可以在下面找到问题的解决方案。
1.功能问题 {#1.%E5%8A%9F%E8%83%BD%E9%97%AE%E9%A2%98}
参考功能手册:++通用功能++
2.配置问题 {#2.%E9%85%8D%E7%BD%AE%E9%97%AE%E9%A2%98}
DataEase V2 配置文件参数汇总,配置文件路径:安装目录/conf/application.yml
|-----------------------------|-----------------------------------------------------|------------------------------------------------------------------| | 参数名 | 值 | 备注 | | dataease.origin-list | ++http://127.0.0.1:8100++ | 跨域设置,嵌入式需配置,多个以逗号分隔。 | | dataease.http.cache | true | 默认禁用缓存,为 true 时打开。 | | server.servlet.context-path | /dataease | 默认无此配置。用于配置相对路径访问,值为 /dataease 时需要使用服务器 IP:8100/dataease/ 来访问服务。 | | dataease.login_timeout | 480 | 默认480,登录后的 Token 超时时间,登录后超过此时间不操作 Token 失效会退出登录状态。 | | dataease.default-pwd | DataEase@123456 | 默认 DataEase@123456,修改后,添加用户界面提示的默认密码对应改变。 |
3.其他问题 {#3.%E5%85%B6%E4%BB%96%E9%97%AE%E9%A2%98}
参考知识库:++DataEase 知识库++