Accueil
Thèmes
middleware
Publication : le 31 juillet 2024
Contributeurs : Stephanie Susnjara, Ian Smalley
Le middleware est un logiciel qui permet un ou plusieurs types de communication ou de connectivité entre des applications ou des composants dans un réseau distribué, créant en résumé une « liaison logicielle » qui relie différents systèmes entre eux.
Le middleware rationalise le développement d’applications et accélère la mise sur le marché grâce à des fonctions intelligentes qui facilitent les connexions entre des plateformes qui n’ont pas été initialement conçues pour se connecter.
Les différents types de middleware sont les suivants :
Découvrez comment IBM WebSphere Automation peut vous aider à accroître votre maturité en matière d’automatisation de la gestion des middlewares et à réduire les coûts.
Introduit pour la première fois à la fin des années 1960, le terme middleware a été inventé parce que la première version faisait généralement office de médiateur entre le front-end d’une application (client) et une ressource back-end (par exemple, une base de données, une application mainframe ou un périphérique matériel spécialisé) auprès de laquelle le client pouvait demander des données. En réponse à l’essor de l’informatique distribuée dans les années 1980, l’utilisation de middlewares s’est accrue pour relier les nouvelles applications aux systèmes hérités.
Mais les middlewares actuels vont bien au-delà. Le middleware du portail, par exemple, englobe le front-end de l’application ainsi que les outils de connectivité back-end. Le middleware de base de données inclut généralement son propre entrepôt de données.
Le middleware a évolué et joue un rôle essentiel dans le développement d’applications cloud natives modernes. Il utilise la technologie des conteneurs, qui permet aux équipes DevOps et autres de se connecter à des ressources réparties dans des environnements multicloud. Cela prend en charge l’intégration continue (CI) et la distribution continue (CD) (CI/CD), rationalisant ainsi le codage, les tests et le déploiement des applications pour une mise à l’échelle et une croissance rapides.
Les entreprises ont de plus en plus recours au middleware en tant qu’offre de service cloud pour la communication entre les systèmes et en tant qu’outil de gestion des données . Une étude de Technavio prévoit que le marché mondial du middleware en tant que service (MWaaS) augmentera de 45,44 milliards USD, avec un taux de croissance annuel moyen de 17,73 % entre 2023 et 2028. L’étude attribue cette croissance à l’adoption généralisée du cloud computing et à une augmentation de l’informatique sans serveur et des microservices.1
Le middleware permet aux développeurs de concevoir des applications sans créer une intégration personnalisée chaque fois qu’ils doivent se connecter à des composants d’application (services ou microservices), à des sources de données, à des ressources informatiques ou à des appareils.
Pour ce faire, le middleware fournit des services qui permettent à différentes applications et services de communiquer par le biais de cadres de messagerie communs, tels que la notation d’objet JavaScript (JSON), le REpresentational State Transfer (REST), le langage de balisage extensible (XML), le protocole simple d’accès aux objets (SOAP) ou les services Web. Généralement, les middlewares fournissent également des services qui permettent aux composants écrits dans plusieurs langages, tels que Java, C++, PHP et Python, de communiquer entre eux.
Les composants architecturaux middleware standard incluent les éléments suivants :
En plus de fournir une interopérabilité qui simplifie le travail, les services middleware aident les développeurs de logiciels de différentes manières.
En fonction des informations relatives à la demande du client ou de l’application front-end, le middleware peut personnaliser la réponse de l’application ou du service back-end. Par exemple, dans l’application e-commerce d’un détaillant, la logique d’application middleware peut trier les résultats de recherche de produits à partir d’une base de données back-end du stock selon l’emplacement du magasin le plus proche et l’adresse IP ou l’emplacement dans l’en-tête de requête HTTP.
Le middleware établit généralement une connexion sécurisée entre l’application front-end et les sources de données back-end qui utilisent le protocole TSL (Transport Layer Security) ou un autre protocole de sécurité réseau. Il peut fournir des capacités d’authentification, en contestant les demandes d’identifiants (nom d’utilisateur et mot de passe) ou les certificats numériques des applications front-end.
Lorsque le trafic des applications augmente, le middleware d’entreprise peut s’adapter pour distribuer les demandes des clients sur plusieurs serveurs, sur site ou dans le cloud. Les capacités de traitement simultané permettent d’éviter les problèmes lorsque plusieurs clients tentent d’accéder simultanément à la même source de données back-end.
Le middleware aide les développeurs dans la modernisation de leurs applications, en transformant des applications héritées monolithiques en applications cloud basées sur une architecture de microservices.
L’automatisation des middlewares aide les développeurs à rationaliser et à automatiser la gestion des tâches informatiques complexes afin d’améliorer l’efficacité globale.
Les middleware prennent en charge les méthodologies DevSecOps (développement, sécurité et opérations) en aidant les équipes à créer des applications plus rapidement tout en atténuant les risques liés à la sécurité.
Il existe de nombreux types de middlewares. Certaines se concentrent sur des types spécifiques de connectivité, d’autres sur des applications, des composants d’applications et des appareils particuliers. Certains combinent des capacités de middleware pour une tâche de développement logiciel spécifique. Certains des types de logiciels middleware les plus connus et les plus couramment utilisés sont les suivants :
Le middleware orienté message (MOM) permet aux composants d’application qui utilisent différents protocoles de messagerie de communiquer et d’échanger des messages. Outre la traduction ou la transformation des messages entre les applications, MOM gère l’acheminement des messages, de sorte qu’ils parviennent toujours aux composants appropriés dans l’ordre souhaité. Parmi les exemples de MOM, citons les files d’attente de messages et les courtiers de messages.
Le middleware d’appel de procédure à distance (RPC) permet à une application de déclencher une procédure dans une autre application, exécutée sur le même ordinateur ou sur un autre ordinateur ou réseau, comme si les deux faisaient partie de la même application sur le même ordinateur.
Le middleware de données ou de bases de données simplifie l’accès aux bases de données principales et l’interaction avec celles-ci. En général, le middleware de base de données est une sorte de serveur de base de données SQL.
Le middleware d’interface de programmation des applications (API) fournit des outils que les développeurs peuvent utiliser pour créer, exposer et gérer les API de leurs applications afin que d’autres développeurs puissent s’y connecter.
Certains middlewares d’API comprennent des outils de monétisation des API, ce qui permet à différentes organisations de les utiliser, à moindre coût. Parmi les exemples de middleware d’API, citons l’api management platform, l’api gateway et l’api developer portal.
Le middleware Object Request Broker (ORB) fait office d’intermédiaire entre une demande émanant d’un objet ou d’un composant de l’application et l’exécution de cette demande par un autre objet ou composant du réseau distribué.
Les ORB fonctionnent avec l’architecture CORBA (Common Object Request Broker Architecture), qui permet à un composant logiciel d’en demander un autre sans savoir où l’autre est hébergé ou à quoi ressemble son interface utilisateur (UI) : le « courtage » traite ces informations pendant l’échange.
Le middleware transactionnel fournit des services pour soutenir l’exécution des transactions de données à travers un réseau distribué. Le middleware transactionnel le plus connu est celui des moniteurs de traitement des transactions (TPM), qui pilotent les transactions d’une étape à l’autre, en exécutant l’échange de données et en ajoutant, modifiant ou supprimant des données si nécessaire, entre autres, jusqu’à leur achèvement.
Un middleware de diffusion en continu de données asynchrones reproduit un flux de données dans un magasin intermédiaire, permettant ainsi le partage de données entre plusieurs applications. Apache Kafka est l’un des exemples les plus connus de plateformes open source de middleware pour la transmission d’événements en continu et en temps réel.
Le middleware pour appareil fournit un ensemble ciblé de fonctionnalités d’intégration et de connectivité pour développer des applications pour un système d’exploitation (OS) mobile spécifique.
Le middleware pour portail fournit des outils et des ressources pour intégrer le contenu et les capacités de diverses applications connexes « sur le verre » ou sur un seul écran afin de créer une seule application composite.
Le middleware robotique simplifie l’intégration du matériel, du middleware et des logiciels robotiques provenant de plusieurs fabricants et sites.
Il existe deux grandes catégories de middlewares : les middlewares d’applications d’entreprise et les middlewares de plateforme.
Le middleware d’intégration d’applications d’entreprise permet à une organisation de créer un centre d’intégration d’entreprise. Cela fournit un moyen standardisé de connecter toutes les applications, les composants des applications, les processus métier et les sources de données back-end de l’ensemble de l’entreprise.
Jusqu’à il y a dix ans, le middleware d’intégration d’applications d’entreprise le plus répandu était l’ Enterprise Service Bus (ESB), qui servait de hub d’intégration au sein d’une architecture orientée services (SOA).
Aujourd’hui, l’intégration de plateforme en tant que service (iPaaS) permet à une organisation de connecter des applications, des données, des processus et des services dans un cloud hybride, c’est-à-dire une combinaison d’environnements sur site, de cloud privé et de cloud public. Cela permet aux organisations d’éviter le travail et les dépenses liés à l’achat, à l’installation, à la gestion et à la maintenance du middleware d’intégration (et du matériel sur lequel il fonctionne) au sein de leur propre centre de données. Les principaux fournisseurs de services cloud (CSP), Microsoft Azure, Google Cloud, Amazon Web Services (AWS) ou IBM Cloud, proposent tous des solutions iPaaS.
Le middleware de plateforme (ou middleware de plateforme d’applications) prend en charge le développement d’applications. Il accélère la distribution des applications en fournissant un environnement d’hébergement d’exécution, tel qu’un environnement d’exécution Java (Java RE), des conteneurs, ou les deux, pour la logique d’application ou la logique métier. Le middleware de plateforme peut inclure ou combiner des serveurs d’applications d’entreprise, des serveurs Web, des systèmes de gestion de contenu (CMS) et d’autres types de middleware énumérés ci-dessus.
La plateforme d’intégration en tant que service (iPaaS) iPaaS et la plateforme en tant que service (PaaS) sont des solutions informatiques basées sur le cloud computing qui répondent à des objectifs différents. Alors que l’iPaaS se concentre sur l’intégration des applications, des appareils et des systèmes, le PaaS fournit aux organisations une plateforme qui permet de créer, exécuter et gérer des applications.
Le PaaS est un choix populaire pour les petites entreprises et les startups dont les budgets informatiques sont limités, car il permet aux équipes de créer des applications à moindre coût par rapport à la création de plateformes de développement internes. L’iPaaS est un meilleur choix pour les grandes organisations et les entreprises qui utilisent des architectures complexes et dynamiques.
Cependant, les services iPaaS fonctionnent souvent conjointement avec les services cloud, notamment les PaaS et les logiciels en tant que service (SaaS). Par exemple, les organisations peuvent combiner des solutions de développement iPaaS avec des solutions PaaS (par exemple, Cloud Foundry, Red Hat OpenShift) ou SaaS (GitHub).
Le cloud natif est une approche de développement d’applications qui utilise des technologies fondamentales de cloud computing pour assurer un développement, un déploiement et une gestion cohérents dans des environnements de cloud hybride.
Les applications cloud natives d’aujourd’hui sont construites à partir de microservices et déployées dans des conteneurs qui utilisent Kubernetes, une plateforme d’orchestration de conteneurs largement répandue.
Les microservices sont des composants applicatifs faiblement couplés qui intègrent leur propre pile et peuvent être déployés et mis à jour indépendamment les uns des autres. Ils communiquent en utilisant une combinaison d’API REST, de courtiers de messages et de flux d’événements.
Les conteneurs sont des tâches d’exécution légères qui regroupent le code d’application, tel que les microservices, avec uniquement les bibliothèques de système d’exploitation et les dépendances nécessaires à l’exécution de ce code sur n’importe quel cloud ou infrastructure informatique traditionnelle.
Ensemble, ces conteneurs et les technologies associées créent une puissante plateforme, développée une fois et déployée partout, qui fournit de nouvelles applications de cloud hybride et modernise les systèmes hérités traditionnels pour les utiliser dans le cloud. Cependant, ceci constitue également un environnement de développement complexe qui combine encore plus d’applications logicielles, de sources de données, de langages de programmation, d’outils et de systèmes distribués.
Les middlewares peuvent résoudre en partie cette complexité. Cependant, l’exécution d’applications conteneurisées avec un middleware conventionnel peut ajouter des complexités propres, y compris les frais d’infrastructure que les conteneurs contribuent à éliminer. Pour cette raison, les plateformes de développement d’applications cloud incluent des middlewares conteneurisés ou modulaires afin que seules les fonctions de connectivité requises puissent être regroupées dans un conteneur.
Le middleware soutient le développement de jeux vidéo en servant de moteur de jeu. Cette couche logicielle permet d’intégrer de façon fluide la vidéo, l’audio et d’autres composants de jeu essentiels.
Pour les institutions financières, le middleware intègre des applications et des bases de données clients pour prendre en charge les services bancaires numériques, y compris le traitement des transactions en temps réel.
L’accès aux données de santé et leur partage ont toujours présenté des difficultés. Les middlewares sont essentiels pour l’interopérabilité des soins de santé, car ils permettent de disposer d’un flux de données transparent entre les différents systèmes et applications de santé, tels que les plateformes de téléconsultation et les dossiers médicaux électroniques (EHRs).
Les entreprises de commerce électronique utilisent un middleware pour connecter leurs plateformes en ligne à des services back-end, tels que le traitement des commandes pour améliorer l’expérience client globale.
Dans le secteur manufacturier, les middlewares permettent de s’assurer que les systèmes logiciels d’entreprise, y compris les plateformes de planification des ressources d’entreprise (ERP), s’intègrent à d’autres applications afin de fournir une vue unifiée des opérations. Cela permet d’optimiser et de rationaliser la maintenance, la chaîne d’approvisionnement, l’assurance qualité, etc.
Gérez votre écosystème API sur plusieurs clouds, notamment en renforçant les efforts de socialisation et de monétisation.
Connectez, automatisez et libérez le potentiel de votre entreprise grâce à un logiciel de plateforme d’intégration.
Découvrez comment les solutions de distribution d’applications IBM permettent de créer de nouvelles applications cloud natives et de moderniser les applications existantes.
Offrez de la connectivité à toutes vos applications et données grâce aux fonctionnalités d’intégration universelles.
Les brokers de messages sont une technologie de communication inter-applications qui prend en charge les architectures cloud native, basées sur des microservices, sans serveur et cloud hybride.
L’iPaaS est une solution basée sur le cloud qui standardise et simplifie l’intégration dans les environnements sur site et dans le cloud.
Les API REST offrent un moyen flexible et léger d’intégrer des applications. Elles se sont imposées comme la méthode la plus courante pour connecter des composants dans les architectures de microservices d’application.
La gestion des API est le processus évolutif de création, de publication et de gestion des connexions d’interface de programmation des applications (API) au sein d’une entreprise et d’un environnement multicloud.
L’intégration du machine learning (ML) et de l’intelligence artificielle (IA) dans l’optimisation des décisions (DO) est essentielle pour améliorer l’efficacité des processus d’entreprise.
L’exploitation des données en temps réel est essentielle à la réussite des entreprises.
Tous les liens sont externes au site ibm.com
1 Middleware as a Service (MWAAS) Market Analysis North America, Europe, APAC, South America, Middle East and Africa – US, China, Japan, UK, Germany – Size and Forecast 2024-2028, Technavio, janvier 2024