如何基于SAP Analytics Cloud和公司本地系统构建混合分析平台

图片



分析系统不断发展。根据Gartner的估计,到今年年底,BI平台和分析应用程序的全球市场规模将超过228亿美元。团队。同时,公司开始越来越关注基于云的分析工具,这些工具可帮助构建双峰架构并为公司的IT环境增加灵活性。



我们在这里这里写了很多关于我们的解决方案SAP Analytics Cloud(SAC),该解决方案旨在进行交互式,灵活的数据分析。今天,我们将讨论另外一个SAC功能,即解决方案与公司本地系统的混合模型。



为什么实时模式很重要?



使用云平台时,会出现有关工作安全以及将数据传输到分析系统的问题。实时连接技术使您可以使用SAP Analytics Cloud创建仪表板,而无需将业务数据传输到云中,从而可以保证公司公司范围内数据的安全性。



正如我们之前所写,SAC结合了3个用于处理数据的关键功能:BI,计划和使用机器学习方法的高级分析。当然,这是一个不需要本地部署的SaaS BI工具,非常方便,使您可以创建仪表板和分析信息,而无需在用户计算机上安装任何程序。该工作在浏览器中完成,系统更新是自动的。



SAP Analytics Cloud允许您以两种不同的格式连接到源,如图1所示:



  1. 在导入模式下,将数据加载到分析系统中并可以按计划更新时。在这里,我们可以在数据可视化和分析,计划和预测分析方面使用全套系统功能。
  2. 在实时模式下,当没有数据上传到云时,我们在仪表板上看到打开报告时来自源系统的实际数据。此连接启用大多数BI和高级系统分析功能。定期更新此功能集很重要。


图片

图1.可用的连接类型



此模式的数据源可以是:



  • SAP HANA(云或本地)。在这种情况下,SAP Analytics Cloud从“计算”视图输出数据
  • SAP BW / 4HANA和许多SAP BW版本-BW / BEx查询
  • SAP S / 4HANA-CDS视图
  • SAP Universe-使用信息设计工具创建的BO Universe
  • SAP BPC Embedded-BPC查询(在这种情况下,SAP Analytics Cloud不仅可以充当数据输出工具,还可以充当BPC中用于计划目的的数据输入接口)
  • SAP数据仓库云-分析视图


这里 提供了与实时连接工作兼容的系统版本



Live Connection如何工作?



实时连接-浏览器和数据源之间的直接交互。从图2的图中可以清楚地看到这一点。浏览器是所有交互的主要组件:它生成请求以从源接收数据以及通过Javascript从SAP Analytics Cloud接收元数据。然后,将接收到的信息合并到浏览器页面上的报告中,在该页面上将打开SAP Analytics Cloud租户的网址。



图片

图2.实时连接方案



此连接基于CORS(跨域资源共享)机制,使用该机制,您可以从获取第一资源的域之外的另一个域请求网页上的有限资源。也就是说,您可以在单个浏览器页面中从多个Web资源请求数据。同时,业务数据不会离开公司网络,而是可靠地存储在现有源中。该浏览器直接与SAP Analytics Cloud,Identity Provider(可信授权服务器)和所有连接的数据源进行交互。它适用于三种类型的连接:



  • 从浏览器到SAP Analytics Cloud的获取/发布请求用于元数据。
  • 从浏览器到授权服务器的获取/发布请求适用于SAML 2协议。
  • 从浏览器到数据源的“获取/发布/选项”请求用于业务数据。


如果浏览器从客户端的安全域外部进行连接,则支持标准的安全机制(例如VPN)。



SAP Analytics Cloud存储生成报告所需的元数据。



它们已完全加密并通过https通道传输,并在浏览器中使用javascript处理以显示在报告中。同时,单独的对象存储用于生成请求和构建此报告的必要信息。



什么是业务和元数据



假设您有一个包含字段名称和业务数据本身的表。



分析师名称将传递到SAP Analytics Cloud以进行报告,但表列中的业务数据不会传递到SAP Analytics Cloud。让我们使用该表中数据的示例来分析这种情况。



图片



在此示例中,元数据将为“ ID”,“产品名称”,“区域”,“金额”。和数据-西红柿,萨马拉,200,土豆,伏尔加格勒和350。



配置实时连接



help.sap.com中提供了 使用CORS为各种来源建立实时连接的说明,该说明以俄语提供,以及官方资源sapanalytics.cloud上的屏幕快照,因此没有必要复制所有内容。

但是,对于一般的理解,让我们以将SAP Analytics Cloud租户连接到SAP BW / 4HANA的示例为例。



连接有一定的要求,让我们突出显示我们需要的关键要求。其中大多数是由于我们通过浏览器进行操作(建议使用Google Chrome)。



  • SSL . . Google Chrome , SAC. .



    :



    • ( host)
    • Subject Subject Alternative Name DNS ( IP)
    • (Trusted Root)
    • (sha-1 )
  • SAP NetWeaver系统配置有InA软件包(/ sap / bw / ina)用于基本身份验证。



    您可以通过在浏览器中打开以下URL进行检查:https:// <Your_ABAP_System_Host> / sap / bw / ina / GetServerInfo?Sap-client = <Your_Client_ID>。



    在这种情况下,您需要指定BW系统的主机<Your_Client_ID>-客户端(客户端)ID,而不是<Your_ABAP_System_Host>。


登录后,将出现一个用于输入注册数据的窗口,您将收到JSON格式的响应。



因此,相同的地址可以检查SSL证书的有效性。



  • 以下信息访问服务(Ina / BW InA)必须在SICF事务代码中处于活动状态:



    /sap/bw/ina/GetCatalog
    /sap/bw/ina/GetResponse
    /sap/bw/ina/GetServerInfo
    /sap/bw/ina/ValueHelp
    /sap/bw/ina/BatchProcessing
    /sap/bw/ina/Logoff


  • 在数据源侧(为有效使用系统而推荐的方法)或用户浏览器侧配置SameSite Cookies。



    Google Chrome和其他浏览器需要此功能,以允许从SAP Analytics Cloud系统跨站点访问本地SAP数据源cookie。您需要配置本地数据源以创建具有特定属性的cookie。没有这些设置,使用实时数据连接时将发生错误,并且无法进行操作。


在BW端的配置如下:



在ABAP系统配置文件文件夹中,创建rewrite.txt文件。



向文件添加重写脚本,以向兼容的Web浏览器添加cookie属性:



SetHeader sap-ua-protocol ""

if %{HEADER:clientprotocol} stricmp http [OR]
if %{HEADER:x-forwarded-for-proto} stricmp http [OR]
if %{HEADER:forwarded} regimatch proto=http
begin
    SetHeader sap-ua-protocol "http"
end

if %{HEADER:clientprotocol} stricmp https [OR]
if %{HEADER:x-forwarded-for-proto} stricmp https [OR]
if %{HEADER:forwarded} regimatch proto=https
begin
    SetHeader sap-ua-protocol "https"
end

if %{HEADER:sap-ua-protocol} strcmp "" [AND]
if %{SERVER_PROTOCOL} stricmp https
begin
    SetHeader sap-ua-protocol "https"
end

if %{RESPONSE_HEADER:set-cookie} !strcmp "" [AND]
if %{HEADER:sap-ua-protocol} stricmp https [AND]
if %{HEADER:user-agent} regmatch "^Mozilla" [AND]
if %{HEADER:user-agent} !regmatch "(Chrome|Chromium)/[1-6]?[0-9]\." [AND]
if %{HEADER:user-agent} !regmatch "(UCBrowser)/([0-9]|10|11|12)\." [AND]
if %{HEADER:user-agent} !regmatch "\(iP.+; CPU .*OS 12_.*\) AppleWebKit\/" [AND]
if %{HEADER:user-agent} !regmatch "\(Macintosh;.*Mac OS X 10_14.*(Version\/.* Safari.*|AppleWebKit\/[0-9\.]+.*\(KHTML, like Gecko\))$"
begin
    RegIRewriteResponseHeader set-cookie "^([^=]+)(=.*)" "$1$2; SameSite=None; Secure"
    RegIRewriteResponseHeader set-cookie "^([^=]+)(=.*; *SameSite=[a-zA-Z]+.*); SameSite=None; Secure" $1$2
    RegIRewriteResponseHeader set-cookie "^([^=]+)(=.*; *Secure.*); Secure" $1$2
End


之后,保存文件并转到系统管理员帐户下的SAP GUI。转到事务RZ10并编辑ABAP系统的DEFAULT概要文件:激活HTTP重写并指定重写文件。为此,请添加以下配置文件参数:icm / HTTP / mod_0 = PREFIX = /,FILE = $(DIR_PROFILE)/rewrite.txt



保存更改并重新启动ABAP系统。



确保满足所有基本要求之后,我们可以继续配置CORS:

首先,您需要在RZ11事务中设置icf / cors_enabled = 1参数的值,如图3所示。



图片

图3. RZ11事务界面



之后,将SAP Analytics Cloud添加到HTTP白名单(UCONCOCKPIT事务)。

首先,为“跨域资源共享”参数设置“活动检查”状态(图4)。



图片

数字: 4.设置跨域资源共享的活动检查状态



现在,我们需要指定原始主机-与之建立连接的SAP Analytics Cloud租户的地址。为此,请进入编辑模式,然后单击“白名单”。



图片

数字: 5.原始主机的指示



并输入值。



将SAP Analytics Cloud租户的地址添加到主机规则字段。



您还需要指定允许的方法(获取,标题,发布,选项)和允许的标题:

X-CSRF-TOKEN,X-SAP-CID,AUTHORIZATION,MYSAPSSO2,X-REQUEST-WITH,SAP-REWRITEURL,SAP-URL-SESSION- ID,CONTENT-TYPE,ACCEPT-LANGUAGE



和可见标题:



X-CSRF-TOKEN,SAP-REWRITEURL,SAP-URL-SESSION-ID,SAP-PERF-FESREC,SAP-SYSTEM。

如下图所示,设置其余参数(图6)。



图片

图6.用于连接的数据输入窗口



现在,让我们在SAP Analytics Cloud租户的侧面添加一个连接。让我们在浏览器中打开它。



在菜单中,选择“连接”,然后单击“ +”创建一个新的连接,然后在“建立到实时数据的连接”部分中选择SAP BW。接下来,选择连接类型-直接,输入您的SAP BW主机名,HTTPS端口和客户端,并指定登录名和密码以测试连接(图7)。



图片

图7. SAP Analytics Cloud中的并行设置



此后,我们开始基于实时连接创建数据模型,然后继续创建日志。



最后,我们可以可视化来自BW查询的数据,如图8所示



图片

图8. SAP Analytics Cloud中的报表视图



另外,在实时连接模式下工作时,有关管理用户访问权限和角色的几句话值得一提。使用这种模式,我们依赖于源系统中指定的授权。例如,当我们基于创建的连接连接到BEx查询时,系统将检查我们的访问权限和该查询返回的数据。如果缺少权利,我们将无法继续工作。为此,数据源系统必须具有与SAP Analytics Cloud用户相对应的用户。从SAP Analytics Cloud连接到后端系统时,或使用SAML单一登录,可以通过输入登录密码来执行其映射。当然,建议将此方法用于解决方案的有效应用。用户管理工具可以与Windows ADFS集成。



今天,我们讨论了SAP Analytics Cloud Live Connection模式的功能及其配置方式。现在,我们可以避免复制安全设置并将业务数据复制到云。



SAC还允许现有的SAP BusinessObjects客户定制与公司创建的Universe的连接,从而保留了公司自助服务分析模块所使用的投资和体系结构。在实时模式下工作的产品开发计划中:将多个实时源彼此链接(例如,带有HANA的BW),添加计算的尺寸和某些类型的计算的指标,提高性能并添加智能功能。可进行90天的试用,以熟悉产品功能解决方案。



作者-Evgeny Gorbunov,SAP CIS业务解决方案架构师



All Articles