SAP CAP et SAP RAP : développer des services backend modernes pour Fiori
Dans le monde SAP, le backend (qui fournit les services) est la pierre angulaire des applications métier. Grâce à SAP CAP (Cloud Application Programming Model) et SAP RAP (ABAP RESTful Application Programming Model), il est possible de développer des services métier robustes, intégrés et flexibles pour vos applications SAP Fiori frontend (avec lesquelles les utilisateurs interagissent).
Les outils modernes comme Eclipse, SAP BAS (Business Application Studio) ou VS Code permettent de développer des services SAP CAP et SAP RAP de manière proche du développement web, tout en respectant les standards SAP.
SAP CAP : un modèle flexible pour des sources multiples
SAP CAP vous permet de créer des services OData V4 (format standard SAP) ou REST (format personnalisé) qui peuvent intégrer :
- Des bases de données (PostgreSQL, HANA, SQLite, etc.)
- Des services externes
- Des données SAP via les BAPI (ancien standard backend de communication avec SAP) ou les services OData (nouveau standard)
Grâce à cette flexibilité, SAP CAP permet de composer des services exposant simultanément des données SAP et non-SAP, tout en appliquant la stratégie « Keep the Core Clean ». Cette stratégie vise à préserver le cœur de l'ERP SAP en n’y incluant que les données et logiques standard SAP, et en déportant les intégrations composites ou les logiques spécifiques vers le cloud.
SAP CAP utilise le même modèle que SAP RAP - CDS (Core Data Services) - pour modéliser les entités et relations dans les services fournis (façon dont sont structurées les données dans les requêtes et les réponses).
SAP RAP : exposer le cœur SAP de manière standard
Le ABAP RESTful Application Programming Model (SAP RAP) fournit des interfaces standard (points d'entrées/sorties du système SAP ERP) pour rendre accessible les données SAP S/4HANA (dernières versions de SAP ERP). Ces interfaces sont conçues pour respecter le Clean Core et assurer la compatibilité avec les montées de version du système.
SAP RAP repose sur :
- Des CDS Views ABAP (qui peuvent interroger le cœur de système SAP) pour la définition des entités
- Une définition des actions possibles sur ces entités (lecture, écriture, mise à jour, ...)
- La génération automatique des services OData SAP backend à partir des CDS Views
SAP RAP est disponible uniquement avec SAP S/4HANA, pas avec SAP ECC (anciennes versions de SAP ERP), car il repose sur les CDS Views ABAP.
Intégration avec SAP Fiori Elements
Les services SAP CAP et SAP RAP peuvent être directement consommés par des applications SAP Fiori Elements. En standard, SAP Fiori Elements génère automatiquement les vues List Report (liste d'objets métiers) et Object Page (détail et édition d'un objet métier) à partir des annotations OData (permettant de paramétrer les écrans SAP Fiori Elements), offrant une interface utilisateur cohérente et riche sans écrire de code frontend.
Ces annotations permettent d'exploiter un service standard basé sur une vue CDS, ou même de standardiser un service OData SAP plus ancien, non basé sur une vue CDS.
Pour des besoins spécifiques, il est possible d’utiliser des points d'extension pour ajouter des sections ou des composants SAP Fiori personnalisés tels que des cartes géographiques, des diagrammes ou des données calculées dynamiquement.
Applications SAP Fiori personnalisées
Pour des scénarios très spécifiques qui ne peuvent être couverts par SAP Fiori Elements, il est possible de développer des applications personnalisées :
- Utiliser SAP CAP comme backend, en mettant à disposition des services OData ou REST
- Consommer ces services et créer des interfaces sur-mesure
Attention : le développement personnalisé est plus coûteux en temps et en maintenance. Il doit être réservé aux besoins métier les plus complexes qui ne peuvent pas être satisfaits par le standard SAP Fiori Elements.
Conclusion
Que vous choisissiez SAP CAP pour sa flexibilité multi-sources avec maintien du Clean Core ou SAP RAP pour exposer les données SAP via des interfaces standard, il est aujourd’hui possible de créer des services backend robustes et intégrables avec SAP Fiori Elements sans écrire de code frontend. Ces approches offrent à la fois efficacité métier, cohérence des données et expérience utilisateur unifiée.
