Applications spécifiques (Z-apps)
Les applications spécifiques, ou Z-apps, sont des applications et extensions qu'un client construit dans l'espace de noms client, où les noms d'objets commencent par Z ou Y : applications SAPUI5 freestyle, applications SAP Fiori elements sur des vues CDS spécifiques ou copies d'applications SAP. Les applications spécifiques appartiennent au client, qui les teste et les maintient à chaque upgrade.
L'essentiel
- Type
- Développement appartenant au client (interface, services et logique)
- Couche
- Applications d'interface ; Services et API ; Logique métier et modèle de données
- Espace de noms
- Espace de noms client Z* ou Y*, ou espace de noms préfixe enregistré /…/
- Pile type
- Interface SAPUI5 ou SAP Fiori elements, service OData, CDS et logique ABAP
- Raccordement au launchpad
- Technical catalog, target mapping, business catalog, rôle
- Qui l'utilise
- Développeurs du client, partenaires, CoE, responsables d'application
- S'applique à
- SAP S/4HANA on-premise et Private Edition, SAP BTP ; extensibilité développeur en Public Edition
Couche : Applications d'interfaceOù se situe-t-il ? ▾
Couche : Applications d'interface
Concerne aussi : Services et API, Logique métier et modèle de données
Ouvrir la carte d'architecture →Qu'est-ce qui est considéré comme une Z-app ?
Le nom vient de la règle de nommage ABAP : sans espace de noms préfixe enregistré, les objets du référentiel créés dans les systèmes clients doivent commencer par Y ou Z. « Z-app » est devenu un raccourci pour désigner toute application que le client construit et possède, quelle que soit sa technologie :
- applications SAPUI5 freestyle pour des tâches qu'aucune application standard ne couvre ;
- applications SAP Fiori elements sur des vues CDS et des services spécifiques ;
- copies d'applications livrées par SAP, renommées dans l'espace de noms Z et modifiées ;
- transactions, rapports ou applications Web Dynpro ABAP spécifiques lancés depuis le launchpad ;
- applications side-by-side sur SAP BTP qui étendent des processus SAP S/4HANA.
Certaines organisations enregistrent leur propre espace de noms préfixe au lieu d'utiliser Z ou Y, ce qui évite les conflits de noms entre projets. Le trait déterminant est la propriété, et non la lettre : une Z-app est toute application dont le cycle de vie relève de la responsabilité du client, et non de SAP.
Comment une application SAP Fiori spécifique est-elle construite et livrée ?
Une application spécifique on-stack typique touche toutes les couches situées sous le launchpad :
- Données et logique : des vues CDS et, pour les applications transactionnelles, un business object construit avec l'ABAP RESTful application programming model ; les applications plus anciennes utilisent l'ABAP classique.
- Service : un service OData, publié via un service binding RAP ou, dans les applications plus anciennes, construit dans le Gateway Service Builder (SEGW) et activé dans /IWFND/MAINT_SERVICE.
- Interface : une application SAP Fiori elements ou SAPUI5 freestyle, déployée dans le référentiel ABAP SAPUI5, où chaque application est stockée comme application BSP avec un nom en Z ou Y.
- Contenu du launchpad : une tile et un target mapping dans un technical catalog créé avec le launchpad app manager (/UI2/FLPAM), référencés dans un business catalog et attribués via un rôle dans PFCG.
- Transport : tous les objets transitent ensemble dans le paysage de transport.
Chacune de ces cinq étapes crée un objet que le client devra maintenir cohérent par la suite. Une application SAP Fiori spécifique est donc un petit produit composé de plusieurs éléments interdépendants, et non un fichier unique.
Quels sont les points forts des applications spécifiques ?
- Adéquation exacte : une application spécifique peut modéliser une étape de processus comme le métier la pratique réellement, y compris des étapes que SAP ne livre pas.
- Différenciation : les processus qui distinguent une entreprise sont ceux que les applications standard ont le moins de chances de couvrir.
- Même expérience utilisateur : construite avec SAP Fiori elements ou SAPUI5, une application spécifique a l'apparence et le comportement des applications SAP et utilise le même launchpad, les mêmes rôles et la même navigation.
- Options modernes compatibles avec les upgrades : les applications construites avec ABAP Cloud sur des API libérées, ou side-by-side sur SAP BTP, peuvent rester stables d'un upgrade à l'autre.
Exemple : Alder Manufacturing construit une petite application permettant à ses acheteurs de confirmer les créneaux de livraison de Bright Freight, une étape qu'aucune application standard ne propose, et la relie à la commande d'achat. Là où le standard s'arrête mais pas le processus, une application spécifique est souvent le moyen le plus direct de combler l'écart.
Où s'arrêtent les applications spécifiques ?
- La responsabilité ne s'arrête jamais. Chaque upgrade SAPUI5, chaque release back-end et chaque revue de sécurité touche l'application. Quelqu'un doit la tester, la corriger et savoir pourquoi elle existe.
- Les dépendances déterminent le coût. Les applications qui utilisent des objets SAP non libérés relèvent des niveaux clean core inférieurs et peuvent casser lors des upgrades ; les applications reposant sur des API libérées présentent beaucoup moins de risques.
- Le savoir part avec les personnes. De nombreuses applications spécifiques ont été construites par un seul développeur ou partenaire ; lorsqu'il part, la finalité et la logique de l'application deviennent souvent difficiles à reconstituer.
- Les copies divergent. Une application SAP copiée ne reçoit pas les corrections ni les améliorations de SAP, et l'écart se creuse à chaque release.
- Lacunes d'inventaire. Les organisations sont souvent incapables de dire combien d'applications spécifiques elles exploitent ou qui les utilise, ce qui est une plainte fréquente dans les communautés de praticiens.
Ces limites ne sont pas des défauts techniques ; elles sont le prix de la possession d'un logiciel que SAP ne maintient pas.
Quand construire une application spécifique plutôt qu'étendre ?
Descendez l'échelle d'extension et arrêtez-vous à la première étape qui convient :
- Standard : cherchez dans la SAP Fiori Apps Reference Library une application ou un successeur qui couvre le besoin.
- Extensibilité key user : un champ, un contrôle ou une valeur par défaut manquants relèvent de ce niveau, et non d'une nouvelle application.
- Variante d'application plutôt que copie : pour modifier une application livrée par SAP, un SAPUI5 adaptation project crée une variante qui continue de recevoir les mises à jour SAP ; SAP le prend en charge en Public Edition depuis la release 2402.
- Extensibilité développeur on-stack : une nouvelle application sur des API libérées avec ABAP Cloud.
- Side-by-side sur SAP BTP : lorsque l'application couvre plusieurs systèmes, a besoin de ses propres données ou suit un cycle de vie différent.
Une erreur fréquente consiste à copier une application standard pour modifier deux champs ; la solution est un adaptation project ou l'extensibilité key user. Une application spécifique se justifie lorsque c'est l'étape de processus elle-même qui manque, et non un champ.
Qu'est-ce qui change selon les options de déploiement de SAP S/4HANA ?
- On-premise et Private Edition : l'ABAP classique et ABAP Cloud sont tous deux disponibles ; les applications spécifiques vont donc d'un clean core intégral à des modifications profondes. C'est la gouvernance, et non le système, qui fixe les limites.
- SAP S/4HANA Cloud Public Edition : l'extensibilité développeur permet aux clients de construire des applications SAP Fiori spécifiques dans un sous-ensemble d'ABAP optimisé pour le cloud, uniquement sur des API libérées ; le développement Z classique avec accès sans restriction n'est pas possible.
- SAP BTP : les applications side-by-side vivent dans leur propre subaccount et suivent leur propre cycle de vie, et n'accèdent à SAP S/4HANA que par des API.
La question de la responsabilité est la même dans toutes les options ; ce qui diffère, c'est dans quelle mesure la plateforme restreint ce dont une application spécifique peut dépendre.
Applications spécifiques ou extensibilité key user : quelle différence ?
| Application spécifique (Z-app) | Extensibilité key user | |
|---|---|---|
| Définition | Une nouvelle application ou une copie modifiée, appartenant au client | Modifications aux points d'extension libérés par SAP des applications standard |
| Qui la construit | Développeurs ou partenaires | Key users formés, dans des applications SAP Fiori |
| Périmètre type | Une étape de processus manquante ou une tâche entièrement nouvelle | Un champ, un contrôle, une valeur par défaut, une adaptation de l'interface |
| Comportement lors des upgrades | Dépend de ce qu'utilise l'application ; le client teste chaque release | Stable par conception aux points d'extension libérés |
| Qui la maintient | Le client, pendant toute la durée de vie de l'application | SAP maintient l'application ; le client maintient l'extension |
L'extensibilité key user adapte ce que SAP livre ; une application spécifique ajoute ce que SAP ne livre pas et fait du client son propriétaire permanent.
Questions fréquentes
Que signifie le Z de Z-app ?
Le Z fait référence à l'espace de noms client du référentiel ABAP. Sans espace de noms préfixe enregistré, les objets créés dans les systèmes clients doivent commencer par Z ou Y ; les programmes, services et applications développés par le client portent donc ces lettres. Z-app est devenu un raccourci pour désigner toute application SAP appartenant au client.
Les Z-apps vont-elles à l'encontre du principe clean core ?
Pas en elles-mêmes. Le clean core est une question de dépendances : une application spécifique construite avec ABAP Cloud sur des API libérées, ou side-by-side sur SAP BTP, peut être entièrement clean. Ce sont les applications spécifiques qui utilisent des objets SAP non libérés ou modifient le code SAP qui relèvent des niveaux clean core inférieurs.
Faut-il copier une application SAP Fiori standard pour la modifier ?
Généralement non. Une copie ne reçoit plus les corrections ni les améliorations de SAP. Pour de petites modifications, utilisez l'extensibilité key user ou un SAPUI5 adaptation project, qui crée une variante de l'application par-dessus l'application SAP. Ne copiez que lorsque les modifications sont si profondes que l'original ne sert plus de base.
Qui doit être responsable d'une application SAP Fiori spécifique ?
Un responsable d'application désigné côté métier et un responsable technique au sein de la DSI ou chez un partenaire. Le responsable métier décide si l'application est toujours nécessaire ; le responsable technique la maintient compatible avec chaque release SAPUI5 et SAP S/4HANA. Les applications sans ces deux responsables tendent à ne plus être maintenues.
Peut-on construire des applications spécifiques dans SAP S/4HANA Cloud Public Edition ?
Oui, via l'extensibilité développeur. Les clients construisent des applications SAP Fiori spécifiques dans un sous-ensemble d'ABAP optimisé pour le cloud qui n'utilise que des API libérées, ou construisent des applications side-by-side sur SAP BTP. Le développement Z classique avec accès sans restriction aux objets SAP n'est pas disponible en Public Edition.
Sources
- SAP Help Portal: Names of Repository Objects — customer namespace Y and Z (ABAP programming guidelines)
- SAP Help Portal: The SAPUI5 ABAP Repository and the ABAP Back-End Infrastructure
- SAP Help Portal: Developer Extensibility (SAP S/4HANA Cloud Public Edition)
- SAP Help Portal: Develop an SAPUI5 Adaptation Project (SAP S/4HANA Cloud Public Edition)
- S'applique à
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
- Dernière relecture