Pas d’intelligence dans les outils d’échanges d’information !

June 15th, 2005 par Franck Arnulfo

Une fois n’est pas coutume, voici un coup de gueule (un petit quand même) concernant un problème sur le transfert d’information.
Je m’explique: imaginons que vous travaillez sur un projet où vous devez échanger des informations avec un partenaire (fournisseur, client, etc…) via des fichiers.
Vous travaillez de votre coté sur une application qui va générer un fichier puis vous envoyez ce fichier via un outil de transfert de fichier (ftp par exemple).
Le ftp dans ce cas n’a aucun ou presque impact sur votre fichier, il ne fait que le transférer et votre application est bien indépendate du transfert, à la charge du ftp de le transmettre correctement.
Mais de l’autre coté, votre partenaire n’utilise pas ftp mais un outil de transfert qui en plus de faire des transferts peut modifier le fichier transféré.
Un exemple parmi d’autres : votre partenaire génére un fichier qui contient un enregistrement par ligne et configure l’outil de transfert spécialisé pour ajouter en début de ligne un compteur d’enregistrement du fichier et en profite au passage pour normaliser (compléter avec des blancs) chaque ligne à X caractéres parce qu’il le fait déjà pour d’autres partenaires (et non vosu ne pouvez pas lui dire de faire autrement).
Ces modifications de fichier se font donc à la volée, lors de la transmission du fichier : pas de transmission , pas de modification du fichier d’origine.
Et là survient le problème : un problème réseaux sur la ligne entre vous et le partenaire mais le mail fonctionne toujours.
Votre application n’ayant besoin que du fichier car elle est bien indépendate du transfert, vous demandez à votre partenaire de l’envoyer par mail (en PGP bien sûr).
Votre partenaire s’exécute mais quand vous observez le fichier ce n’est pas du tout le format attendu !
Tout ça parce que les transformations sur le fichier se font à la volée lors de la transmission.
Et le partenaire est incapable de vous fournir un fichier correct sans le transmettre autrement que via son outil spécialisé !
Et vous êtes bon pour modifier le fichier à la mano (vive perl) !

Et on retombe dans un vieux classique : l’intelligence du réseau par rapport aux applications qui l’utilise.
Le réseau doit-il avoir une intelligence par rapport aux données qu’il transporte ?
Par exemple, supposons que nous utilisons un réseau qui compresse les données transférés pour optimiser la bande passante.
Et bien il va pas compresser grand chose si vous transférer un fichier déjà compressé (en bz2 par exemple), et il va même perdre du temps et même consommer plus de Ko !
Un autre exemple d’un réseau qui garantirait que toute donnée envoyée est bien reçu, ce qui semble intéressant sur le principe mais dans le cas d’application de vidéo conférence il vaut mieux que l’application cliente sache se satifaire d’une perte de donnée plutôt que de tout recevoir proprement mais avec un décalage de 20 minute !
Pour rappel le protocol IP est un modèle de simplicité, son principe est de router des paquets d’un point à un autre, point barre, et si des paquets sont perdus c’est aux applications d’en tenir compte. C’est pour cela que l’on trouve le protocole TCP/IP qui comme son nom l’indique s’appuie sur IP et y rajoute une couche qui garantit que les données arrivent bien au destinaire. Mais ce protocole est à chaque bout du réseau et pas dans le réseau lui-même.
L’intelligence est de chaque coté du réseau et pas intégré dans le réseau IP.
Ce qui permet d’utiliser IP pour faire de la vidéo conférence avec des pertes de paquet, des transferts ftp avec une sécurité que le fichier arrive bien, etc…

IP : bien
Outil de transfert qui modifie le fichier : pas bien !

3 Responses to “Pas d’intelligence dans les outils d’échanges d’information !”

  1. Eric Says:

    Une histoire vécue ? :)

  2. Jérôme Says:

    Gnyark, mon petit doigt me dit que t’as des soucis de ce genre depuis un petit moment :p Courage, mets toi au yoga!

  3. Franck Says:

    Effectivement c’est du vécu, mais je les aurais !

Leave a Reply

You must be logged in to post a comment.