L’interopérabilité des systèmes d’information
L’importance de l’interopérabilité est la conséquence logique de la transformation digitale que vit aujourd’hui l’ensemble des secteurs économiques. La multiplication des applications utilisées au quotidien dans nos vies personnelles ou professionnelles implique nécessairement l’augmentation des échanges d’information entre des systèmes hétérogènes. De nouvelles normes et standards voient le jour régulièrement, apportant certes de nouvelles solutions mais aussi un florilège de nouveaux projets pour les mettre en action.
Face à cela, les DSI ont la lourde tâche de gérer au mieux l’urbanisation de leur système d’information afin qu’il accompagne et soutienne efficacement les missions et la stratégie de leur entreprise.
Définition de l’interopérabilité
La définition suivante est celle sur laquelle s’accordent L’AFUL (Association Française des Utilisateurs de Logiciels libres) et Wikipédia. Elle a notamment servi de base à la rédaction du RGI, le Référentiel Général d’Interopérabilité dans lequel l’état définit les normes et standards de communication des applications gérées par les ministères, administrations et collectivités :
« L’interopérabilité est la capacité que possède un produit ou un système, dont les interfaces sont intégralement connues, à fonctionner avec d’autres produits ou systèmes existants ou futurs et ce sans restriction d’accès ou de mise en œuvre. »
Dans le cas de l’interopérabilité des systèmes d’information, cette définition revêt plusieurs aspects comme la possibilité pour une application d’interagir avec plusieurs systèmes de bases de données (SGBD) en utilisant la norme ODBC par exemple ou encore la normalisation des langages de programmation permettant à des systèmes hétérogènes de communiquer au travers d’internet.
Il existe également plusieurs niveaux d’interopérabilité en fonction de la couche à laquelle se fait la communication.
Les trois niveaux d’interopérabilité
L’interopérabilité technique
Comme son nom l’indique, elle constitue la partie technique des échanges. Elle recouvre les aspects matériels utilisés pour mettre en communication les systèmes mais également les types d’interface utilisés (API, connecteurs…), le format des données qui sont échangées ainsi que les protocoles utilisés pour ces échanges. L’interopérabilité technique décrit la capacité pour des technologies différentes à échanger des données basées sur des normes d’interface bien définies. Ce niveau d’interopérabilité est soutenu par des modèles comme le MDA (Model Driven Architecture) qui permet, en partant d’un modèle métier indépendant de l’informatisation, la transformation de celui-ci en modèle indépendant de la plate-forme et enfin la transformation de ce dernier en modèle spécifique à la plate-forme pour l’implémentation concrète du système en utilisant des langages spécifiques ou généralistes comme Java, C# ou Python.
L’interopérabilité sémantique
Ce niveau d’interopérabilité assure que le sens des informations échangées soit compréhensible par n’importe quelle autre application qui accède aux données. Cela passe par la création d’un référentiel dans lequel la signification de chaque information est décrit et partagé. L’interopérabilité sémantique représente les informations sous la forme d’un modèle contenant des concepts unis par des relations pour modéliser un ensemble de connaissances sur un sujet donné. C’est ce que l’on appelle l’ontologie.
L’interopérabilité syntaxique
Il s’agit pour cette couche de traduire le sens de la donnée en symboles exploitables par d’autres systèmes. La différence entre l’interopérabilité sémantique et l’interopérabilité syntaxiques est similaire à la différence qu’il existe entre le fond et la forme pour un texte. L’interopérabilité syntaxique concerne la façon dont sont codées et formatées les données. Elle conduit in fine à la notion de système ouvert, c’est-à-dire un système permettant de supporter l’hétérogénéité des composants parties qui sont prenantes de l’échange. L’interopérabilité syntaxique est soutenue par des mécanismes au rang desquels nous pouvons citer l’Unified Modeling Language (UML), le Business Process Model and Notation (BPMN) , l’Extensible Markup Language (XML) et les Interfaces Definition Langage (IDL).
Les normes et standards
L’importance de la normalisation
L’interopérabilité est un concept qui s’apparente à la communication. Pour échanger de l’information, faire du commerce et prospérer, l’Homme a tout d’abord créé des langages lui permettant d’interagir avec d’autres tribus, de comprendre et de se faire comprendre. Il existe aujourd’hui de très nombreux idiomes dont certains, plus utilisés que d’autres, ont valeur de « standards » tels que l’anglais. L’Homme a également dû développer des normes pour s’accorder sur des pratiques partagées avec d’autres communautés comme la taille des pierres pour la construction de grands édifices.
On peut, comme nous le raconte Jacob Holmblad dans cet edito, prendre conscience de l’importance de l’interopérabilité au travers du mythe biblique de la tour de Babel. L’Homme vaniteux voulut un jour créer un édifice montant jusqu’au cieux, rivalisant ainsi avec Dieu. Mais ce dernier, pour stopper la construction de l’ouvrage, décide alors de créer de multiples langages afin que les bâtisseurs ne puissent plus communiquer entre eux. Ainsi, mettant à mal l’interopérabilité, il fait échouer le projet.
Le jeu des grands éditeurs
La mondialisation galopante, la complexité croissante des interactions et la multiplication des systèmes dits « communicants » compliquent les exigences en matière d’interopérabilité et force l’émergence de nouvelles normes et standards plus robustes et plus fiables.
Cela force également les grands éditeurs à ouvrir davantage leurs systèmes et à proposer des passerelles avec leurs concurrents afin de ne pas se retrouver isolés voire exclus de leur écosystème. Ils n’hésitent pas à se rapprocher d’organismes de normalisation et de groupes de travail comme ECMA, ETSI, OASIS, OMA, IEEE, ISO ou W3C pour n’en citer que quelques-uns, ceci afin de peser dans les débats et imposer leur norme comme standard.
Les mauvais élèves
A chaque règle ses exceptions. Quelques éditeurs ont fait le choix de ne pas ouvrir leur système et de rester sur ce que l’on qualifie alors un système propriétaire, ou système exclusif constructeur. C’est un choix stratégique qui permet de garder captive une clientèle qui se trouve alors totalement dépendante de l’éditeur, des ressources disponibles pour développer de nouvelles fonctionnalités ou apporter de l’assistance. Il est également compliqué d’interfacer ces applications avec d’autres à moins d’utiliser des techniques de rétro-ingénierie pour développer des connecteurs spécifiques. Ces éditeurs n’ont d’autre choix que de « chouchouter » leurs clients pour éviter qu’ils ne cèdent à l’appel des sirènes des systèmes ouverts.
L’avenir de l’interopérabilité
Comme nous venons de le voir, l’interopérabilité est aujourd’hui au cœur de tous les systèmes, de tous les secteurs avec pour certains des enjeux cruciaux (santé, logistique, transports…). Pour les entreprises, il devient donc nécessaire, voire vital, de maîtriser cette notion et de la mettre en pratique au travers d’une urbanisation réfléchie du système d’information, de processus clairs et d’outils ouverts supportant les normes et standards.
Même des technologies jusque-là fermées comme les blockchains ont compris la nécessité de s’ouvrir pour pouvoir se démocratiser comme le montre l’article de Philippe Limantour