Fonctionnalités SAP CDS
SAP HANA Platform
La plate-forme informatique SAP HANA (High Performance Analytics Appliance), dite In-Memory, prend en charge différentes applications pour les regrouper dans un système et permet de réimaginer les processus métier afin de fournir des informations en temps réel sur la base de données toujours à jour utilisée pour la Business Intelligence. En effectuant l’analyse des données en temps réel, elle permet de réduire les redondances, le matériel et les opérations informatiques (Karamba, 2017). Elle est l’une des premières plates-formes de gestion de données à gérer le traitement des transactions (OLTP pour OnLine transaction processing) et les analyses en mémoire (OLAP pour OnLine Analytical Processing) sur une seule copie de données. SAP HANA offre également la possibilité de développer des applications, d’intégrer des données et d’assurer leur bonne qualité. Elle permet ainsi de gérer un gros volume de données structurées ou non structurées. La plate-forme offre également la possibilité de déployer les données sur un site web ou le cloud (SAP, 2017).
ABAP Dictionary
ABAP (Advanced Business Application Programming), se traduisant par programmation avancée des applications métier, est un langage de programmation développé par SAP. ABAP Dictionary contient la définition de tous les objets SAP se trouvant dans l’entrepôt de données (repository). Ce dernier contient l’intégralité du code source et des objets de développement enregistrés dans la base de données. Ces données sont indépendantes du mandant et subdivisées en fonction des composantes applicatives (ABAP Dictionary, communication personnelle, support de cours SAP).
Le dictionnaire ABAP permet de centraliser tous les éléments se trouvant dans la base de données SAP et favorise une utilisation dans le système sans redondances. Tous les éléments créés, modifiés ou supprimés sont automatiquement mis à jour dans la base de données. Ceux-ci peuvent être des tables, des vues, des traductions ou de la documentation. Ainsi, l’intégrité des données, leur cohérence et la sécurité sont assurées (ABAP Dictionary, communication personnelle, support de cours SAP).
Le dictionnaire ABAP est intégré dans l’ABAP Workbench. Le système SAP fonctionnant de manière interprétative, il permet au dictionnaire ABAP d’être intégré dans l’environnement de développement. Les interprètes ne perçoivent pas les objets originaux mais des représentations internes de ces derniers. Lorsqu’une modification est effectuée dans le dictionnaire ABAP, le système met à jour ces représentations internes (SAP, ABAP Dictionary,2017).
ABAP CDS
L’ABAP CDS permet, à travers un framework, la définition et l’utilisation de modèles de données directement sur la base de données. Ces modèles, basés sur le langage de définition des données et le langage de contrôle de données, se nomment des entités (SAP, SAP – ABAP CDS Development User Guide, 2017).
Il existe deux types d’entités ABAP CDS :
Les vues : comme les données d’une application se trouvent sur différentes tables de la base de données, les vues CDS permettent de réorganiser les champs de tables selon les différents besoins. Une vue CDS peut être définie pour des tables ou des vues déjà existantes dans la base de données, mais également pour d’autres vues CDS déjà créées. Lorsqu’une vue est activée, une entité CDS et une vue SQL sont créées dans le dictionnaire ABAP (SAP, SAP – ABAP CDS Development User Guide, 2017) ;
Les fonctions de tables : elles correspondent aux fonctions de tables existantes sur la base de données et peuvent être utilisées dans le CDS (SAP, SAP – ABAP CDS Development User Guide, 2017).
Différences entre ABAP CDS & HANA CDS
Le CDS ayant été introduit à la base avec SAP HANA, les spécifications sont pratiquement identiques mais les DDL de HANA ne sont pas réutilisables telles quelles avec ABAP CDS ni réciproquement (Keller, CDS – One Concept, Two Flavors, 2017).
Le CDS basé sur SAP HANA fonctionne uniquement sur SAP HANA tandis que le CDS basé sur ABAP fonctionne sur la plupart des plate-formes, ainsi que sur SAP HANA (Kessler, 2017).
ABAP CDS et HANA CDS possèdent le même objectif, à savoir « représenter les définitions de données centrales comme une base commune pour le développement d’applications » (Kessler, 2017).
Quand devrait-on utiliser ABAP CDS et quand devrait-on privilégier HANA CDS ? Dans son article «ABAP on SAP HANA. Part IV. Core Data Services », Mohsin Ahmed répond à cette question de la façon suivante (Ahmed, 2017) :
Si l’exécution de SAP HANA se fait sans la pile ABAP, l’utilisation de l’ABAP CDS n’est pas possible et il faut utiliser HANA CDS ;
Si l’utilisation de la base de données HANA se fait avec une pile ABAP, les scénarii suivants sont possibles :
Si l’on souhaite utiliser les entités CDS en tant que types de données ou tester les annotations CDS dans ABAP, il faut utiliser ABAP CDS ;
Si l’on ne souhaite pas utiliser les entités CDS dans ABAP, mais que l’on veut les transporter comme des objets de l’ABAP repository, il est possible d’utiliser ABAP CDS ;
Si l’on ne souhaite pas utiliser les entités CDS en tant que types de données dans ABAP ou dans Open SQL, il est possible d’utiliser HANA CDS qui est mieux intégré dans SAP HANA. Un accès depuis ABAP est alors possible en utilisant SQL grâce à ABAP Database Connectivity (ADBC) et ABAP Managed Databse Procedure (AMDP).
Avantages et inconvénients par rapport à l’ABAP Dictionary
Il est important de relever que le CDS a été inventé par SAP pour pallier l’incapacité d’ABAP Dictionary et de SAP HANA Studio de répondre aux besoins de toutes les applications métier (Ahmed, 2017). Evidemment, selon les besoins des entreprises, le CDS n’est pas toujours un avantage. Par exemple, si une vue n’est utilisée qu’une seule fois, la création de vues CDS n’est pas réellement nécessaire et n’apporte pas d’avantages par rapport à une vue normale.
Cependant, si les besoins demandent de pouvoir réutiliser une vue ou demandent des capacités sémantiques ou techniques supérieures à celles offertes par Open SQL, le CDS est un avantage.
Parmi les fonctionnalités offertes et décrites dans le présent rapport, les annotations permettent un usage flexible dans des contextes différents (OData, Business Logic,…) et constituent par conséquent un apport intéressant du CDS. La possibilité de gérer les autorisations directement sur la vue CDS offre également l’avantage de ne plus avoir besoin de les gérer dans un programme ABAP. De plus, l’extension de vues permet non seulement d’optimiser un ensemble de résultats en transférant un minimum de données, mais également d’ajouter des colonnes supplémentaires, des expressions ou des associations à une vue existante.
SAP ne délaisse pas pour autant l’ABAP Dictionary, en proposant des améliorations d’Open SQL afin d’accroître les performances et de se rapprocher de l’Open SQL.
|
Table des matières
1. Introduction
2. Technologies
2.1.SAP HANA Platform
2.2.SAP HANA
2.3.S/4HANA
2.4.ABAP Dictionary
2.5.Open SQL
2.6.OData
3. SAP CDS
3.1.Concept
3.2.Prérequis
3.3.ABAP CDS
3.4.HANA CDS
3.5.Différences entre ABAP CDS & HANA CDS
4. Fonctionnalités SAP CDS
4.1.Jointures
4.2.Associations
4.3.Annotations
4.3.1.Annotations ABAP
4.3.2.Annotations spécifiques à des frameworks
4.4.Autorisations
4.5.Extension de vues
5. Prototype ABAP CDS
5.1.Configuration de l’environnement Eclipse
5.1.1.Outils de développement ABAP
5.1.2.Nouveau projet ABAP
5.2.Création d’une entité CDS
5.3.Utilisation d’une vue CDS dans un programme ABAP
5.4.Annotations
5.5.Jointures
5.6.Associations
5.7.Autorisations
5.8.Extension de vues
5.9.Paramètres
5.10.Gestion des langues
6. Prototype HANA CDS
6.1.Configuration de l’environnement Eclipse
6.1.1.Outils de développement HANA
6.1.2.Ajouter un système SAP HANA à Eclipse
6.2.Création des tables
7. Avantages et inconvénients par rapport à l’ABAP Dictionary
8. Conclusion
8.1.Synthèse générale
8.2.Evolutions futures
Télécharger le rapport complet