Como construir uma plataforma analítica híbrida baseada em SAP Analytics Cloud e sistemas locais da empresa

imagem



Os sistemas analíticos continuam a evoluir. O Gartner estima que o mercado global de plataformas de BI e aplicativos analíticos ultrapassará US $ 22,8 bilhões até o final deste ano. Nos últimos anos, as ferramentas de autoatendimento ganharam destaque, permitindo que usuários de negócios e analistas criem painéis interativos sem envolver a TI. equipes. Ao mesmo tempo, as empresas estão começando a olhar cada vez mais para ferramentas analíticas baseadas em nuvem que ajudam na construção de uma arquitetura bimodal e adicionam flexibilidade ao cenário de TI da empresa.



Nós escrevemos muito aqui e aquisobre nossa solução SAP Analytics Cloud (SAC), que foi projetada para análise de dados interativa e flexível. Hoje vamos falar sobre mais uma característica do SAC, nomeadamente sobre o modelo híbrido de trabalho da solução com os sistemas locais da empresa.



Por que o modo ao vivo é importante?



Ao usar plataformas em nuvem, surge a questão sobre a segurança do trabalho e transferência de dados para o sistema analítico. A tecnologia de conexão ao vivo permite que você crie painéis usando SAP Analytics Cloud sem transferir dados de negócios para a nuvem, o que pode garantir a segurança dos dados dentro da estrutura corporativa da empresa.



Como escrevemos anteriormente, o SAC combina três funcionalidades principais para trabalhar com dados: BI, planejamento e análises avançadas usando métodos de aprendizado de máquina. E, claro, é conveniente que esta seja uma ferramenta SaaS BI que não requer implantação local, permitindo criar painéis e analisar informações sem instalar nenhum programa no computador do usuário. O trabalho é feito no navegador e as atualizações do sistema são automáticas.



SAP Analytics Cloud permite que você se conecte a fontes em dois formatos diferentes, conforme mostrado na Figura 1:



  1. No modo de importação, quando os dados são carregados no sistema analítico e podem ser atualizados de acordo com uma programação. Aqui, podemos usar o conjunto completo de recursos do sistema em termos de visualização e análise de dados, planejamento e análise preditiva.
  2. No modo Live, quando não há upload de dados para a nuvem, vemos no painel os dados reais do sistema de origem no momento em que o relatório é aberto. Essa conexão ativa a maior parte do BI e da funcionalidade de análise avançada do sistema. É importante que este conjunto de recursos seja atualizado regularmente.


imagem

Figura 1. Tipos de conexão disponíveis



As fontes de dados para este modo podem ser:



  • SAP HANA (nuvem ou local). Neste caso, SAP Analytics Cloud gera dados de visualizações de cálculo
  • SAP BW / 4HANA e várias versões do SAP BW - consultas BW / BEx
  • SAP S / 4HANA - Visualizações CDS
  • SAP Universe - BO Universe criado com a ferramenta de design de informação
  • SAP BPC Embedded - BPC Query (neste caso, SAP Analytics Cloud pode atuar não apenas como uma ferramenta de saída de dados, mas também como uma interface de entrada de dados para fins de planejamento em BPC)
  • SAP Data Warehouse Cloud - Visualizações analíticas


As versões dos sistemas compatíveis com o trabalho de conexão Live são fornecidas aqui .



Como funciona o Live Connection?



Conexão ao vivo - interação direta entre o navegador e a fonte de dados. Isso é visto claramente no diagrama da Fig. 2. É o navegador que é o componente central de todas as interações: ele gera solicitações para receber dados da fonte, bem como metadados do SAP Analytics Cloud via Javascript. Em seguida, as informações recebidas são combinadas dentro do relatório na página do navegador, onde o endereço da web do locatário SAP Analytics Cloud está aberto.



imagem

Figura 2. Esquema de conexão ao vivo



Esta conexão é baseada no mecanismo CORS (Cross-origin resource sharing), que permite solicitar recursos limitados em uma página da web de outro domínio fora do domínio do qual o primeiro recurso foi obtido. Ou seja, você pode solicitar dados de vários recursos da web em uma única página do navegador. Ao mesmo tempo, os dados de negócios não saem da rede corporativa e são armazenados de forma confiável em uma fonte existente. O navegador interage diretamente com SAP Analytics Cloud, provedor de identidade (servidor de autorização confiável) e todas as fontes de dados conectadas. Funciona com três tipos de conexões:



  • As solicitações Get / Post do navegador para SAP Analytics Cloud são para metadados.
  • As solicitações Get / Post do navegador para o servidor de autorização são para o protocolo SAML 2.
  • Solicitações Get / Post / Options do navegador para fontes de dados são para dados de negócios.


Se o navegador se conectar de fora do domínio seguro do cliente, mecanismos de segurança padrão (como VPN) são suportados.



SAP Analytics Cloud armazena os metadados necessários para gerar um relatório.



Eles são totalmente criptografados e transmitidos através do canal https, e são processados ​​no navegador usando javascript para exibição nos relatórios. Ao mesmo tempo, objetos separados armazenam as informações necessárias para gerar uma solicitação e construir este relatório.



O que são negócios e metadados



Imagine que você tenha uma tabela que contém nomes de campo, bem como os próprios dados de negócios.



Os nomes dos analistas são passados ​​para SAP Analytics Cloud para relatórios, mas os dados de negócios das colunas da tabela não são passados ​​para SAP Analytics Cloud. Vamos analisar esta situação usando o exemplo dos dados desta tabela.



imagem



Os metadados neste exemplo seriam “ID”, “Nome do produto”, “Região”, “Quantidade”. E dados - tomates, samara, 200, batatas, volgogrado e 350.



Configurando a conexão ao vivo



Instruções para configurar uma conexão Live usando CORS para várias fontes são fornecidas em help.sap.com e estão disponíveis em russo, bem como com capturas de tela no recurso oficial sapanalytics.cloud , portanto, não há por que duplicar todo o conteúdo.

Mas, para uma compreensão geral, vamos ver como é usar o exemplo de conexão do locatário SAP Analytics Cloud ao SAP BW / 4HANA.



A conexão tem certos requisitos, vamos destacar os principais de que precisamos. A maior parte delas se deve ao fato de trabalharmos por meio de um navegador (recomenda-se o Google Chrome).



  • SSL . . Google Chrome , SAC. .



    :



    • ( host)
    • Subject Subject Alternative Name DNS ( IP)
    • (Trusted Root)
    • (sha-1 )
  • O sistema SAP NetWeaver é configurado com o pacote InA (/ sap / bw / ina) para autenticação básica.



    Você pode verificar isso abrindo a seguinte URL em seu navegador: https: // <Your_ABAP_System_Host> / sap / bw / ina / GetServerInfo? Sap-client = <Your_Client_ID>.



    Nesse caso, em vez de <Your_ABAP_System_Host>, você precisa especificar o host do seu sistema BW, <Your_Client_ID> - o ID do cliente (cliente).


Deverá aparecer uma janela para inserção dos dados cadastrais, após o login você receberá uma resposta em formato JSON.



Portanto, o mesmo endereço pode verificar a validade do certificado SSL.



  • Os seguintes serviços de acesso à informação (Ina / BW InA) devem estar ativos no código de transação 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


  • Configurando Cookies SameSite no lado da fonte de dados (a abordagem recomendada para uso produtivo do sistema), ou no lado do navegador do usuário.



    Isso é necessário para o Google Chrome e outros navegadores permitirem acesso entre sites aos cookies da fonte de dados SAP local a partir do sistema SAP Analytics Cloud. Você precisa configurar sua fonte de dados local para criar cookies com atributos específicos. Sem essas configurações, ao usar uma conexão Live Data, ocorrerão erros e a operação não será possível.


A configuração no lado do BW é feita da seguinte maneira:



Na pasta de perfis do sistema ABAP, crie o arquivo rewrite.txt.



Adicione um script de reescrita ao arquivo para adicionar atributos de cookie a navegadores da web compatíveis:



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


Depois disso, salve o arquivo e faça login no SAP GUI com a conta do administrador do sistema. Vá para a transação RZ10 e edite o perfil DEFAULT do sistema ABAP: habilite a reescrita de HTTP e especifique o arquivo de reescrita. Para fazer isso, adicione o seguinte parâmetro de perfil: icm / HTTP / mod_0 = PREFIX = /, FILE = $ (DIR_PROFILE) /rewrite.txt



Salve as alterações e reinicie o sistema ABAP.



Depois de nos certificarmos de que todos os requisitos básicos foram atendidos, podemos prosseguir com a configuração do CORS:

primeiro, você precisa definir o valor do parâmetro icf / cors_enabled = 1 na transação RZ11 como na Figura 3.



imagem

Figura 3. Interface de transação RZ11



Depois disso, adicione SAP Analytics Cloud à lista de permissões HTTP (transação UCONCOCKPIT).

Primeiro, defina o status Active Check para o parâmetro Cross-Origin Resource Sharing (Fig. 4).



imagem

Figura: 4. Definindo o status de verificação ativa para compartilhamento de recursos de origem cruzada



Agora precisamos especificar o Host de origem - o endereço do locatário SAP Analytics Cloud com o qual estamos configurando a conexão. Para fazer isso, vá para o modo de edição e clique em To Whitelist.



imagem

Figura: 5. Indicação do Host de Origem



e digite os valores.



Adicione o endereço do inquilino SAP Analytics Cloud ao campo Regra do host.



Você também precisa especificar métodos permitidos (Get, Head, Post, Options) e cabeçalhos permitidos:

X-CSRF-TOKEN, X-SAP-CID, AUTHORIZATION, MYSAPSSO2, X-REQUEST-WITH, SAP-REWRITEURL, SAP-URL-SESSION- ID, TIPO DE CONTEÚDO, LINGUAGEM



DE ACEITAÇÃO E cabeçalhos visíveis:



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

Defina o restante dos parâmetros conforme mostrado na tela abaixo (Fig. 6).



imagem

Figura 6. Janela de entrada de dados para conexão



Agora vamos adicionar uma conexão no lado do inquilino SAP Analytics Cloud. Vamos abri-lo em um navegador.



No menu, selecione "Conexões", clique em "+" para criar uma nova e selecione SAP BW na seção "Estabelecer uma conexão com o Live Data". Em seguida, selecione o tipo de conexão - direta, insira o nome do seu host SAP BW, porta HTTPS e cliente, e também especifique o login e a senha para testar a conexão (Fig. 7).



imagem

Figura 7. Configuração lado a lado no SAP Analytics Cloud



Depois disso, começamos a criar modelos de dados com base na conexão Live e continuamos com a criação de logs.



Por fim, podemos visualizar os dados do BW Queries, como na Figura 8:



imagem

Figura 8. Visualização do relatório no SAP Analytics Cloud



Separadamente, vale a pena dizer algumas palavras sobre como gerenciar o acesso do usuário e funções ao trabalhar no modo de conexão Live. Usando este modo, contamos com as autorizações especificadas no sistema de origem. Por exemplo, quando nos conectamos a uma consulta BEx com base na conexão criada, o sistema verifica nossos direitos de acesso e os dados que essa consulta retorna. Em caso de falta de direitos, não poderemos continuar trabalhando. Para fazer isso, o sistema de fonte de dados deve ter um usuário que corresponda ao usuário SAP Analytics Cloud. Seu mapeamento pode ser executado inserindo uma senha de login ao conectar-se ao sistema back-end do SAP Analytics Cloud ou usando SAML Single Sign-On. Este método, é claro, é recomendado para a aplicação produtiva da solução. A ferramenta de gerenciamento de usuários pode ser integrada ao Windows ADFS.



Hoje falamos sobre os recursos do modo SAP Analytics Cloud Live Connection, bem como como ele é configurado. Agora podemos evitar a duplicação das configurações de segurança e a cópia dos dados de negócios para a nuvem.



O SAC também permite que os clientes SAP BusinessObjects existentes personalizem as conexões com os universos criados pela empresa, preservando assim o investimento e a arquitetura usados ​​para o módulo de análise de autoatendimento da empresa. Os planos para desenvolvimento de produto ao trabalhar no modo Live: vincular várias fontes Live umas às outras (por exemplo, BW com HANA), adicionar dimensões calculadas e alguns tipos de métricas calculadas, melhorar o desempenho e adicionar recursos inteligentes. A 90 dias de teste está disponível para se familiarizar com as características do produtosoluções.



Autor - Evgeny Gorbunov, arquiteto de soluções de negócios SAP CIS



All Articles