Vérification de la réalité : ABAP n'est pas ABAP


Dans le cadre d'un projet d'innovation interne, nous voulions d'une part soumettre les promesses marketing à un test de réalité et d'autre part clarifier les coûts de mise à disposition d'une application on-premise sur le SCP.
L'outil de code-barres va dans le cloud
Grâce à l'outil Snap Barcode, un service de contrôle pour les codes-barres très répandus, les données de code-barres contenues dans chaque paquet ainsi marqué peuvent être traitées en une fraction de seconde et comparées avec le système ERP de SAP.
Notre plan : avec l'aide de SCP, nous souhaitons proposer ce service sur Internet en tant que service à la carte avec intégration du back-end SAP. Afin d'améliorer la qualité des données de base de nos clients, l'application doit également pouvoir être trouvée et intégrée via le SAP Business API Hub ou la boutique SAP - et être facilement utilisable sur téléphone portable via Fiori. Jusque-là, tout va bien.
Du sur site au cloud
Au départ, notre idée était assez simple : l'application ABAP qui fonctionne actuellement sur site, fonctionnera ensuite sur ABAP sur la SAP Cloud Platform (SCP). Il fallait donc créer un compte SCP, y activer une instance ABAP et importer l'outil de code-barres. C'était le plan.
Ensuite, il faut peut-être recoder un peu, activer un service supplémentaire ici et là, puis générer une simple application de démonstration Fiori, la publier dans le Business Hub - et c'est tout ! C'est ce que nous pensions.
Se procurer une licence de partenaire et activer une instance en payant étaient encore des exercices simples. L'attente de pouvoir importer notre outil dans le SCP, au mieux par ordre de transport et au pire par copier-coller, a été déçue.
En réalité, nous devions charger des objets ABAP dans un référentiel Git et en télécharger d'autres. Après tout, SAP utilise Git, un outil open source que nous connaissions bien !
Mais malheureusement, même la procédure correcte a donné lieu à des messages d'erreur. D'une part, parce que certains objets (comme les includes) n'ont pas été importés et, d'autre part, parce que les objets ERP classiques comme MARA et MATNR, auxquels notre outil de code à barres fait appel, n'existent tout simplement pas dans SCP-ABAP ou ne sont pas autorisés à y accéder.
Constatation un peu amère : l'importation "presque un pour un" prévue n'est pas réalisable, notre expérience évolue vers une réimplémentation du produit !
Workarounds et improvisations
Nous avons donc construit un wrapper pour appeler la fonctionnalité depuis le backend. Mais le terme de modèle de programmation ABAP RESTful (RAP) s'est avéré être un pur euphémisme.
Le travail n'a pas été reposant, car il n'existe ni la "vieille" SE80 ni une interface utilisateur graphique SAP pour Windows. Ce qui est disponible, c'est Eclipse et diverses applications Fiori-Launchpad.
Dans ces conditions, notre projet de transfert d'une application sur site vers le cloud s'est transformé en un tour de force fait de bricolages et d'improvisations - et en une rencontre avec de nombreux nouveaux composants et interfaces utilisateur.
ABAP dans le cloud fait tic-tac différemment
Avec le recul, nous avons appris plusieurs choses. Tout d'abord, ABAP dans le cloud n'est pas la même chose qu'ABAP sur site. Le cloud offre de nombreux nouveaux concepts et possibilités.
SAP semble développer les innovations dans l'environnement ABAP d'abord pour le cloud, comme le montre par exemple l'approche Fiori-everywhere pour l'interface utilisateur - ce qui permet de se passer du SAP-GUI. Dans le dictionnaire de données, on trouve certes quelques nouveaux objets issus du monde on-premise.
Mais ce qui était connu n'est parfois plus disponible. Notre projet de migration s'est donc transformé en une véritable réimplémentation au cours du projet.
Bon pour la nouveauté
Même si notre approche ne s'est pas révélée concluante, elle nous a permis de nous faire une bonne idée de la plateforme cloud de SAP. Elle se prête très bien aux nouveaux développements, même en combinaison avec des solutions sur site, mais moins bien au portage d'applications existantes.
Les avantages du cloud tels que l'évolutivité, la sécurité et les approches globales peuvent être réalisés, les nouvelles technologies et les nouveaux processus sont ici disponibles en temps réel. En bref, SCP offre de nombreuses possibilités innovantes qui sont à la pointe de la technologie. Elles peuvent être utilisées de manière optimale lors du développement de nouvelles applications.