Cartographie et transformation de données JSON avec MapForce

JSON est un format populaire pour le transfert de données entre systèmes, grâce à sa structure simple, sa faible taille et son héritage basé sur le langage de programmation JavaScript. MapForce prend en charge JSON à la fois comme format d'entrée et de sortie pour la cartographie et la transformation des données JSON. Par exemple, MapForce peut extraire des informations à partir de n'importe quelle base de données courante et produire un fichier JSON prêt à être transféré. Le besoin : Voici un exemple d'un besoin typique de cartographie de données JSON : Une entreprise manufacturière contrôle ses coûts en utilisant un processus d'assemblage "juste-à-temps", avec un stock de pièces très limité. Les nouvelles commandes clients sont enregistrées dans une base de données de ventes, et à la fin de chaque jour, les composants nécessaires à l'assemblage des ventes de ce jour sont répertoriés grâce à une requête dans la base de données. Les pièces nécessaires sont commandées auprès des fournisseurs via un bon de commande transmis au format JSON.

Nous avons besoin de deux éléments pour concevoir la transformation et la mise en correspondance des données JSON dans MapForce, afin de générer la commande d'achat : une requête SQL pour interroger la base de données et un document JSON qui servira de modèle pour la commande d'achat. Nous avons déjà abordé le sujet de la mise en correspondance de bases de données, notamment dans Fonctionnalités des bases de données dans la gamme de produits Altova, nous allons donc nous concentrer ici sur la partie JSON.

Voici un aperçu du fichier d'exemple JSON, qui sert de modèle pour la sortie de la correspondance des données :

Si vous devez créer une instance JSON à partir de zéro, vous pouvez la saisir directement dans XMLSpy, en profitant de la coloration syntaxique, des assistants de saisie contextuels, de la mise en évidence structurelle pour correspondre aux parenthèses et aux accolades, et d'autres fonctionnalités d'édition JSON. Si vous n'êtes pas suffisamment familier avec JSON pour le saisir directement, vous pouvez également utiliser XMLSpy pour convertir une instance XML en un fichier JSON.

Lorsque nous importons un fichier d'exemple JSON dans une configuration de mappage de données, MapForce génère automatiquement un fichier de schéma JSON à partir de cet exemple, en se basant sur le schéma JSON Draft 04 (http://tools.ietf.org/html/draft-zyp-json-schema-04).

Le schéma JSON est ajouté à la configuration de la correspondance, et ses éléments de données peuvent être associés soit comme entrées, soit comme sorties :

La fenêtre de requête de base de données de MapForce offre un espace pratique pour tester ou affiner la requête SQL :

Nous pouvons intégrer la requête SQL dans la configuration pour fournir les données sources du fichier JSON :

Ensuite, nous établissons une connexion entre les résultats de la requête SQL et les éléments de données du composant JSON :

Notez que l'instruction SELECT elle-même est associée à la déclaration d'objet située sous le tableau de lignes (mise en évidence en rouge ci-dessus). Cela permettra de créer un nouvel objet JSON dans le fichier de sortie pour chaque ligne de données contenue dans le résultat de la requête.

Le dernier élément à configurer pour finaliser la correspondance et la transformation des données JSON est la date. Nous devons fournir la date de la commande dans le fichier de sortie, et nous devons également affiner la requête SQL pour qu'elle sélectionne toujours les données du jour en cours. MapForce inclut une fonction de gestion de dates et d'heures appelée "now" qui peut répondre aux deux besoins.

Voici la correspondance des données JSON complétée :

Nous avons appliqué des fonctions de manipulation de dates et d'heures supplémentaires pour extraire le mois et le jour, afin de fournir des paramètres pour la requête SQL, et nous avons supprimé les informations de fuseau horaire de la fonction "now" pour fournir la date pour la sortie JSON. (Nous n'avons pas fourni de paramètre pour l'année, car la base de données de tests de notre service commercial ne contient que des commandes pour une seule année.)

En cliquant sur le bouton "Sortie" situé sous la fenêtre de mappage de MapForce, le processus de mappage est exécuté et le résultat est affiché

Maintenant, la correspondance et la transformation des données JSON sont prêtes à être exécutées quotidiennement pour générer les commandes JSON des pièces nécessaires à la chaîne de production. Nous pouvons automatiser ce processus en enregistrant la correspondance sous forme de fichier d'exécution MapForce Server, qui sera traité par MapForce Server. Ce traitement peut être effectué via un fichier batch, sous le contrôle de FlowForce Server, ou via l'API de MapForce Server.

Ou, pour approfondir l'analyse de la correspondance, nous pouvons ouvrir le schéma JSON que MapForce a automatiquement généré à partir du fichier d'exemple dans XMLSpy, et l'examiner dans la vue de schéma XMLSpy :

MapForce est un outil puissant de mappage de données qui permet de convertir des données JSON vers ou depuis différents formats, notamment : XML, JSON, bases de données, EDI, XBRL, fichiers plats, Excel et/ou services web. Pour l'essayer avec vos propres données JSON, téléchargez.. Version d'essai entièrement fonctionnelle et gratuite aujourd'hui !