Introduction
Une entreprise désireuse de définir (ou redéfinir) son informatique décisionnelle (ou business intelligence) est confrontée aux choix d’architectures techniques, de logiciels et de modélisations données.
Le monde SAP n’échappe pas à la règle et son écosystème propose des architectures différentes selon les besoins, la version de l’ERP, les objectifs et les moyens de l’entreprise cliente.
Dans le cadre de l’accès aux données, l’un des choix qui va se poser est de définir par quel moyen les données vont être lues.
Les données seront-elles accédées uniquement par des logiciels de reporting, de dataviz ou également par des applications développées par l’entreprise ?
Modèles Virtuel de Données
SAP met à disposition de ses clients un environnement SAP HANA qui contient une base de données « in Memory » et des outils pour modéliser et interroger les données stockées dans les tables de l’ERP.
La base de données SAP HANA va permettre de réaliser des modèles virtuels de données pour accéder aux données en temps réel. Grace à sa puissance de calcul, les modèles virtuels réalisent les opérations de lecture, transformation et projection sans utilisation d’un ETL ni construction de table.
Avec sa version S/4HANA, SAP propose principalement deux technologies pour réaliser des modèles virtuels (ou vues) basés directement sur la base données HANA, et ainsi garantir l’acquisition de données en temps réel :
- Les vues HANA (Calculation Views)
- Les vues CDS (Core Data Service)
Les deux types de vues présentent les mêmes performances et sont utilisables par les outils classiques de Dataviz ou de BI (Power BI, SAP BO, Tableau, etc.).
Cependant, la comparaison des Calculation Views et des CDS Views présentent des différences notables en termes d’architecture, de création, de maintenance et de sécurité.
Dans la suite de cet article, nous allons détailler les disparités affichées par ces deux technologies qui in fine répondent au même besoin : accéder à de la donnée en temps réel pour de l’analyse BI.
Calculation Views VS CDS Views
L’architecture
La première différence réside dans l’architecture à la base des deux technologies.
D’un côté avec les Calculation Views, les vues sont des objets appartenant à la couche de base de données SAP HANA et non à dans la couche applicative.
Les CDS Views de leurs côtés appartiennent à la couche applicative de l’ERP (couche ABAP).
Les deux méthodes s’inscrivent dans le concept de « Code-To-Data » qui tend à déplacer le plus possible les calculs au niveau de la base de données et non plus au sein de la couche applicative.
Alors que l’approche classique veut que les opérations de traitements de données soit effectuer dans la couche applicative (Data-To-Code), les vues HANA et CDS utilisent ce qu’on appelle une approche Data-Centric, et ont ainsi la faculté d’interroger la donnée et d’effectuer les opérations directement dans la base de données (code-to-data).
Inscrivez-vous à la newsletter Rapid Views !
Soyez notifiés de nos derniers articles de blog, de nos prochains webinars et nos actualités !
Les développements
Côté Calculation Views les vues sont développés à l’aie de SAP HANA Studio (ou Eclipse) en utilisant plus particulièrement la perspective « SAP HANA Modeler ».
Pour SAP HANA Cloud on utilise Business Application Tools.
Ces outils ont l’avantage d’être graphiques.
Les différentes opérations (union, jointure, projections, agrégation, rank…) sont représentées par des « nodes » reliées les unes aux autres. Les Calculations Views peut être de type « Dimension », « Fait » ou « Cube en étoile ».
Une Calculations Views peut lire des tables de données de base, des tables fonctions ou des vues, sa sémantique pourra être alimentée directement par le dictionnaire SAP ou par la sémantique des vues qui en sont sources.
Les CDS Views quant à elles sont construites en mode « script ».
L’outil de développement principal des CDS est l’ABAP Development Tools (ADT) qui est une alternative à l’ancien ABAP Workbench.
Les CDS Views utilisent un langage de définition de données (DDL) de type « Define view … as select from … « . Elles disposent de fonctionnalités complémentaires telles que :
- Les associations : jointures pour schéma en étoiles
- Les expressions : champs calculés
- Les annotations : Expressions permettant de définir des propriétés, comportements, métadonnées, les autorisations d’accès aux données…
Les transports
Les Calculations Views et CDS Views n’appartenant pas à la même couche, base de données pour l’une et applicative pour l’autre, il en résulte une gestion du transport différente.
Les CDS views sont des objects ABAP et doivent donc respecter les conditions de transport des transactions STMS, SE01, etc.
Pour les Calculations Views, le transport des vues est plus flexible. On peut utiliser les transactions SAP prévues à cet effet comme la transaction SCTS_HTA, ou bien utiliser les fonctions d’export et d’import de HANA Studio (delivery unit ou developper mode).
Cette dernière méthode offre plus de flexibilité en matière de transport puisqu’il est possible d’outrepasser le flux d’environnements SAP par lequel les objets ABAP doivent obligatoirement être transportés : DEV, puis QUAL, puis PROD, etc.
La sécurité
La gestion de la sécurité est elle aussi très différente entre les Calculation Views et les CDS Views.
En effet, la CDS Views étant un objet ABAP, elle est capable de récupérer toute la sécurité affectée aux utilisateurs dans SAP (PFCG)
A l’aide de l’annotation ci-dessous, les CDS Views consultera les droits de utilisateur avant l’exécution de la requête :
Pour les Calculation Views il est nécessaire de la déployer la sécurité en utilisant les Analytic Privileges via SAP HANA Studio.
Reporting
Les Calculations Views et CDS Views sont exploitables sur la plupart des outils de reporting du marché (Power BI, Tableau, SAP BO, SAP Analytics Cloud, Analysis for Office).
Néanmoins les connecteurs différents :
Pour les Calculations Views on utilise principalement le pilote ODBC fournis par le SAP HANA Client.
Pour certain outil il est parfois nécessaire de passer par une connexion http (Analysis for Office par exemple).
Les CDS views sont principalement connecter avec un connecteur SAP BW. En effet un Transient Provider est automatiquement créé à l’activation d’une CDS Views.
Il est aussi possible d’utiliser un service OData pour connecter la CDS au report. Ce service OData est créé à l’aide de la Gateway SAP (TCode : /n/IWFND/GW_CLIENT).
Cette dernière méthode offre la possibilité d’utiliser les CDS pour faire du reporting sur Fiori.
Conclusion
Les Calculations Views offre globalement plus de flexibilité dans le déploiement et la maintenance des vues. De plus elles sont beaucoup plus accessibles de part l’outil graphique à disposition dans HANA Studio qui ne demande pas de connaissance particulière en SQL.
Les CDS sont des vues sous forme de script et demande donc la maitrise de langage de développement. Elles sont aussi moins maniables de part le fait qu’elles sont construites dans la couche applicative, elles sont donc contraintes de respecter certaines conditions spécifiques aux objets ABAP (transport, évolutions, etc.).
Les CDS ont tout de même l’avantage de récupérer la sécurité SAP et aussi d’être source de données pour les SAP Embedded Analytics sur Fiori, plateforme à partir de laquelle il n’est pas possible de connecter des Calculation Views.