Pourquoi l'intégration basée sur un fichier CSV peut être meilleure que l'intégration basée sur l'API

Publié: 2018-11-07

Les commerçants ont souvent besoin de déplacer de grandes quantités de données (telles que des catalogues de produits, des commandes ou des données clients) d'un système à un autre pour le traitement ou l'organisation. Le problème est que la façon dont un système structure et accepte les données peut ne pas être la même que celle du système de destination. Comment transférez-vous et partagez-vous alors les données entre les systèmes (autrement que de les saisir à la main) ?

beaucoup s'appuient sur une intégration qui utilise des fichiers CSV (valeurs séparées par des virgules) pour exporter et importer des fichiers texte de leurs données entre les systèmes. Les CSV sont un type de fichier universel que de nombreux systèmes prennent en charge et que les marchands se sentent à l'aise de gérer. Bien que l'intégration de fichiers soit souvent une option d'intégration, elle a aussi ses limites. Au fur et à mesure que vous évaluez cette approche d'intégration de données, cet article examine pourquoi l'intégration basée sur des fichiers via des fichiers CSV peut être meilleure que l'intégration basée sur des API.

Qu'est-ce que l'intégration de fichiers plats ?

L'intégration basée sur des fichiers se produit lorsque vos données source et/ou vos données de destination doivent être représentées dans un fichier (comme un fichier CSV). Certains systèmes l'exigent comme alternative à une API ou à une connexion directe à la base de données. L'intégration basée sur des fichiers permet de transmettre des données entre différentes bases de données ou systèmes d'exploitation, sans nécessairement s'y connecter directement.

Bien que l'intégration basée sur des fichiers puisse inclure différents types de fichiers (par exemple XML, JSON), cet article se concentre en particulier sur l'intégration de fichiers CSV. Un fichier CSV ne peut contenir qu'un seul fichier, bien que parfois l'intégration basée sur des fichiers vous oblige à combiner des éléments de plusieurs fichiers. Ils sont appelés fichiers "aplatis" où un seul enregistrement est défini sur plusieurs lignes.

intégration csv

Les CSV sont utilisés pour stocker des données tabulaires. Cela signifie qu'ils peuvent être importés et exportés à partir de programmes qui stockent des données dans des tableaux, comme Microsoft Excel ou d'autres logiciels de tableur, pour devenir un format lisible. Il est important de noter cependant que les fichiers CSV ne peuvent pas inclure de formules ni aucune des fonctionnalités de formatage fournies par les feuilles Excel. Si vous enregistrez un document Excel au format CSV, tous ces éléments supplémentaires seront supprimés.

Les commerçants utilisent avec succès l'intégration de fichiers CSV depuis des décennies pour déplacer des données entre les systèmes pour toutes sortes de raisons. Cependant, au cours des 10 à 15 dernières années, les API sont apparues comme un moyen plus «moderne» pour deux systèmes de communiquer ou de s'intégrer l'un à l'autre. Quelle est la différence?

Approche d'intégration API vs intégration CSV

Une API (Application Program Interface) est un ensemble de code qui permet à deux logiciels de communiquer entre eux. L'API d'un logiciel définit une manière standard et prévisible pour un développeur d'écrire un programme demandant des services à un autre système ou application.

Une API REST (REpresentational State Transfer) accepte les requêtes HTTP pour GET, PUT, POST ou DELETE data. REST représente un style architectural et une approche de la communication utilisés dans la plupart des développements de services Web modernes. Par conséquent, il est souvent utilisé pour créer des API permettant aux utilisateurs de se connecter et d'interagir avec les services cloud.

SOAP (Simple Object Access Protocol) est un autre protocole utilisé pour développer des API. Il est moins courant dans les nouvelles API que REST, mais accomplit fondamentalement la même chose.

L'intégration d'API vous permet de connecter deux systèmes en interprétant et en traduisant les données entre deux systèmes via leurs API. Il permet des flux de données tels que "GET Product" à partir d'un point de terminaison API connu dans un ERP et "PUT Product" vers un point de terminaison API connu dans une plate-forme de commerce électronique.

Bien que l'intégration d'API soit une approche plus moderne, ce n'est pas toujours la bonne solution (ou possible) pour les marchands qui cherchent à intégrer leurs systèmes. Voici un aperçu approfondi des raisons pour lesquelles l'intégration basée sur des fichiers peut être meilleure que l'intégration d'API.

Pourquoi l'intégration basée sur des fichiers peut être meilleure que l'intégration d'API

Il existe des scénarios où l'intégration CSV peut être la plus logique pour votre entreprise. Voir ci-dessous quelques-uns des principaux avantages de cette approche d'intégration de système.

Gardez et connectez les systèmes sans API

Tous les systèmes logiciels ne disposent pas d'API disponibles pour l'intégration. C'est souvent le cas pour les anciens logiciels "hérités", mais c'est même le cas pour les systèmes modernes comme la plate-forme de commerce électronique Salesforce Commerce Cloud (Demandware). L'intégration à ces systèmes doit être effectuée sans utiliser d'API, ce qui signifie que votre meilleure option pourrait être l'intégration basée sur des fichiers.

La plupart des systèmes acceptent au moins CSV via un processus d'importation manuel, quel que soit l'âge du logiciel. Certains (encore une fois, comme Salesforce Commerce Cloud) offrent la possibilité d'automatiser l'importation CSV en pointant vers un serveur SFTP.

Il est important de noter que de nombreux commerçants utiliseront cette approche d'intégration au lieu d'entreprendre des projets parfois coûteux pour mettre à niveau ou remplacer ces systèmes sans API.

Non-propriétaire

Les fichiers CSV ne sont pas la propriété d'un fournisseur de logiciels spécifique. La création et le partage d'un CSV est un moyen générique de gérer les données. Cela facilite leur interaction et leur partage entre les personnes et les systèmes. Vous pouvez créer des CSV en utilisant Excel ou un autre tableur et la plupart des gens sont à l'aise de les manipuler de cette façon. Quel que soit le logiciel spécifique que vous utilisez, la possibilité d'importer et d'exporter un fichier CSV n'est pas propre à ce logiciel ou à cette marque.

intégration basée sur un fichier csv

Création de fichiers plus facile

Étant donné que les CSV sont des fichiers en texte brut, il est plus facile pour un développeur Web ou d'autres membres de votre équipe de créer, d'afficher et de valider les données sous forme de feuille de calcul. Tout ce dont vous avez besoin est une ligne d'en-tête en haut et les lignes de données suivantes. Vous pourrez manipuler les données pour les organiser selon vos besoins. Il est alors facile de partager ces données entre différents systèmes.

Il n'y a pas de relation hiérarchique entre les données, à moins que vous ne représentiez artificiellement cette hiérarchie avec plusieurs fichiers CSV. Si vous devez le faire, cela rend l'intégration basée sur CSV plus complexe.

Des exemples courants de fichiers CSV que les marchands peuvent créer sont des feuilles de prix, des listes de clients, des données sur les produits, des données de commande et des remises à partager entre leur commerce électronique et leur système ERP ou POS.

Communication standard entre plusieurs sources

Les fichiers CSV sont également un moyen standard de communiquer des données, ce qui en fait un excellent outil pour collecter et compiler des données à partir de plusieurs sources ou systèmes. Alors que le format des données (quelles colonnes dans quel ordre) variera probablement, un CSV est un type de fichier bien établi, presque universellement pris en charge.

Par exemple, vous pouvez collecter des catalogues de produits auprès d'une poignée de fournisseurs différents. Quel que soit le système qu'ils utilisent pour maîtriser leurs données produit, ils devraient pouvoir exporter un fichier CSV de toutes leurs données produit. Vous pouvez ensuite récupérer et importer ce CSV dans votre système. Vous n'avez pas à vous soucier de l'intégration directe à leur système. Vous n'avez peut-être même pas l'intégration directe de l'API en option pour des raisons de sécurité ou autres.

Limites de l'intégration basée sur des fichiers

Cette approche d'intégration présente des inconvénients que vous devez prendre en compte, en particulier lorsque vous comparez cette approche à une alternative telle que l'intégration basée sur l'API.

Responsabilités en matière de sécurité

Lors de l'automatisation des transferts de fichiers CSV, vous déposez essentiellement un fichier sur un serveur qui est ensuite récupéré par un autre système. Qui maintient les serveurs ? Comment protégez-vous vos données tout au long de ce processus ?

L'intégration basée sur les fichiers oblige les commerçants à penser la sécurité d'une manière différente. Bien que vous souhaitiez que vos données soient sécurisées tout au long du transfert, vous ne pouvez pas non plus rendre l'accès trop difficile. Sinon, il sera très difficile de communiquer avec d'autres systèmes d'entreprise. Il est de votre responsabilité de trouver cet équilibre et de vous assurer que toutes les personnes (et pas plus) peuvent accéder à ces fichiers au besoin.

Synchronisation par lots

Lors de l'intégration de systèmes, la plupart des commerçants souhaitent une synchronisation en temps réel ou instantanée de leurs données entre les systèmes.

Cela serait particulièrement important pour les données telles que les articles de commerce électronique dont la disponibilité des stocks change rapidement ou les commandes qui doivent être exécutées pour une expédition en deux jours. Dès qu'une commande est passée en ligne, vous souhaitez réduire cette quantité de stock sur tous vos canaux de vente et commencer le traitement des commandes. Des retards dans cette synchronisation, même aussi petits que 30 minutes, peuvent entraîner une survente pendant les périodes de pointe telles que les ventes flash ou les vacances. Ils peuvent également ralentir l'exécution des commandes et vous faire manquer les dates de livraison garanties. Votre client en subit les conséquences.

La plupart des intégrations de fichiers CSV par défaut ne peuvent pas se synchroniser instantanément. En effet, il n'est pas vraiment possible d'écrire continuellement de nouvelles lignes dans un CSV alors qu'un autre système lit continuellement de nouvelles lignes à partir du CSV. Vous devez écrire un tas de lignes dans un fichier, déposer ce fichier pour qu'il soit récupéré, puis démarrer un nouveau fichier.

Cela signifie que si vos règles de démarrage d'un nouveau fichier sont "nombre de lignes" ou "période de temps", il y aura une sorte de retard dans le processus.

Pensez à l'intégration de fichiers CSV d'une autre manière : vous ne recevez pas de courrier à la demande car il arrive comme un courrier électronique arriverait. Une fois par jour, vous recevez potentiellement un lot de lettres et vous les envoyez également par lot.

Gestion de structures de données complexes

Bien que la structure de fichiers plats d'un CSV puisse être un avantage, elle peut aussi être son inconvénient. De par leur conception, les données CSV ne sont ni hiérarchiques ni orientées objet, ce qui signifie qu'elles ont une structure omniprésente. Pour certains marchands, cela pose problème lorsque vous disposez de plusieurs couches de données liées les unes aux autres. Réfléchissez à la façon dont vous auriez besoin de représenter les commandes avec plusieurs éléments de ligne ou un produit disponible en plusieurs tailles ou couleurs.

Vous finirez par créer plusieurs fichiers CSV pour essayer de représenter cette relation entre vos données. Il peut être difficile d'essayer de gérer et d'organiser de grands ensembles de données.

Validation des données

Une étape cruciale de l'intégration du système consiste à valider les données que vous transférez. Vous ne voulez pas envoyer des données inexactes ou erronées à un autre système, d'autant plus que cela peut provoquer des erreurs « invalides ». Avec l'intégration de fichiers CSV, la validation des données est un processus manuel pour ses utilisateurs.

Lorsque vous avez affaire à plusieurs CSV avec des centaines de lignes de données, la validation devient difficile à gérer. Vous ne serez pas seulement en mesure de "regarder" que tout semble bien pour envoyer. Au lieu de cela, les utilisateurs s'appuieront sur des formules ou des macros écrites dans Excel pour mettre en évidence les cellules si elles se trompent. Ensuite, vous devez entrer à la main pour corriger les erreurs. Ce processus prend du temps et est défectueux lors de l'examen de grandes quantités de données.

Dans certains cas, le système dans lequel vous chargez les données CSV peut fournir une validation des données sur le CSV importé, mais cela présente également des inconvénients. L'existence et la robustesse de ces fonctionnalités ne sont pas cohérentes d'une plateforme à l'autre. Et, souvent, ils ne gèrent pas bien la transaction d'importation en cas d'échec. Cela pourrait signifier que si une ligne sur 100 000 était incorrecte, l'importation entière pourrait échouer.

Récupération d'erreurs lors du transfert de données

L'intégration de fichiers CSV repose sur le dépôt et la récupération de fichiers sur les serveurs. Tout au long de ce processus, de nombreux problèmes peuvent survenir, tels que la corruption du fichier ou l'arrêt du serveur ou du système de fichiers. De plus, il n'y a généralement pas de vérification des caractères non valides, des descriptions de données manquantes ou d'autres problèmes de contenu de fichier. Que se passe-t-il lorsque vous envoyez un fichier avec ces problèmes ? Comment comptez-vous y remédier ?

Gestion des ressources de calcul pour le traitement des données

Selon la façon dont le code est écrit pour intégrer vos systèmes, l'intégration basée sur des fichiers peut nécessiter beaucoup de CPU et de RAM pour lire de grands ensembles de données sur plusieurs fichiers.

Problèmes d'encodage des caractères

Chaque système a sa propre valeur par défaut pour l'encodage des caractères, par exemple UTF-8. Lors du partage de fichiers texte (comme CSV), les commerçants doivent tenir compte du fait que les fichiers doivent utiliser les mêmes caractères d'encodage. Sinon, l'un de vos fichiers CSV peut être rejeté ou les données peuvent sembler incorrectes car le système n'est pas en mesure de lire correctement vos caractères. Par exemple, le système de destination peut ne pas être en mesure de lire des apostrophes ou des caractères spécialisés pour les langues asiatiques.

En savoir plus sur l'intégration CSV

Les commerçants disposent d'options lorsqu'il s'agit d'intégrer leurs systèmes. Et pour beaucoup, l'intégration basée sur des fichiers via des fichiers CSV peut être la bonne option. Cependant, cette approche d'intégration n'est pas sans inconvénients que vous devez prendre en compte.

Si vous souhaitez en savoir plus sur la façon d'automatiser votre entreprise grâce à l'intégration basée sur les fichiers, découvrez la solution de transfert de fichiers de nChannel, qui est conçue pour répondre directement à tous les défis décrits dans ce document.