---
title: "Évitez la redondance dans l'intégration des données"
date: "2012-04-30"
categories: 
  - "applications"
  - "data-integration"
tags: 
  - "data-integration"
  - "mapforce"
  - "missionkit"
  - "stylevision"
description: Découvrez comment adapter vos projets d'intégration de données en utilisant MapForce pour les API en constante évolution, en minimisant les redondances tout en améliorant la valeur grâce à des correspondances innovantes.
---
Status: #blog

Tags:  #data-integration #mapforce #missionkit #stylevision

Categories: [data-integration](/blog/fr/category/data-integration.md)
# Évitez la redondance dans l'intégration des données

Internet met à disposition une quantité massive de données pour de nombreuses applications intéressantes. Cependant, chaque fois que vous concevez une analyse et une présentation originales d'informations que vous ne contrôlez pas directement, vous prenez le risque que le propriétaire de ces données propose la même présentation à un moment donné dans le futur, rendant ainsi votre application instantanément obsolète.

C'est exactement ce qui s'est produit avec le projet d'extraction de données de l'API Groupon dont nous avions initialement parlé le [1er août 2011](https://www.altova.com/blog/2011/08/processing-groupon-api-with-altova.html). Heureusement, le cœur de notre projet est une [interface graphique de mappage de données MapForce](https://www.altova.com/fr/mapforce/mapping-interface.html). Nous pouvons rapidement et facilement modifier le mappage et le réutiliser pour présenter un ensemble de données complètement différent, qui apporte une nouvelle valeur.

![Sortie HTML générée par MapForce et StyleVision](https://lh4.ggpht.com/-Cljb05Xyph0/T5638l3TgOI/AAAAAAAAAzY/e2ZOHUuYI18/clip_image001%25255B1%25255D.png?imgmax=800 "HTML output from MapForce and StyleVision")

<!--more-->

Notre projet a débuté lorsque nous avons constaté que les offres Groupon n'étaient disponibles que dans quelques lieux spécifiques, mais qu'elles pouvaient être utilisées en ligne pour obtenir des produits physiques qui pouvaient être expédiés presque partout.

Nous avons utilisé MapForce pour interroger l'API de Groupon et obtenir toutes les offres disponibles dans chaque localité de Groupon. Nous avons ensuite filtré les offres classées comme des offres en ligne, et nous les avons présentées sur une page HTML, joliment formatée grâce à Altova [StyleVision](https://www.altova.com/fr/stylevision.html), pour les appareils de bureau et mobiles.

L'onglet "Produits" récemment ajouté en haut de la page web de Groupon rend désormais complètement obsolète notre système de classification des données initial, car il offre un accès immédiat aux articles en vente en ligne provenant de nombreux endroits.

![Barre de menu Groupon](https://lh6.ggpht.com/-orkQDLNQCSY/T563-EVvRvI/AAAAAAAAAzc/yA-Y-iOqQIA/clip_image003%25255B1%25255D.png?imgmax=800 "Groupon Menu Bar") 

De plus, comme la plupart des mêmes produits sont proposés dans presque tous les points de vente Groupon, notre système de cartographie génère désormais des dizaines de doublons.

**Réutiliser l'application**

En considérant le sujet de manière plus globale, la justification de notre projet initial reste valable : Groupon organise et présente des offres en fonction d'une requête géographique, mais il arrive que l'attrait de l'offre soit plus important que son emplacement. Par exemple, un voyage à Allentown, en Pennsylvanie, ne figurait peut-être pas sur votre liste de choses à faire, mais imaginez si vous saviez qu'il existait une offre Groupon pour conduire une Ferrari, une Lamborghini ou une Aston Martin pendant cinq à dix tours sur le circuit de Pocono, pour la moitié du prix habituel ?

L'offre Ferrari ne correspond pas à une offre en ligne, elle n'est donc pas répertoriée dans l'onglet "Produits", et elle n'est pas sélectionnée par notre système de mappage de données MapForce. En tant que nouvelle cible pour notre conception de mappage, collectons toutes les offres Groupon de toutes les localisations qui ne sont PAS classées comme des offres en ligne. Il y a probablement beaucoup de choses intéressantes à faire dans des endroits qui ne nous viennent pas forcément à l'esprit. Voici la section de notre mappage de données initial qui filtrait les données reçues de l'API pour sélectionner les offres en ligne :

![MapForce sélectionne les offres en ligne](https://lh5.ggpht.com/-Ptb0HXebrqc/T563-k1EN7I/AAAAAAAAAzg/CIcr6nH_yfk/clip_image004%25255B1%25255D.png?imgmax=800 "MapForce mapping selects Online deals")

La fonction "contains" située au centre de la capture d'écran vérifie si un élément appelé "`redemptionLocation`" dans la description de l'offre contient le mot "Online", ce qui indique une offre en ligne. L'offre est transmise pour un traitement ultérieur uniquement si le résultat de cette vérification est positif.

La fonction logique "et", située en haut à droite, combine les offres en ligne avec un contrôle de l'élément appelé `isSoldOut` afin de ne sélectionner que les offres qui sont toujours disponibles ( `isSoldOut` = faux).

Nous pouvons très facilement inverser l'ensemble des données collectées en insérant une fonction "non" logique après la fonction "contient". La nouvelle sélection choisira toutes les offres qui NE contiennent PAS le mot "en ligne" `redemptionLocation` élément.

![MapForce sélectionne les offres qui ne sont pas disponibles en ligne](https://lh3.ggpht.com/-l13YN4e-Ato/T563_kIuLDI/AAAAAAAAAzk/XGsRLiOmeR4/clip_image005%25255B1%25255D.png?imgmax=800 "MapForce mapping selects NOT Online deals")

Étant donné que la structure des données ne change pas, seule le contenu est modifié, nous n'avons rien d'autre à faire avant d'exécuter la nouvelle version de la configuration. Voici un extrait de la sortie XML illustrant l'accord concernant Ferrari :

![Extrait de la sortie XML de MapForce](https://lh5.ggpht.com/-dp5HsRJow_0/T564AKiKGLI/AAAAAAAAAzo/eHry_7Ow_vo/clip_image006%25255B1%25255D.png?imgmax=800 "Portion of MapForce XML Output") 

Nous pourrions prendre ce fichier de sortie et le traiter immédiatement avec StyleVision en utilisant notre feuille de style d'origine pour créer un document HTML, mais tant que nous sommes dans MapForce, ajoutons deux améliorations supplémentaires.

**Supprimer les données en double**

Nous constatons encore quelques doublons dans les nouveaux résultats, car les mêmes offres sont fréquemment proposées dans plusieurs quartiers des grandes villes. L'un des exemples inclus avec MapForce est une transformation appelée DistinctArticles.mfd, qui illustre comment supprimer les doublons d'un flux d'entrée où les nœuds XML contiennent des données répétées.

Nous pouvons facilement copier le design de l'exemple et l'appliquer à notre propre carte Groupon

![MapForce supprime les nœuds XML contenant du contenu en double](https://lh5.ggpht.com/-kNbDk_pMp9M/T564A1OHw9I/AAAAAAAAAzs/YuYcMlJFKpc/clip_image007%25255B1%25255D.png?imgmax=800 "MapForce removes XML nodes with duplicate content") 

L'élément "Titre" sert de clé unique pour identifier les doublons, et la variable "calculer quand" ne transmet que la première occurrence pour un traitement ultérieur.

Bien sûr, nous pouvons également appliquer cette stratégie de suppression des doublons à la liste initiale des offres en ligne, afin de vérifier si l'onglet "Produits" pour un emplacement donné propose réellement toutes les offres en ligne disponibles. (Ce n'est pas le cas.)

**Tri des données**

Une nouvelle fonctionnalité ajoutée à la version 2 de MapForce 2012 nous permet de trier les données avant qu'elles n'atteignent le fichier de sortie. Voici la section de la configuration qui effectue d'abord un tri par les noms des divisions, qui correspondent aux emplacements Groupon pour les offres, puis par le titre de l'offre au sein de chaque emplacement.

![Tri des données dans MapForce](https://lh4.ggpht.com/-aGsc77JuG5U/T564BtdPWcI/AAAAAAAAAzw/xYktjaMw2t0/clip_image008%25255B1%25255D.png?imgmax=800 "Data sorting in MapForce")

Maintenant, nous pouvons traiter les données cartographiées et générer un document HTML en transformant le fichier de sortie XML à l'aide de notre feuille de style StyleVision d'origine

![Sortie HTML transformée par StyleVision](https://lh6.ggpht.com/-TbYmj47yh6A/T564CQgaXHI/AAAAAAAAAz0/7EJajx0u_KQ/clip_image009%25255B1%25255D.png?imgmax=800 "HTML output transformed by StyleVision")

Peut-être pourrons-nous même obtenir une offre spéciale sur une délicieuse collation italienne après avoir conduit une voiture italienne rapide ! **MapForce et StyleVision sont tous deux disponibles ensemble dans le pack Altova MissionKit, proposé à un prix avantageux. Découvrez par vous-même à quel point il est facile d'utiliser le MissionKit pour intégrer des données provenant d'une API Web –** [**téléchargez une version d'essai gratuite de 30 jours !**](https://www.altova.com/fr/download/missionkit/software_development_tools_enterprise.html)
