Cómo construir una plataforma analítica híbrida basada en SAP Analytics Cloud y sistemas locales de la empresa

imagen



Los sistemas analíticos continúan evolucionando. Según estimaciones de Gartner, el mercado mundial de plataformas de BI y aplicaciones analíticas superará los 22.800 millones de dólares a finales de este año. En los últimos años, las llamadas herramientas de autoservicio han pasado a primer plano, lo que permite a los usuarios y analistas empresariales crear paneles interactivos sin involucrar a TI. equipos. Al mismo tiempo, las empresas están comenzando a buscar cada vez más herramientas analíticas basadas en la nube que ayudan a construir una arquitectura bimodal y añaden flexibilidad al panorama de TI de la empresa.



Escribimos mucho aquí y aquísobre nuestra solución SAP Analytics Cloud (SAC), que está diseñada para un análisis de datos interactivo y flexible. Hoy hablaremos de una característica más de SAC, concretamente sobre el modelo híbrido del trabajo de la solución con los sistemas locales de la empresa.



¿Por qué es importante el modo en vivo?



Al utilizar plataformas en la nube, surge la pregunta sobre la seguridad del trabajo y la transferencia de datos al sistema analítico. La tecnología de conexión en vivo le permite crear paneles utilizando SAP Analytics Cloud sin transferir datos comerciales a la nube, lo que puede garantizar la seguridad de los datos dentro del esquema corporativo de la empresa.



Como escribimos anteriormente, SAC combina 3 funcionalidades clave para trabajar con datos: BI, planificación y análisis avanzado utilizando métodos de aprendizaje automático. Y, por supuesto, es conveniente que se trate de una herramienta SaaS BI que no requiere implementación local, lo que le permite crear cuadros de mando y analizar información sin instalar ningún programa en la computadora del usuario. El trabajo se realiza en el navegador y las actualizaciones del sistema son automáticas.



SAP Analytics Cloud le permite conectarse a fuentes en dos formatos diferentes, como se muestra en la Figura 1:



  1. En el modo de importación, cuando los datos se cargan en el sistema analítico y se pueden actualizar según un programa. Aquí podemos utilizar el conjunto completo de capacidades del sistema en términos de visualización y análisis de datos, planificación y análisis predictivo.
  2. En el modo en vivo, cuando no hay carga de datos en la nube, y vemos en el tablero los datos reales del sistema de origen en el momento en que se abre el informe. Esta conexión habilita la mayor parte de la funcionalidad de análisis de sistemas avanzados y BI. Es importante que este conjunto de funciones se actualice periódicamente.


imagen

Figura 1. Tipos de conexión disponibles



Las fuentes de datos para este modo pueden ser:



  • SAP HANA (en la nube o local). En este caso, SAP Analytics Cloud genera datos de vistas de cálculo
  • SAP BW / 4HANA y varias versiones de SAP BW - Consultas BW / BEx
  • SAP S / 4HANA - Vistas CDS
  • SAP Universe - Universo BO creado con la herramienta de diseño de información
  • SAP BPC Embedded - BPC Query (en este caso, SAP Analytics Cloud puede actuar no solo como una herramienta de salida de datos, sino también como una interfaz de entrada de datos para fines de planificación en BPC)
  • SAP Data Warehouse Cloud - Vistas analíticas


Las versiones de sistemas compatibles para el trabajo de conexión en vivo se dan aquí .



¿Cómo funciona Live Connection?



Conexión en vivo: interacción directa entre el navegador y la fuente de datos. Esto se ve claramente en el diagrama de la Fig.2. Es el navegador el componente central de todas las interacciones: genera solicitudes para recibir datos de la fuente, así como metadatos de SAP Analytics Cloud a través de Javascript. Luego, la información recibida se combina dentro del informe en la página del navegador, donde está abierta la dirección web del inquilino de SAP Analytics Cloud.



imagen

Figura 2. Esquema de conexión en vivo



Esta conexión se basa en el mecanismo CORS (intercambio de recursos de origen cruzado), que le permite solicitar recursos limitados en una página web de otro dominio fuera del dominio del que se obtuvo el primer recurso. Es decir, puede solicitar datos de varios recursos web dentro de una sola página del navegador. Al mismo tiempo, los datos comerciales no abandonan la red corporativa y se almacenan de manera confiable en una fuente existente. El navegador interactúa directamente con SAP Analytics Cloud, Identity Provider (servidor de autorización confiable) y todas las fuentes de datos conectadas. Funciona con tres tipos de conexiones:



  • Las solicitudes de obtención / publicación del navegador a SAP Analytics Cloud son para metadatos.
  • Las solicitudes de obtención / publicación del navegador al servidor de autorización son para el protocolo SAML 2.
  • Las solicitudes Obtener / Publicar / Opciones desde el navegador a las fuentes de datos son para datos comerciales.


Si el navegador se conecta desde fuera del dominio seguro del cliente, se admiten los mecanismos de seguridad estándar (como VPN).



SAP Analytics Cloud almacena los metadatos necesarios para generar un informe.



Están completamente encriptados y transmitidos a través del canal https, y se procesan en el navegador utilizando javascript para mostrarlos en los informes. Al mismo tiempo, los objetos separados almacenan la información necesaria para generar una solicitud y crear este informe.



Que es negocio y metadatos



Imagine que tiene una tabla que contiene nombres de campo, así como los datos comerciales en sí.



Los nombres de los analistas se pasan a SAP Analytics Cloud para la generación de informes, pero los datos comerciales de las columnas de la tabla no se pasan a SAP Analytics Cloud. Analicemos esta situación usando el ejemplo de los datos de esta tabla.



imagen



Los metadatos en este ejemplo serán "ID", "Nombre del producto", "Región", "Cantidad". Y datos: tomates, Samara, 200, patatas, Volgogrado y 350.



Configuración de Live Connection



Las instrucciones para configurar una conexión en vivo usando CORS para varias fuentes se dan en help.sap.com y están disponibles en ruso, así como con capturas de pantalla en el recurso oficial sapanalytics.cloud , por lo que no tiene sentido duplicar todo el contenido.

Pero para una comprensión general, veamos cómo se ve usando el ejemplo de conectar el inquilino de SAP Analytics Cloud a SAP BW / 4HANA.



La conexión tiene ciertos requisitos, resaltemos los clave que necesitamos. La mayoría de ellos se deben a que trabajamos a través de un navegador (se recomienda Google Chrome).



  • SSL . . Google Chrome , SAC. .



    :



    • ( host)
    • Subject Subject Alternative Name DNS ( IP)
    • (Trusted Root)
    • (sha-1 )
  • El sistema SAP NetWeaver está configurado con el paquete InA (/ sap / bw / ina) para la autenticación básica.



    Puede verificar esto abriendo la siguiente URL en su navegador: https: // <Your_ABAP_System_Host> / sap / bw / ina / GetServerInfo? Sap-client = <Your_Client_ID>.



    En este caso, en lugar de <Your_ABAP_System_Host>, debe especificar el host de su sistema BW, <Your_Client_ID> - el ID de cliente (cliente).


Debería aparecer una ventana para ingresar datos de registro, después de iniciar sesión, recibirá una respuesta en forma de JSON.



Por tanto, la misma dirección puede comprobar la validez del certificado SSL.



  • Los siguientes servicios de acceso a la información (Ina / BW InA) deben estar activos en el código de transacción 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


  • Configurar las cookies de SameSite en el lado de la fuente de datos (el enfoque recomendado para el uso productivo del sistema) o en el lado del navegador del usuario.



    Esto es necesario para que Google Chrome y otros navegadores permitan el acceso entre sitios a las cookies de origen de datos de SAP local desde el sistema SAP Analytics Cloud. Debe configurar su fuente de datos local para crear cookies con atributos específicos. Sin estos ajustes, al usar una conexión de datos en vivo, se producirán errores y no será posible la operación.


La configuración en el lado BW se realiza de la siguiente manera:



En la carpeta de perfiles del sistema ABAP, cree un archivo rewrite.txt.



Agregue un script de reescritura al archivo para agregar atributos de cookies a navegadores web compatibles:



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


Después de eso, guarde el archivo e inicie sesión en la GUI de SAP con la cuenta de administrador del sistema. Vaya a la transacción RZ10 y edite el perfil DEFAULT del sistema ABAP: active la reescritura HTTP y especifique el archivo de reescritura. Para hacer esto, agregue el siguiente parámetro de perfil: icm / HTTP / mod_0 = PREFIX = /, FILE = $ (DIR_PROFILE) /rewrite.txt



Guarde los cambios y reinicie el sistema ABAP.



Después de asegurarnos de que se cumplen todos los requisitos básicos, podemos proceder a configurar CORS:

primero, debe establecer el valor del parámetro icf / cors_enabled = 1 en la transacción RZ11 como en la Fig.3.



imagen

Figura 3. Interfaz de transacción RZ11



Después de eso, agregue SAP Analytics Cloud a la lista blanca HTTP (transacción UCONCOCKPIT).

Primero, configure el estado Active Check para el parámetro Cross-Origin Resource Sharing (Fig. 4).



imagen

Figura: 4. Configuración del estado de Active Check para el uso compartido de recursos de origen cruzado



Ahora debemos especificar el host de origen: la dirección del inquilino de SAP Analytics Cloud con el que estamos configurando la conexión. Para hacer esto, vaya al modo de edición y haga clic en A lista blanca.



imagen

Figura: 5. Indicación del host de origen



E introduzca los valores.



En el campo "Regla de host", agregue la dirección del inquilino de SAP Analytics Cloud.



También debe especificar los métodos permitidos (Get, Head, Post, Options) y los encabezados permitidos:

X-CSRF-TOKEN, X-SAP-CID, AUTHORIZATION, MYSAPSSO2, X-REQUEST-WITH, SAP-REWRITEURL, SAP-URL-SESSION- ID, TIPO DE CONTENIDO, ACEPTAR IDIOMA



Y encabezados visibles:



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

Configure el resto de los parámetros como se muestra en la siguiente pantalla (Fig. 6).



imagen

Figura 6. Ventana de entrada de datos para la conexión



Ahora agreguemos una conexión en el lado del inquilino de SAP Analytics Cloud. Abrámoslo en un navegador.



En el menú, seleccione "Conexiones", luego haga clic en "+" para crear una nueva y seleccione SAP BW en la sección "Establecer una conexión a Live Data". A continuación, seleccione el tipo de conexión: directa, introduzca el nombre de su host SAP BW, puerto HTTPS y cliente, y también especifique el nombre de usuario y la contraseña para probar la conexión (Fig. 7).



imagen

Figura 7. Configuración en paralelo en SAP Analytics Cloud



Después de eso, comenzamos a crear modelos de datos basados ​​en la conexión en vivo y pasamos a la creación de registros.



Finalmente, podemos visualizar datos de consultas BW, como en la Figura 8:



imagen

Figura 8. Vista de informe en SAP Analytics Cloud



Por separado, vale la pena decir algunas palabras sobre cómo administrar el acceso y los roles de los usuarios cuando se trabaja en el modo de conexión en vivo. Al usar este modo, confiamos en las autorizaciones establecidas en el sistema fuente. Por ejemplo, cuando nos conectamos a una consulta BEx basada en la conexión creada, el sistema verifica nuestros derechos de acceso y los datos que devuelve esta consulta. En caso de falta de derechos, no podremos seguir trabajando. Para hacer esto, el sistema de origen de datos debe tener un usuario que corresponda al usuario de SAP Analytics Cloud. Su mapeo se puede realizar ingresando una contraseña de inicio de sesión al conectarse al sistema backend desde SAP Analytics Cloud, o usando SAML Single Sign-On. Este método, por supuesto, se recomienda para una aplicación productiva de la solución. La herramienta de administración de usuarios se puede integrar con Windows ADFS.



Hoy hablamos de las características del modo Conexión en vivo de SAP Analytics Cloud, así como de cómo está configurado. Ahora podemos evitar duplicar la configuración de seguridad y copiar datos comerciales en la nube.



SAC también permite a los clientes existentes de SAP BusinessObjects personalizar las conexiones a los universos creados por la empresa, preservando así la inversión y la arquitectura utilizada para el módulo de análisis de autoservicio de la empresa. Los planes para el desarrollo de productos cuando se trabaja en modo en vivo: vincular varias fuentes en vivo entre sí (por ejemplo, BW con HANA), agregar dimensiones calculadas y algunos tipos de métricas calculadas, mejorar el rendimiento y agregar funciones inteligentes. Está disponible una prueba de 90 días para familiarizarse con las características del productosoluciones.



Autor - Evgeny Gorbunov, arquitecto de soluciones empresariales de SAP CIS



All Articles