L’une des missions principales du prototype DFC est d’établir des liens de correspondance entre des données issues de plusieurs plateformes. Pour le producteur en circuit court il s’agit de relier un produit qu’il distribue sur une plateforme 1 (ex: carotte) avec un produit qu’il distribue sur une plateforme 2. Le prototype évolue aujourd’hui dans sa manière de gérer ces liens de correspondance vers un mécanisme plus simple et plus performant.
Le Data Food Consortium travaille de manière agile, y compris dans le développement du prototype. Ce dernier se complexifie et s’améliore au fur et à mesure de l’évolution de nos travaux de recherche. Jusqu’à maintenant, lors de l’import d’un catalogue sur le prototype nous copiions les produits du producteur depuis la plateforme importée dans un nouveau produit DFC. Ces produits DFC intermédiaires nous ont permis de mettre en œuvre des fonctionnalités plus rapidement en manipulant les relations de correspondance plus facilement.
Désormais le prototype n’a plus besoin des produits DFC intermédiaires. Les relations de correspondances ne sont plus stockées dans ces produits DFC mais directement dans la copie des produits provenant des plateformes. Le prototype copie en effet les données issues des plateformes dans sa propre base de données. Sans ce mécanisme de cache, il serait nécessaire d’envoyer de nombreuses requêtes aux plateformes à chaque fois que nous voudrions accéder à leurs données depuis le prototype (pour afficher la liste des produits par exemple).
Cette copie locale des données (cache) pose cependant un problème lorsque les données stockées sur les plateformes sont mises à jour. Par exemple si le producteur se rend directement sur l’une des plateformes qu’il utilise pour éditer le nom d’un produit, le prototype DFC ne sera pas informé du changement et le nom affiché par le prototype ne sera pas le bon. C’est un problème bien connu dans le monde de l’informatique et plus particulièrement dans l’univers du web sémantique. Nous réfléchissons au moyen de le résoudre et pensons notamment à un mécanisme de notification qu’échangeraient les applications DFC pour rester synchronisées : lorsqu’une donnée serait modifiée, les autres applications seraient directement averties.