Middleware

Qu'est-ce qu'un middleware ?

Un middleware est un logiciel polyvalent qui fournit aux applications des services que le système d'exploitation n'assure pas. Tout logiciel situé entre le noyau et les applications utilisateur peut être un middleware.

Comme l'avait si bien dit Nick Gall, analyste et théoricien des systèmes, « un middleware, c'est un logiciel pour les logiciels ». Un middleware ne propose pas les fonctionnalités d'une application classique. Il se charge de connecter un logiciel à un autre. Un middleware correspond aux canalisations qui connectent votre infrastructure informatique, car il permet aux données de se déplacer d'une application à une autre.

L'empire et l'entreprise

La Rome antique était dotée de l'un des systèmes d'assainissement les plus remarquables de l'histoire. Le réseau complexe d'aqueducs et d'égouts était si important que Pline l'Ancien le considérait comme « la plus grande réussite » de Rome. De la même manière que les aqueducs romains transportaient l'eau, un middleware d'entreprise déplace les données d'un endroit à l'autre. Nous ne prétendons pas que les solutions de middleware constituent la plus grande réussite de l'humanité, mais de nombreux autres logiciels (sans doute plus remarquables) fonctionnement grâce à un middleware.

Comparer le middleware à des canalisations peut paraître un peu simpliste, mais les deux sont des éléments indispensables au bon fonctionnement de systèmes vastes et complexes tels que ceux de la Rome antique. Votre entreprise est semblable à une ville qui connaît une expansion rapide : tous les quartiers ont besoin d'eau courante et tous les services de votre entreprise ont besoin de données. Sans canalisations, une ville ne peut fonctionner efficacement et devient vite désordonnée. Sans middleware, votre entreprise est exposée aux mêmes risques.

 

Quels sont les différents types de middleware ?

Les solutions de middleware regroupent divers logiciels, notamment :

 

API (interface de programmation d'applications)

Les API sont des ensembles d'outils, de définitions et de protocoles de création de logiciels applicatifs, qui permettent à votre produit ou service de communiquer avec d'autres produits et services sans connaître les détails de leur mise en œuvre.

Serveurs d'applications

il s'agit de plateformes dédiées au développement d'applications (comme Red Hat® JBoss® Enterprise Application Platform). Un serveur d'applications est une structure qui permet de créer des applications et fournit un serveur sur lequel les exécuter.

Logiciels d'intégration d'applications

L'intégration d'applications fait référence au regroupement de données issues de différentes applications à l'aide d'une structure d'intégration. Cette structure peut limiter le nombre de connexions point à point pour l'ensemble de votre entreprise, qui peuvent entraîner des dépendances complexes et des points de défaillance potentiels.

Logiciels d'intégration de données

L'intégration de données fait référence au regroupement de données issues de différentes sources en une vue unifiée qui permet aux utilisateurs d'accéder à ces données et de les exploiter.

Logiciels de traitement transactionnel

Le traitement transactionnel (TP, Transaction Processing) préserve l'intégrité d'un système (habituellement une base de données ou un système de fichiers) en contrôlant les applications de transaction, en appliquant une logique et des règles métier ou en appliquant des mises à jour aux bases de données.

Logiciels d'appel de procédure à distance (RPC, Remote Procedure Call)

Interaction client-serveur qui permet à une application ou à une fonctionnalité d'être distribuée sur plusieurs plateformes.

Middleware orientés message (MOM, Message-oriented Middleware)

Amélioration du RPC avec un mécanisme de file d'attente qui permet une interaction client-serveur asynchrone dans les situations où un nœud cible est lent ou occupé.

Logiciels ORB (Object request broker)

Autre interaction client-serveur qui permet d'accéder à des services distants comme s'ils étaient disponibles localement. Les processus du serveur s'enregistrent auprès de l'ORB et les clients contactent l'ORB pour repérer ces services.

L'intérêt d'un middleware

Continuons de comparer vos données à de l'eau qui circule dans les canalisations de votre entreprise : imaginez comme tout serait plus rapide et efficace si vous n'aviez pas besoin de porter un seau jusqu'à la pompe hydraulique, de le remplir d'eau et le ramener à votre point de départ. Sans middleware, c'est ce que vous faites à chaque fois que vous voulez travailler. Il est bien plus pratique et efficace de canaliser le transport des données dans l'ensemble de votre entreprise.

Que pourriez-vous faire si vous disposiez de vos données à la demande ?

Lorsque vous intégrez vos données dans un ensemble d'applications, vous pouvez vous concentrer sur l'innovation pour votre entreprise, au lieu de passer votre temps à exécuter des processus manuels. Avec une plateforme d'applications moderne, les développeurs peuvent, par exemple, se consacrer à la mise au point d'une fonctionnalité applicative, au lieu de gérer l'intégration de leur application au reste de l'environnement.

Les outils de middleware essentiels

Red Hat JBoss Enterprise Application Platform

Conteneur Java EE 7 totalement certifié qui inclut tous les éléments nécessaires à la création, à l'exécution, à la gestion et à l'intégration d'applications internes et externes.

Red Hat Data Grid

Solution de mise en cache de données distribuée et intelligente qui permet de faire évoluer les applications avec souplesse en fournissant un accès rapide et fiable aux données fréquemment utilisées.

Red Hat Fuse

Plateforme d'intégration d'entreprise qui connecte les environnements sur site, dans le cloud et partout ailleurs.

Red Hat JBoss Data Virtualization

Plateforme d'intégration qui regroupe en une source unique des données issues de sources variées et qui les présente comme un service réutilisable.

Vous ne savez pas encore tout sur les solutions de middleware...