Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
Enterprise Flows Repository - Base de connaissance
Documentation Enterprise Flows Repository

Documentation
Results will update as you type.
  • Guide utilisateur
    • Connexion à EFR
    • Gestion des flux
    • Gestion du changement
    • Tests de Non-Regression
    • Cartographie
      • La cartographie du SI en couches
      • Cartographier un transport de données
      • Cartographier un portefeuille d'applications
      • Rapports
      • Référentiels
        • Vue métier
        • Modèles dynamiques pour les échanges
        • Sources et cibles dynamiques dans les flux et les échanges
        • Vue des applications
        • Vue des interactions
          • Médiations
            • Définir une erreur de médiation
            • Extraire dynamiquement les valeurs métier des traces
            • Calculer le statut des traces de médiation dynamiquement
          • Flux
  • Administration
  • Intégration de EFR avec vos applications
  • Rapports Kibana
  • Releases notes
  • Webinaires
  • Glossaires
  • Patrons d'intégration
  • Mentions des logiciels tiers

    You‘re viewing this with anonymous access, so some content might be blocked.
    /
    Extraire dynamiquement les valeurs métier des traces
    Updated sept. 30

      Extraire dynamiquement les valeurs métier des traces

      Objectif(s)

      Limiter le travail des développeurs, en faisant en sorte que le moteur de EFR puisse s’occuper d’extraire les clefs métier des traces, sans que le développeur n’ait à les expliciter.

      Principe

      Par défaut, les clés métiers sont communiquées dans la trace envoyée epar API. cf. Publier des traces de transportPreview

      Toutefois, il est possible de déléguer l’extraction à EFR. Ainsi, toutes les traces d’une même médiation seront lues et interprétées. Le body ou les headers du message peuvent être la source de ces clés métier.

      Si l’analyse est conforme, la valeur extraite sera ajoutée aux clées métiers de la trace.

      Démarche

      Dans la vue d’une médiation, utiliser la vue tabulaire pour se rendre sur “Clefs métier”.

      image-20250401-132348.png
      Onglet correspondant dans la vue d’une médiation.

      En cliquant sur une bouton “Ajouter une clef métier”, le dialogue suivant apparaîtra :

      image-20250401-132451.png
      Dialogue de configuration d’une nouvelle extraction de valeur métier
      • Le nom est le nom de la clef métier qui sera créée. Elle doit être unique au sein de la médiation.

      • La source désigne l’origine de la valeur métier à extraire. Il s’agit soit du body, soit des headers.

      • La technologie désigne quel sera le moyen d’extraire la donnée de la source.

        • Le jsonpath permet de sortir des données JSON avec le langage JSONPATH.

        • Le xpath traite du XML avec le langage XMLPATH.

        • Le csv_with_header extrait un contenu CSV en utilisant le header pour les noms de colonnes,

        • Le csv_without_header extrait un contenu CSV en utilisant l’alphabet pur les noms de colonnes.

        • le mode none conserve l’intégralité de la valeur fournie.

      • Le chemin va paramétrer la technologie afin d’extraire la valeur dans la source.

        • Dans le cas où la source est le body, et dans le cas de la technologie jsonpath ou du xpath, la valeur attendue sera de la forme $.foo ou //foo. Si la technologie est “none”, le chemin sera sans effet.

        • Dans le cas où la source est les headers, alors le chemin est le nom du header à lire. La technologie sera ignorée.

      Cas spécifique du CSV

      Il n’existe pas de formalisme pour le CSV. Celui-ci est donc transformé en JSON pour être interprété.

      Les noms des champs utilisés sont pour:

      • csv_with_header: la 1ere ligne du CSV contient les noms des colonnes ;

      • csv_without_header: utilise l’alphabet pour déclarer des noms de colonnes. Comme sur Excel, les colonnes commencent à A, vont jusqu'à Z. La limite est de 27 colonnes.

      Principe de transformation:

      • Un fichier CSV contient N lignes. Un tableau est la base à manipuler.

      • Chaque colonne est un élément à plat.

      • La liste des séparateurs est: “;” , “,” et “|”.

      Exemple csv_with_header:

      Version CSV

      colonne1;colonne2;colonne3 A;B;Facture-110 A;B;Facture-abc A;B;Facture-xyz

      Version transformée en JSON

      [ { colonne1:A, colonne2:B ,colonne3:Facture-110 }, { colonne1:A, colonne2:B ,colonne3:Facture-abc }, { colonne1:A, colonne2:B ,colonne3:Facture-xyz } }

      Exemple csv_without_header:

      Version CSV

      001;abc;Facture-110 002;abc;Facture-abc 003;def;Facture-xyz

      Version transformée en JSON

      [ { A:001, B:abc ,C:Facture-110 }, { A:002, B:abc ,C:Facture-abc }, { A:003, B:def ,C:Facture-xyz } }

      Exemples

      Technologie

      Message

      Configuration

      Résultat

      Technologie

      Message

      Configuration

      Résultat

      XML

      <content> <a>A</a> <b>B</b> <bp>Facture-110</bp> </content>
      • nom: Facture

      • source: BODY

      • Chemin: /content/bp

      • Facture: Facture-110

      JSON

      { "a": "A", "b": "B", "bp": "Facture-110" }
      • nom: Facture

      • source: BODY

      • Chemin: $.bp

      • Facture: Facture-110

      CSV_WITH_HEADER

      colonne1;colonne2;colonne3 A;B;Facture-110 A;B;Facture-abc A;B;Facture-xyz
      • nom: Facture

      • source: BODY

      • Chemin: $.*.colonne3

      • Facture: Facture-110

      • Facture: Facture-abc

      • Facture: Facture-xyz

      CSV_WITHOUT_HEADER

      A; B; Facture-110; A; B; Facture-abc; A; B; Facture-xyz;
      • nom: Facture

      • source: BODY

      • Chemin: $.*.C

      • Facture: Facture-110

      • Facture: Facture-abc

      • Facture: Facture-xyz

      NONE

       

      • nom: Facture

      • source: HEADER

      • Facture: Facture-110 (valeur dans un en-tête).

      Historique

      Date

      Commentaires

      Date

      Commentaires

      2025-04-01

      Création de la page.

       Sep 1, 2025

       Ajout de la prise en compte du format CSV et du séparateur “|” .

      Ce contenu est soumis au droit à Copyright. Il ne doit pas être utilisé sans accord de la société Middleware Editions.

      {"serverDuration": 11, "requestCorrelationId": "272cb3df93804f4391ebe358d1ed98a3"}