Module de cet article: Integration Flow Helper
Externalize Parameters, copier les réglages d'étape et importer des API depuis SAP Business Accelerator Hub dans SAP CPI
Transformez des adresses fixes en {{paramètres}} en une seule étape, copiez les réglages d'une étape vers un autre iFlow, enregistrez des requêtes OData comme modèles, importez des API depuis le Hub, vérifiez des XPath sur un exemple et organisez les expressions de mapping.
Dans un iFlow SAP Cloud Integration (SAP CPI), le travail le plus lent n'est souvent pas la logique. C'est de saisir la même adresse de récepteur dans trois tenants, de recopier à la main dix lignes de Content Modifier d'un iFlow à l'autre, de reconstruire une requête OData écrite le mois dernier, ou de télécharger une spécification d'API rien que pour connaître les champs d'un ensemble d'entités.
Le Helper d'Kitegra propose désormais un outil pour chacune de ces tâches, à côté du designer de SAP Integration Suite : Externalize Parameters, le copier-coller des réglages d'étape avec des modèles de requête OData, un import depuis SAP Business Accelerator Hub, une vérification des XPath sur votre payload d'exemple, et Organiser pour les expressions de Message Mapping. Cet article explique ce que fait chacun, quand il modifie votre iFlow et ce qu'il conserve.
Externalize Parameters en une seule étape
Une adresse écrite en dur dans un canal récepteur oblige à modifier l'iFlow lui-même à chaque passage de DEV à QA puis à PROD. La réponse de SAP est le paramètre externalisé : {{Receiver_OData_Address}} dans le champ, avec une valeur définie par tenant dans Configure. Externalize Parameters fait la saisie à votre place.
Ouvrez un iFlow, cliquez sur Edit dans SAP et choisissez Externalize Parameters dans le menu Kitegra. Le panneau liste les valeurs fixes qui diffèrent généralement d'un tenant à l'autre :
- Adresses : URL, hôtes, endpoints, chemins, répertoires et WSDL. Elles sont cochées pour vous, sauf les adresses de proxy et les adresses ProcessDirect ou JMS.
- Autres valeurs : noms de files et de Data Stores, chemins et requêtes OData, délais d'expiration, noms et alias d'identifiants, et ports.
- Constantes des tableaux de Content Modifier et de Write Variables.
Chaque valeur reçoit un nom proposé, comme Receiver_OData_Address, formé à partir du participant et du champ, que vous pouvez modifier. Les valeurs qui sont déjà {{…}} ou ${…} sont signalées comme telles. Cliquez sur Externaliser, et les champs cochés deviennent des paramètres dans l'iFlow ouvert. Rien n'est enregistré tant que vous n'enregistrez pas l'iFlow dans SAP.
Après une exécution, Annuler rétablit les valeurs précédentes, et Copier les valeurs actuelles copie chaque paramètre avec la valeur qu'il a remplacée : après le déploiement, SAP demande chaque valeur dans Configure, et il suffit de les y coller. Les dix dernières exécutions par iFlow sont conservées pour Annuler. Les contrôles de conception de l'iFlow Inspector renvoient vers cet outil quand l'adresse d'un récepteur est écrite dans l'iFlow.
Copier les réglages d'une étape vers une autre étape ou un autre iFlow
Choisissez Copier-coller des réglages d'étape dans le menu Kitegra, sélectionnez une étape sur le diagramme (ou choisissez-la dans le panneau) et cliquez sur Copier les paramètres. La copie contient les headers, les exchange properties et les champs d'adaptateur de l'étape. Le panneau garde vos dix dernières copies, de la plus récente à la plus ancienne, pour tous les tenants et iFlows de ce navigateur.
Pour coller, cliquez sur Edit dans SAP, sélectionnez l'étape cible et cliquez sur Coller dans. Avant d'écrire, le panneau liste les champs qui vont changer. Pour chaque tableau, vous choisissez Conserver, Ajouter les lignes (n'ajoute que les lignes copiées qui manquent) ou Remplacer les lignes. Une copie ne va que dans une étape du même type, et elle peut aller dans un autre iFlow, sauf un chemin EDMX et les champs de script, qui désignent des fichiers de l'iFlow d'origine. Annuler rétablit ce que le dernier collage a modifié.
Modèles de requête OData
Le même panneau conserve des Modèles de requête OData. Sélectionnez un canal récepteur OData dont vous avez construit la requête, cliquez sur Enregistrer la requête comme modèle et donnez-lui un nom. Un modèle garde l'opération, le chemin de ressource et les options de requête comme $select, $filter et $expand. Plus tard, en mode édition, sélectionnez un autre récepteur OData et cliquez sur Appliquer. Enregistrer sous un nom existant remplace ce modèle. Pour les options elles-mêmes, voir les options de requête du récepteur OData.
Les copies et les modèles restent dans le stockage de l'extension de ce navigateur. Ils ne sont pas synchronisés avec votre compte Kitegra et ne sont jamais envoyés nulle part.
Importer une API depuis SAP Business Accelerator Hub
Le Helper propose les ensembles d'entités et les champs OData à partir d'un EDMX, et les chemins HTTP à partir d'un fichier OpenAPI. Avec l'import depuis le Hub, plus besoin de télécharger ce fichier au préalable. Dans la fenêtre contextuelle de l'extension, ouvrez la page d'un iFlow avec son payload d'exemple et sa spécification d'API, et repérez Importer depuis SAP Business Accelerator Hub.
- La première fois, cliquez sur Autoriser l'accès : le navigateur demande une seule fois l'accès à api.sap.com. Kitegra ne l'obtient pas tant que vous n'avez pas accepté.
- Recherchez une API, par exemple
API_PRODUCT_SRV. La recherche ne nécessite aucune connexion. - Cliquez sur Importer. Le téléchargement de la spécification nécessite votre connexion à api.sap.com dans ce navigateur ; si vous n'êtes pas connecté, le panneau vous le signale et ouvre le Hub.
Les ensembles d'entités et les champs d'une API OData sont alors proposés dans les récepteurs OData de cet iFlow qui n'ont pas leur propre EDMX. Les chemins d'une API REST sont proposés dans les champs HTTP, comme si vous aviez chargé le fichier, ce que décrit l'article sur OpenAPI et Postman. La spécification est conservée par iFlow, dans ce navigateur uniquement, jusqu'à 8 Mo, et Supprimer l'efface.
Des XPath vérifiés sur votre payload d'exemple
Lorsqu'un payload d'exemple est enregistré pour l'iFlow, le Helper en tire déjà des suggestions de chemins XPath. Désormais, il vérifie aussi le XPath que vous avez saisi. Quand aucun nœud de l'exemple ne correspond, un avertissement sous le champ indique "Aucun nœud du payload d'exemple ne correspond à ce XPath." Quand un nœud correspond, une ligne d'information affiche la valeur trouvée.
La vérification couvre les lignes XPath des headers et properties de Content Modifier et de Write Variables, les conditions de XML Router et les splitters XPath. Elle ne s'exécute que là où l'exemple enregistré correspond vraiment à ce qui arrive à l'étape : un exemple XML précédé uniquement d'étapes qui conservent le body, ou un exemple JSON après un seul JSON to XML Converter. Elle reste silencieuse dans les Local Integration Processes, les Exception Subprocesses et pour les XPath construits avec ${…} ou {{…}} : un avertissement signale donc une vraie incohérence.
Organiser une expression de Message Mapping
Une expression de Message Mapping comptant une douzaine de fonctions devient vite un nœud de lignes qui se croisent. Sur le canevas de l'expression, un bouton Organiser se trouve désormais à côté des boutons de SAP. Il dispose les nœuds des champs source vers la cible. En mode édition, Save conserve la disposition et le bouton d'annulation voisin la rétablit ; en mode lecture, il aide seulement à lire, et la disposition disparaît quand SAP redessine l'expression. Rien n'est enregistré ni envoyé à SAP. Le diagramme de l'iFlow a lui aussi son propre bouton Organiser, en mode édition, avec Annuler.
Ce qui change dans votre iFlow
Externalize Parameters, le collage et Appliquer un modèle écrivent dans l'iFlow ouvert dans le designer, en mode édition uniquement, et le designer affiche l'iFlow comme modifié. Ils n'enregistrent ni ne déploient jamais : vous enregistrez dans SAP, ou cliquez sur Discard pour abandonner la modification. Chacun de ces outils peut être désactivé individuellement dans la page des options, sous Outils ; il disparaît aussitôt du designer. Externalize, le copier-coller d'étape et l'import depuis le Hub font partie des forfaits payants, avec quelques utilisations en Free ; la vérification XPath et Organiser sont gratuits. Pendant le lancement d'Kitegra, tous les outils sont ouverts à toute personne connectée. Comparez les forfaits.
Essayez-le dans votre prochain iFlow
Découvrez ce qu'Kitegra ajoute autour du designer de SAP Integration Suite, ou ce qu'il fait après un clic sur Deploy.
Questions fréquentes
Comment externaliser l'adresse d'un récepteur dans SAP CPI ?
Cliquez sur Edit dans SAP, ouvrez Externalize Parameters dans le menu Kitegra, laissez l'adresse cochée, vérifiez son nom et cliquez sur Externaliser. Enregistrez l'iFlow, puis définissez la valeur par tenant dans Configure ; Copier les valeurs actuelles vous donne les anciennes valeurs à coller.
Puis-je copier des lignes de Content Modifier vers un autre iFlow ?
Oui. Copiez les réglages de l'étape, ouvrez l'autre iFlow en mode édition, sélectionnez un Content Modifier et collez. Choisissez Ajouter les lignes pour n'ajouter que les lignes manquantes, ou Remplacer les lignes.
Faut-il un compte api.sap.com pour l'import depuis le Hub ?
La recherche fonctionne sans compte. Le téléchargement d'une spécification nécessite votre connexion à api.sap.com dans le même navigateur.
Mes copies d'étapes et mes modèles sont-ils synchronisés ?
Non. Ils restent dans le stockage de l'extension de ce navigateur et ne sont jamais envoyés nulle part.
L'un de ces outils enregistre-t-il ou déploie-t-il mon iFlow ?
Non. Les outils écrivent dans l'iFlow ouvert en mode édition ; c'est vous qui l'enregistrez dans SAP, ou qui abandonnez la modification.