Introduction
Rappel : SAP Analytics Cloud est un outil de reporting de la suite SAP. Cet outil est hébergé sur le cloud en mode « SaaS » (Software As A Service), il est compatible avec un grand nombre de sources de données.
Pour accéder à vos données depuis le cloud, SAC dispose de deux méthodes :
- Les connexions de type « Import de Données » ou « Data Acquisition » permettant de télécharger vos données dans le cloud afin d’y accéder de n’importe où.
- Les connexions de type « Données Actives » ou « Live Connexion » permettant d’accéder à vos données en direct sans les importer dans le Cloud.
Pour le type « Live », SAC nécessite la mise en place complexe d’un reverse proxy, présenté dans un précédent article.
SAP propose désormais une solution alternative au reverse proxy, plus simple à mettre en place : la méthode CORS (Cross Origin Resource Sharing).
CORS
CORS désigne un standard qui permet de contrôler les requêtes HTTP « cross-domain ». Cela permet notamment à une page web d’intégrer des images, feuilles de style ou scripts provenant d’un autre domaine que le sien.
Ce standard est basé sur un système d’entêtes HTTP personnalisés définis par une spécification précise, ci-dessous la liste des paramètres à définir :
Entêtes de requête :
- Origin: Indique la provenance de la requête cross-origin
- Access-Control-Request-Method: Indique les méthodes qui seront utilisées (GET, POST, HEAD,PUT ,DELETE, TRACE, CONNECT)
- Access-Control-Request-Headers: Indique quel entête sera utilisé
Entêtes de réponse :
- Access-Control-Allow-Origin : Indique si la ressource peut être partagée (autorisée) pour la valeur de la requête « origin »
- Access-Control-Allow-Credentials : Indique si la propagation de cookies, de vecteurs d’accréditation ou de certificats SSL est autorisée
- Access-Control-Expose-Headers : Indique quels headers sont sécurisés et peuvent être exposés à l’API CORS
- Access-Control-Max-Age : Indique la durée de vie en cache de la réponse
- Access-Control-Allow-Methods : Indique les méthodes qui peuvent être utilisées
- Access-Control-Allow-Headers : Indique le nom de l’entête qui peut être utilisé
Comme la méthode Reverse Proxy, cette solution s’applique seulement aux connexions de type « Live » entre SAP Analytics Cloud et vos sources de données (pas d’import de données dans le Cloud).
Ci –dessous, les outils qui peuvent être connectés à SAC avec cette nouvelle méthode CORS :
- SAP HANA
- SAP BW/4HANA & BW Classique
- SAP BO Univers
Procédure de connexion entre SAC et HANA
De la même façon que pour une connexion Live via le reverse proxy, les services InA (Information Access) de HANA doivent être déployés et vous devez disposer d’un utilisateur avec le rôle sap.bc.ina.service.v2.userRole ::INA_USER.
Depuis la perspective « développement » de HANA Studio ou depuis le web IDE, ouvrez le fichier .xsaccess du package sap.bc.ina.service.v2 :
Ajoutez le code présent dans l’encadré ci-dessus. Il s’agit des spécifications propres au standard CORS que je vous ai présenté en début d’article. Modifiez la ligne « allowOrigin » pour y intégrer l’adresse de votre tenant SAC. Enregistrez et déployez votre fichier puis rendez-vous sur SAC pour configurer votre connexion :
Choisissez le type de connexion « Direct » et saisissez l’hôte et le port de votre serveur. Les identifiants doivent correspondre à l’utilisateur disposant des droits INA ::USER. Votre connexion est maintenant prête à être utilisée.
Procédure de connexion entre SAC et BW/BW4HANA
Dans le cas d’une connexion Live avec SAP BW ou BW/4HANA, les mêmes pré-requis sont nécessaires. Les modifications à apporter visent également la mise en place des spécifications de CORS cependant celles-ci doivent être paramétrées via un fichier lié au profil d’instance du système BW ou directement depuis le SAP-GUI en fonction de la version NetWeaver utilisée.
A partir de Netweaver 7.4 :
Commencez par créer un fichier (« cors_rw » dans mon exemple) et ajoutez-y le code suivant :
La ligne 5 correspond à la spécification « allowOrigin », c’est ici que vous devez saisir votre tenant SAC. Référencez ensuite ce fichier dans votre profil d’instance (/usr/sap/<SID>/SYS/profile/VotreProfile) en ajoutant la ligne :
icm/HTTP/mod_0 = PREFIX=/, FILE={chemin/d’accès/à/cors_rw}
Redémarrez votre système, et rendez-vous sur SAC pour configurer la connexion :
Choisissez le type « direct » et saisissez les informations de connexions adéquates. Afin d’éviter d’éventuels problèmes de connexion, modifier les paramètres de votre navigateur (chrome) pour qu’il accepte les cookies des tiers.
Si vous disposez d’un Netweaver v 7.52+, le paramétrage de CORS peut s’effectuer directement via le SAP GUI. Commencez par vérifier que le paramètre icf/cors_enabled est bien à 1 et configurez le Cross-Origin-Resource-Sharing en accédant à la transaction UCONCOKPIT.
Passez en mode « Edit » et ajoutez trois entrées aux services InA de BW :
Service Path : /sap/bw/ina/getserverinfo/
Host rule:https://tenant.eu1.sapbusinessobjects.cloud
Allowed Methods: Get, POST,OPTIONS
Allowed Headers: AUTHORIZATION,X-CSRF-TOKEN,X-SAP-CID
Exposed Headers: X-CSRF-TOKEN, SAP-REWRITEURL, SAP-URL-SESSION-ID
Allow Credentials: has to be active.
Max Age: 600
Service Path : /sap/bw/ina/getresponse/
Host rule: https://tenant.eu1.sapbusinessobjects.cloud
Allowed Methods: Get, POST, OPTIONS
Allowed Headers: AUTHORIZATION,CONTENT-TYPE,MYSAPSSO2,X-CSRF-TOKEN,X-SAP-CID
Exposed Headers: X-CSRF-TOKEN, SAP-REWRITEURL, SAP-URL-SESSION-ID
Allow Credentials: has to be active.
Max Age: 600
Service Path : /sap/bw/ina/logoff/
Host rule: https://tenant.eu1.sapbusinessobjects.cloud
Allowed Methods: GET,OPTIONS
Allowed Headers: AUTHORIZATION,X-SAP-CID
Exposed Headers: X-CSRF-TOKEN, SAP-REWRITEURL, SAP-URL-SESSION-ID
Allow Credentials: has to be active.
Max Age: 600
Sauvegardez vos entrées puis rendez-vous sur SAC et paramétrez votre connexion comme précédemment.
Procédure de connexion entre SAC et SAP BO Univers
Les connexions Live via la méthode CORS entre SAC et les univers SAP BO ne sont possibles que si vous disposez d’une plateforme BI 4.2 (SP4 minimum) et un serveur d’application (type tomcat) avec le SSL configuré.
Dans le répertoire tomcat/conf, ouvrez le fichier server.xml et rendez-vous au nœud Server>Service>Engine>Host. Ajouter une ligne <Context /> comme ci-dessous :
Sauvegardez le fichier.
Dans le même répertoire, créez un fichier boe.properties contenant les lignes suivantes :
Arrêtez le serveur tomcat et intégrez le fichier nouvellement créé dans les paramètres de démarrage en ajoutant la ligne -DBocInaAgentConfigurationFile={chemin de boe.properties} :
Accédez ensuite à l’adresse https://launchpad.support.sap.com/#/softwarecenter et téléchargez le « live data connect » :
Déposez le fichier cs_ina_agent.war dans le répertoire webapps et démarrez tomcat. Rendez-vous ensuite dans le répertoire Tomcat 8.0\webapps\cs_ina_agent\WEB-INF et éditez le fichier web.xml comme ci-dessous :
Redémarrez Tomcat. Sur votre tenant SAC, configurez la connexion comme ci-dessous :
CONCLUSION DE L’EXPERT
L’outil HANA Studio de la suite SAP est l’outil principal de la base HANA, il permet de réaliser la plupart des opérations. La maitrise de cet outil est indispensable pour pouvoir utiliser pleinement les possibilités d’une base de données HANA.
Grâce à lui vous pourrez gérer de manière centralisée, les déploiements de votre ou de vos bases HANA.
Pour une fois SAP a fait simple, et nous a fourni dans un seul outil toutes les fonctionnalités permettant d’administrer, de monitorer, de développer et de gérer les bases de données HANA.
A noter également : nous sommes partenaires des solutions développées par RapidViews, datamarts virtuels temps réel sur SAP HANA qui permettent d’accélérer les déploiements BI sur SAP HANA.