Les technologies clés |
Connexion de machines et/ou d'applications différentes
("middleware") |
Fiche Technologie-clé n : 45
VERSION 3
Le middleware est en général une couche logicielle (un API) qui joue le rôle d'interface entre le client et le serveur ou entre serveur et serveur. Il est indépendant des logiciels de communication et de gestion de réseaux.
La définition du middleware varie néanmoins, certains y incluant les SGBDR. Dans une récente étude, le cabinet anglais Ovum évalue ce marché en le décomposant en six familles de produits :
Le développement de l'informatique distribuée entraîne la connexion sur les réseaux de machines, d'applications et de systèmes d'exploitation différents. Il faut pouvoir faire appel, à distance, aux fonctions et aux données de n'importe quelles applications, sur n'importe quelle machine : c'est l'objet du "middleware". Autrefois, les constructeurs de matériels développaient ces fonctions pour proposer un environnement d'exploitation et de développement des applications cohérent. Avec l'avènement des systèmes ouverts et du client-serveur, le middleware devient une pièce maîtresse pour gérer la complexité et l'hétérogénéité des logiciels. Les utilisateurs ont découvert le middleware avec le client-serveur. Ces logiciels intermédiaires fournissent des interfaces ou des services de base, qui assemblent et donnent une unité aux différents composants d'une architecture de ce type.
Les logiciels de middleware servent à la fois d'intermédiaires entre les applications logicielles différentes et de tampon entre le logiciel d'application et l'architecture du réseau qu'ils essaient de rendre transparente. Le middleware doit également permettre de rajouter de nouveaux services (applications, logiciels...) sans remettre en cause l'existant, tant au niveau matériel que logiciel. Il doit permettre de garantir l'évolutivité du système d'information. Le mode de fonctionnement, sur le plan théorique, est le suivant : l'application sur le poste client nécessite des données ou des services qui sont hébergés sur le réseau, souvent sur des serveurs qui fonctionnent sous des systèmes d'exploitation différents et des bases de données avec des langages spécifiques. L'application client a besoin d'un système middleware qui cherche ces données ou ces services, et les retransmet à l'application client après les avoir reconfigurées.
Les développements sur-mesure d'API, permettant de faire communiquer des applications pour exécuter des tâches précises, remplissent le même rôle dans certains cas.
Plutôt que de reléguer leurs anciennes applications, souvent bien rodées, de nombreuses entreprises s'attachent à les rendre compatibles avec les nouveaux logiciels. L'organisation des échanges interapplicatifs dans le nouveau système d'information doit donc tenir compte de développements effectués il y a parfois plus de 15 ans, à une époque où les interfaces et autres traducteurs de messages restaient exceptionnels. Cette situation va durer au moins cinq ans
A plus long terme, le middleware devra éviter de se lier à des architectures trop spécifiques pour privilégier les interfaces standards. Le modèle optimal rendrait le middleware indépendant des SGBD (Système de Gestion de Bases de Données). Les techniques de réplication ou de distribution dépendent par ailleurs fortement de l'environnement proposé par les éditeurs.
Un axe d'évolution probable concerne le développement d'architectures client/serveur de deuxième génération (séparation de la couche présentation et de la couche applicative). Dans ce cas, il est possible d'intercaler entre les postes clients et serveurs l'outils middleware, dont le rôle sera de réaliser les traitements et l'accès aux données. Une telle configuration permet d'isoler de la partie client les modules de traitements, permettant ainsi d'effectuer des modifications sur ces modules sans affecter les postes clients. Les éditeurs et les constructeurs devront pour se faire adopter des normes de type Corba qui précise la structure des messages et les modalités des échanges entre objets.
Un autre axe d'évolution est Intranet, qui consiste à utiliser les outils d'Internet pour développer des applications au sein de l'entreprise. Certains experts parlent de client-serveur universel. Ils estiment que cette solution est très souple et facile à mettre en oeuvre, tout en répondant à la majorité des besoins.