Вы находитесь на странице: 1из 9

Les middelwares

Ayari Ahlem
2 MPSSR
1. Définition :
En architecture informatique, un middleware ou intergiciel est un logiciel tiers qui crée un
réseau d'échange d'informations entre différentes applications informatiques. Le réseau est
mis en œuvre par l'utilisation d'une même technique d'échange d'informations dans toutes les
applications impliquées à l'aide de composants logiciels.
Les composants logiciels du middleware assurent la communication entre les applications
quels que soient les ordinateurs impliqués et quelles que soient les caractéristiques matérielles
et logicielles des réseaux informatiques, des protocoles réseau, des systèmes
d'exploitation impliqués.
Les techniques les plus courantes d'échange d'informations sont l'échange de messages,
l'appel de procédures à distance et la manipulation d'objets à distance.
Les middlewares sont typiquement utilisés comme ciment pour relier des applications
informatiques disparates des systèmes d'information des entreprises et des institutions.

2. Origine :
Les intergiciels constituent un ajout relativement nouveau au paysage informatique. Il a gagné
en popularité dans les années 1980 en tant que solution au problème de la liaison de nouvelles
applications à des systèmes plus anciens, bien que le terme soit utilisé depuis 1968. [2] Il
facilitait également le traitement distribué , la connexion de multiples applications pour créer
une application plus large, généralement sur un réseau.

3. Utilité d’un Middleware :


Un middleware sert à créer la connexion entre plusieurs applications ou équipements
(machines, terminaux, imprimantes, …) qui n’étaient pas forcément conçus pour
communiquer entre eux, par échanges ou interopérabilité.
Outre la gestion de l’échange proprement dit, les services offerts par un middleware peuvent
être de différentes natures, en particulier:

 L'identification et la localisation des applications à un niveau supérieur, au dessus des


adresses réseau et des noms de serveurs, et l'acheminement des échanges à ce niveau.
 Dans certains cas, la conversion de formats de représentation des données entre les
applications, permettant à des applications d'environnements et langages différents
d'échanger de manière transparente.
 Dans certains cas également, des fonctions de sécurité, de répartition de charge ou de
gestion du secours.
4. Fonctionnement d’un middelware :

Ces entités peuvent être intégrées sur plusieurs réseaux pas forcément reliés entre eux, le
middleware se chargera d’en assurer la connexion malgré tout.
Il existe alors deux types de connexions concernant les middlewares : Les connexions
synchrones et les connexions asynchrones. Nous allons voir les caractéristiques propres à
chacune de ces connexions :
– Les liaisons synchrones : concernent les connexions en « temps réel », c’est-à-dire que le
système A envoie une demande au système B, qui lui-même répondra au système A, et ce
continuellement. Ces deux systèmes sont cadencés sur la même horloge
– Les liaisons asynchrones : quant à elles fonctionnent ainsi : Le système A envoie une
demande au système B, sans prendre en compte la réponse de ce dernier afin d’effectuer la
tâche. Le système B, lui, ne saura pas à l’avance quelle information il recevra.
Alors, quelle est la différence entre notre middleware et un ERP ?
Le middleware se doit d’assurer la communication entre les opérateurs et l’ERP. L’ERP
(progiciel de gestion intégrée) restant lui dans son rôle de coordinations des activités de
l’entreprise.
Le middleware est l’outil terrain et grâce à cela, il permet au niveau de la ligne de production
ou des utilisateurs de la logistique notamment, de proposer des écrans simplifiés permettant
de faciliter les saisies et donc de les fiabiliser.
L’ERP est une application dont le but est de coordonner l’ensemble des activités d’une
entreprise (activités dites verticales telles que la production, l’approvisionnement ou bien
horizontales comme le marketing, les forces de vente, la gestion des ressources humaines,
etc.) autour d’un même système d’information. Le Middleware est dans ce cas, la « brique
Terrain » du Système d’Information »
Pour résumer…
Nous pourrions donc dire qu’un middleware permet la communication entre plusieurs entités,
qui ne sont pas forcément sur le même réseau, n’ont pas la même fonction, pas forcément les
mêmes utilisateurs, …. C’est en quelque sorte un connecteur d’entités distantes !

5. Types de middelware :
Parmi les middlewares qui permettent l'interopérabilité entre applications homologues (de
même nature), on peut distinguer deux grandes familles:

 Les middlewares qui permettent l'invocation synchrone de fonctions et méthodes,


parmi lesquels on trouve la famille des request brokers, avec CORBA ou encore DCOM.
 Les middlewares d'échange asynchrones, qui sont principalement à base de messages,
ce sont les MOMs, les Message Oriented Middleware.
Un middelware est d’avantage qu'un simple protocole d'appel des services offerts par une
application, et typiquement RPC, RMI ou bien SOAP, tous également synchrones, ne sont
pas vraiment considérés comme des middelwares.

L'échange de messages, l'appel de procédures et la manipulation d'objets tiers sont trois


techniques prises en charge par le middleware, qui permettent à des applications
informatiques d'interagir, de coopérer et de se transmettre des informations.

5.1. Middleware orienté message :


Le middleware orienté message (MOM) est un middleware dans lequel les transactions ou les
notifications d'événement sont transmises entre des systèmes ou des composants disparates
sous forme de messages, souvent via un système de messagerie d'entreprise . Avec MOM, les
messages envoyés au client sont collectés et stockés jusqu'à ce qu'ils soient traités, tandis que
le client poursuit son traitement.
 Système de messagerie d'entreprise :
Un système de messagerie d'entreprise est un type de middleware facilitant la
transmission de messages entre des systèmes ou des composants disparates dans des
formats standard, faisant souvent appel à des services XML , SOAP ou Web . Dans le
cadre d'un système de messagerie d'entreprise, le logiciel de courtier de messages peut
mettre en file d'attente, dupliquer, traduire et transmettre des messages à des systèmes
ou des composants disparates d'un système de messagerie.
 Bus de service d'entreprise
Le groupe de services Burton définit le bus de services d'entreprise (ESB) comme "un
type de produit intermédiaire d'intégration qui prend en charge à la fois le middleware
orienté message et les services Web ".

5.2. Middleware d’appel de procédure distante (RPC) :


Un RPC est exactement ce que cela ressemble. Il appelle des procédures sur des systèmes
distants et est utilisé pour effectuer des interactions synchrones ou asynchrones entre des
applications ou des systèmes. Il est généralement utilisé dans une application logicielle.

Avec un middleware basé sur les appels de procédure à distance (remote procedure call),
des fonctions (procédures) existantes dans une application informatique donnée peuvent être
exécutées sur demande par d'autres applications.
L'appel de procédure à l'intérieur d'une application est un mécanisme logiciel ordinaire qui
peut être réalisé avec n'importe quel langage de programmation procédural. Il en va autrement
quand cet appel est réalisé entre deux applications.

Dans le mécanisme d'appel de procédure à distance, les composants logiciels du middleware


créent dans l'application appelante un composant logiciel souche (stub) dont les fonctions sont
identiques à celles de l'application informatique appelée. Puis les appels de procédure
effectués par l'application appelante sur la souche sont déviés par les composants logiciels du
middleware vers l'application appelée dans laquelle les composants du middleware ont créé
une autre souche semblable à l'appelant.

Le résultat de l'exécution de la fonction est ensuite transmis de l'appelé vers l'appelant par les
mêmes mécanismes. Les composants du middleware utilisent le procédé
de sérialisation (marshalling).

Le protocole réseau RPC de Sun Microsystems sert à effectuer des appels à distance.

SOAP est une technique d'appels à distance sur des serveurs web basée sur XML et le
protocole HTTP - protocole des serveurs web.

Technique intermédiaire entre les appels de procédure à distance et la manipulation


d'objets, RMI est un composant logiciel pour effectuer des appels de procédure à distance sur
des objets en langage de programmation Java.

5.3. Middelware objet :


Le middleware d'objet, également appelé courtier de requête d'objet, donne aux applications la
possibilité d'envoyer des objets et de demander des services via un système orienté objet. En
bref, il gère la communication entre les objets.

Avec un middleware à objets, une application informatique donnée peut manipuler


les objets — de programmation orientée objet — d'une autre application. Ces manipulations
induisent des traitements et des modifications d'informations dans l'application qui est
propriétaire de l'objet en question.

La manipulation d'objets par l'application à laquelle ils appartiennent est une opération
ordinaire de programmation orientée objet. Les mécanismes nécessaires existent dans la
totalité des langages de programmation orientés objet. Il en va autrement de la manipulation
d'un objet appartenant à une autre application.

Le mécanisme de manipulation d'objet tiers est similaire au mécanisme d'appel de procédure à


distance : les composants du middleware créent dans l'application informatique qui exploite
l'objet (client) une souche (stub) de celui-ci. Puis les manipulations effectuées sur la souche
sont déviées par les composants du middleware vers l'application à laquelle appartient l'objet
(fournisseur). Les composants du middleware créent dans l'application fournisseur un objet
qui contient l'objet manipulé ainsi que les instructions nécessaires pour recevoir les
manipulations - le squelette (skeleton). Le squelette est réalisé en utilisant les mécanismes
d'héritage de la programmation orientée objet.
DCOM de Microsoft est une technique de manipulation d'objets distants basée sur le
protocole réseau RPC.
DCE est un middleware à manipulation d'objet du Object Management Group basé
sur CORBA, une technique standardisée du même auteur.
5.4. Middelware de transaction :
Ce type de middleware inclut des applications telles que des moniteurs de traitement des
transactions. Il englobe également les serveurs d'applications Web. Ces types de middleware
deviennent de plus en plus courants aujourd'hui.

En informatique, une transaction est une suite d'opérations indissociables - qui doivent être
réalisées entièrement ou pas du tout. Divers composants de middleware permettent la
réalisation de ces transactions. Ils permettent en particulier l'annulation totale de la transaction
en cas d'échec6.
CICS, IMS et MQ Series (IBM) et DTC de Microsoft sont des middleware qui permettent la
réalisation de transactions.
5.5. Middleware de base de données :
Ce type de middleware permet d’accéder directement aux bases de données et d’interagir
directement avec elles. Il existe de nombreuses passerelles de base de données et options de
connectivité. Vous devez simplement voir ce qui fonctionnera le mieux pour votre solution
nécessaire. C'est le type de middleware le plus général et le plus connu. Cela inclut le logiciel
de base de données SQL.

5.6. Les portails :


Cela fait référence aux serveurs de portail d'entreprise. Il est considéré comme un middleware
car les portails facilitent l'intégration frontale. Ils sont utilisés pour créer des interactions entre
l'ordinateur ou le périphérique d'un utilisateur et les systèmes et services back-end.

5.7. Middleware intégré :


Ce type de middleware permet des services de communication et d’intégration avec une
interface logicielle ou micrologicielle. Il agit comme une liaison entre les applications
intégrées et le système d’exploitation en temps réel.

5.8. Middleware centré sur le contenu :


Ce type de middleware vous permet d’abstraire un contenu spécifique sans vous soucier de la
façon dont il est obtenu. Cela se fait à travers une simple abstraction fournir / consommer. Il
ressemble à un middleware de publication / abonnement, qui est un autre type de logiciel
souvent utilisé dans le cadre d'applications Web.
6. Interopérabilité entre les intergiciels majeurs :
CORBA, RMI, DCOM
L'interopérabilité entre logiciels est un concept informatique qui décrit la communication
entre plusieurs applications indépendantes éditées sur des plateformes différentes et utilisées
sur des ordinateurs différents.

Cette interopérabilité se fait à travers des intergiciels (ou middlewares) qui permettent
l'échange d'informations entre ces applications.

Il y a de plus en plus de systèmes qui utilisent leur propre langage et qui sont différents sur de
nombreux aspects. Par conséquent les intergiciels interviennent pour résoudre ce problème.
CORBA, suns Java RMI et Microsoft COM/DCOM sont les applications les plus utilisées.

Passer de la production de logiciel vers le milieu industriel (via les composants réutilisables) a
été l'objectif premier du génie logiciel.

6.1. CORBA :
L'OMG (Object Management Group) est un regroupement de spécialiste informatique depuis
1989. Actuellement il y a environ 850 acteurs de ce groupe (IBM, NASA, LIFL, Alcatel, ect.).
À travers ce regroupement, il y a un objet : faire émerger les standards pour l'intégration
d'applications distribuées hétérogènes. L'élément clé de la vision de l'OMG est CORBA : un
middleware orienté objet. CORBA (Common Object Request Broker Architecture) est basé
sur une architecture d'appel-réponse. Ce bus d'objets répartis offre un support d’exécution
masquant les couches techniques d'un système réparti. De plus il prend en charge les
communications entre les composants logiciels formant les applications réparties hétérogènes.

Modèle objet Client/Serveur :

Le bus CORBA propose un modèle orienté objet client/serveur d'abstraction et de coopération


entre les applications réparties :

La composante d’abstraction : chaque application peut exporter certains de ses services sous
la forme d’objets CORBA ;

 La partie coopération : les interactions entre les applications sont alors matérialisées
par des invocations à distance des méthodes des objets.
Ce modèle d'objet intervient uniquement lors de l'utilisation d'un objet. On caractérise alors
l'application implantant l'objet comme le serveur et l'application utilisant l'objet comme le
client. Cependant il faut noter qu'une application peut être à la fois cliente et serveur.
Sur le schéma précédent on voit différentes notions :

 L'application cliente : Programme qui utilise les méthodes objets via le bus CORBA

 La référence de l'objet : Structure qui désigne l'objet CORBA et permet de le localiser


sur le bus.

 L'interface de l'objet : Ce qui définit les opérations et attributs de l'objet CORBA


(utilisation du langage OMG-IDL)

 Le bus CORBA : Transfert les requêtes de l'application cliente vers l'objet

 L'objet CORBA : Entité virtuelle gérée par le bus CORBA.

 L'activation : Technique d'association d'un objet d'implantation à un objet CORBA

 Le code d'implantation : Regroupement des traitements liés à l'implantation de l'objet


CORBA

 L'application serveur : Structure d'accueil des objets d'implantation et des exécutions


des opérations
6.2. Java RMI :
RMI « Remote method invocation » est une interface de programmation (API) pour le
langage Java qui permet d'appeler des méthodes distantes, sur le principe des ORB.
L'utilisation de cette API nécessite l'emploi d'un registre RMI sur la machine distante
hébergeant ces objets que l'on désire appeler au niveau duquel ils ont été enregistrés. Cette
interface de programmation est très souvent utilisée en parallèle avec l'API d'annuaire JNDI
ou encore avec la spécification de composants distribués transactionnels EJB du langage Java.

Cette bibliothèque qui se trouve en standard dans Java J2SE, est une technologie qui permet la
communication via le protocole HTTP (ou IIOP, depuis la version 1.3 du JDK) entre des
objets Java éloignés physiquement les uns des autres, autrement dit s'exécutant sur des
machines virtuelles java distinctes. RMI facilite le développement des applications distribuées
en masquant au développeur la communication client / serveur.
Cette bibliothèque entre en concurrence avec la norme CORBA maintenue par l'Object
Management Group, et les produits qui la respectent, ou avec la technologie RPC dont l'un
des acteurs est Microsoft.

6.3. Microsoft COM/DCOM :


DCOM (Distributed Component Object Model) est un ensemble de concepts Microsoft et
d'interfaces de programmes dans lequel les objets de programme client peuvent demander des
services à partir d'objets de programme serveur sur d'autres ordinateurs dans un réseau.
DCOM est basé sur le "Component Object Model"(COM), qui fournit un ensemble
d'interfaces permettant aux clients et aux serveurs de communiquer dans le même ordinateur
(qui exécute Windows 95 ou une version ultérieure).

Conclusion :
Le middleware facilite la mise en œuvre de la communication et des entrées / sorties pour les
développeurs de logiciels , leur permettant ainsi de se concentrer sur l'objectif spécifique de
leur application. Il a gagné en popularité dans les années 1980 en tant que solution au
problème de la liaison de nouvelles applications à des systèmes hérités plus anciens, bien que
le terme soit utilisé depuis 1968.

Оценить