Au commencement il y a eu un logiciel, puis un second. Et très vite on a voulu les faire dialoguer, et là tout s’est compliqué.

L’idée était pourtant louable, un logiciel contient des données, il tombe sous le sens qu’un autre logiciel pourrait les utiliser, soit en les dupliquant (bof) soit en accédant à la demande à une information précise.

Tant qu’à pousser le raisonnement, on peut même imaginer non seulement lire des informations, mais aussi les mettre à jour, voire les effacer (non je plaisante, quoique …).

Et allez soyons fou, pourquoi ne pas commander un logiciel depuis un autre logiciel, lui faire exécuter des tâches en lui fournissant les éléments habituellement connus des seuls humains mais dont on se doute bien que lesdits humains les reprennent d’un de ces supports numériques dont chacun sait qu’ils remplacent avantageusement notre imparfaite mémoire biologique.

Voila donc aujourd’hui la petite histoire de l’échange de données informatisé.

 

Export/import

 

Le plus simple est évidement le fichier texte. Tout logiciel digne de ce nom dispose d’une fonction d’export texte (attention au jeu de caractères ), capable de générer un fichier délimité (attention au séparateur) à partir d’un flux de données interne (attention au sens de chacune des colonnes).

Tout cela est simplissime (mais assorti de nombreux « attention » ) et bien-sûr  à condition de disposer d’un humain pour réaliser l’opération.

 

Copier/coller

 

Depuis l’avènement des interfaces graphiques, on retrouve un équivalent encore plus simple d’utilisation : la fonction de copier et coller. Elle dispense de traiter spécifiquement une fonction d’export et permet des sélections partielles mais toujours avec le besoin d’un humain aux commandes. Sa version automatisée nommée DDE (pour Direct Data Exchange) inventée par Windows fut un échec.

 

L’accès direct aux données

 

Derrière les applications, on trouve des bases de données, et celles-ci offrent bien évidemment des outils d’accès normalisés. Un moyen simple de traiter des données externes mais vulnérable aux moindres évolutions du logiciel tiers, sauf à ce qu’il publie et documente les accès, souvent par le biais de « vues ».

Une bonne solution, totalement automatisée mais peu adaptée au dialogue au travers d’internet pour des raisons évidentes de sécurité, et surtout en général limité à la lecture de données  

 

Des normes d’échanges

 

En informatique tout commence et tout fini par une norme. Les échanges de données nécessitent un formalisme au niveau de l’interrogation, puis de la forme du contenu et enfin du protocole de transfert.

Paradoxalement, les normes se sont imposées dans l’ordre inverse, cela ne s’est pas fait dans ce sens par hasard, on doit d’abord construire une route avant d’y rouler !

Tout d’abord s’est imposé le protocole de transfert grâce à TCP/IP, puis sur la forme au travers de XML et plus récemment de JSON. Il restait donc au final à définir un format d’interrogation.

Cela ne s’est pas fait dans cet ordre par hasard, on doit d’abord construire une route avant d’y rouler !

Mais surtout c’est le mode d’interrogation qui a été le plus complexe à définir.

 

L’Échange de Données Informatisé

 

Le concept s’est donc formalisé sous le d’EDI, et il se devait d’avoir sa norme. Ce fut « EDIFACT »  pour Échange de Données Informatisé pour l’Administration, le Commerce et le Transport.

Seulement, n’en déplaise à son fan club qui vous dira que les webservices ne sont pas comparables à Edifact, la publication de webservices dans un site web, au format XML ou JSON et accessibles au travers d’appels REST ou éventuellement SOAP, se sont avérés infiniment plus simples à mettre en œuvre et sont  devenus le vrai standard.

Mais c’est une autre histoire …

 

Olivier Piochaud, Président Directeur Général d’Apsynet

 

 

Je laisse mon avis ici :

Catégories : Développement & Web