Middleware
En informatique, le middleware désigne les logiciels servant d'intermédiaire entre d'autres logiciels. On utilise généralement du middleware comme intermédiaire de communication entre des applications complexes, distribuées sur un réseau informatique.
Vocabulaire
Le terme middleware vient de l'anglais middle (du milieu) et software (logiciel). Diverses francisations ont été proposées, mais leur usage est confidentiel :
- La Délégation générale à la langue française et aux langues de France (DGLF) préconise l'emploi de logiciel médiateur depuis 1999.
- L'Office québecois de la langue française (OQLF), quant à lui, propose les termes logiciel des couches intermédiaires et intergiciel.
- Les termes de logiciel d'intermédiation et, par abus de langage, de bus logiciel (voir aussi bus de données) peuvent être rencontrés dans la littérature.
Description
Le middleware offre des services de haut niveau liés aux besoins de communication des applications (temps réel, sécurisation, sérialisation, transaction informatique, etc.).
C’est ce que l’on appelle une communication interprocessus (anglais InterProcess Communication, IPC). Elle vient se situer dans le modèle OSI au dessus de la couche de transport (couches 5, 6 et 7). La double mission d’interfaçage du middleware est :
- Le processus client ou serveur : la gestion des appels de fonctions de l’application ou la gestion du renvoi des résultats.
- La mise en forme des données en vue de leur prise en charge par la couche transport.
Les deux missions sont assurées par deux composants distincts :
- Le Protocole d'accès formaté (Format Access Protocol, FAP) met en forme les différentes données au niveau du réseau.
- L'interface de programmation (Application Programming Interface, API) se charge :
- des connexions et déconnexions avec le serveur;
- de la définition de l’environnement de la connexion (variables de contexte, zones tampon); et
- du transfert des requêtes et de la réception des résultats (n-uplé par n-uplé ou de façon globale).
L’interface de programmation transmet au FAP les requêtes destinées au serveur qui va se charger de conditionner les données au transport par le réseau. Le FAP est propre à chaque protocole réseau. Le FAP du client reçoit la requête et la plie dans une trame destinée au transport sur le réseau. La FAP du serveur reçoit la trame, la déplie et transmet la requête à l’interface. Après traitement, le serveur renvoie le résultat de la requête à l’interface qui transmettra au client via les FAP du serveur, puis du client, soit par n-uplé de résultat, soit en entier.
Exemples de middleware : EAI, ETL, CORBA, HLA, File d'attente de message, ODBC.
