Vous êtes sur la page 1sur 25

Chapitre 3 :

Techniques, outils et mise en


œuvre

1
Depuis quelques années sont
apparus des langages et des
environnements de programmation
pour construire des applications
distribuées : Middleware.

2
MIDDLEWARE ou INTERGICIEL

Un Middleware est un logiciel de communication qui


permet à plusieurs processus s’exécutant sur une ou
plusieurs machines d’interagir à travers un réseau.

▪ Le terme middleware vient de l'anglais middle (du


milieu) et software (logiciel).

▪ L’objectif principal des middlewares est de résoudre


le problème d’intégration des logiciels.
3
FONCTIONNALITES
➢ Fait le lien avec la couche transport.
➢ Réalise la synchronisation du dialogue entre client et serveur.
➢ Définit le format des données échangées.
➢ Procédure d’établissement de connexion.
➢ Exécution des requêtes.
➢ Récupération des résultats.
➢ Initiation des processus sur différents sites.
➢ Services de répertoire (nommage).
➢ Accès aux données à distance.
➢ Gestion des accès concurrents.
➢ Sécurité et intégrité.
➢ Terminaison des processus.
➢ Mise en cache des résultats.
➢ Mise en cache des requêtes.
4
CLASSES DE MIDDLEWARE

▪ L'échange de messages,
▪ l'appel de procédures,
▪ la manipulation d'objets tiers
▪ et l’exécution des transactions

sont quatre techniques prises en charge par le middleware,


qui permettent à des applications informatiques
d'interagir, de coopérer et de se transmettre des
informations.
5
❑ Échange de messages (MoM)

Dans un middleware orienté message (Message-oriented


Middleware ou MoM), les applications informatiques
communiquent par échange de messages d'une manière
similaire au courrier électronique :

une application informatique émet un message qui est alors


transmis à l'application destinataire par les composants
logiciels du middleware pendant que l'application émettrice
effectue d'autres traitements (asynchronisme).

Le format de données XML est souvent utilisé pour les


messages.
6
7
En d’autres termes le modèle MOM se caractérise par :

➢Système à base de messages indépendants.

➢Réponses indépendantes du temps.

➢Accumulation des requêtes et envois groupés.

➢Files d’attentes de messages.

➢Déclinaison du client-serveur.
8
Exemples de MoM

• AMQP (Advanced Message Queuing Protocol) est


un protocole standard ouvert pour les MoM, dont dérive
notamment récemment ØMQ (ou ZeroMQ).

• WebSphere MQ de IBM, est un composant logiciel


pour middleware orienté message.

• JMS est une interface de programmation pour


middleware orienté message, OW2 JORAM étant un des
logiciels qui mettent en œuvre cette interface.
9
❑ Appel de procédure à distance (RPC)

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.

10
11
Le modèle RPC fonctionne donc de la manière suivante :

➢ Le code du client et du serveur est indépendant du système de communication. Le


client ne sait pas si la procédure est locale ou éloignée.
➢ Le code du client n’a pas à préparer le message, ni à localiser le serveur. Ce travail
est à la charge du middleware RPC.
➢ Le système de dialogue est totalement externe au client et au serveur. Il est décrit
dans un langage spécifique appelé IDL (Interface Description Language) à partir
duquel est généré automatiquement le code nécessaire à la communication.
➢ La structure de communication est construite au moment de la phase de
compilation. Elle est donc parfaitement définie avant la phase d’exécution.
➢ La communication est synchrone. Après avoir fait son appel de procédure le
programme client est en attente du résultat. Ce n’est que lorsque le résultat lui
parvient qu‘il reprend son traitement.
➢ La technologie RPC est entièrement standardisée. La standardisation inclut le
langage IDL ainsi que tous les services nécessaires à la communication.
12
Exemples d’IDL

interface Echo {
string echoString (in string mesg);
};

Interface Buffer {
exception Empty;
void put (in string content);
string get() raises (Empty);
};
13
Exemples de RPC

▪ 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.

▪ RMI : Technique intermédiaire entre les appels de procédure à


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

14
❑ Manipulation d'objets (Oriented Objet Middleware ou OOM)

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.

15
➢ Cette technique se base sur des objets qui sont distribués à travers le
réseau, la communication inter objet correspond à la demande d’exécution
d’une opération sur un objet (le serveur) par un autre objet (le client).

➢ l’objet client ne connaît pas la localisation de l’objet serveur, et il n’a pas à


construire le message de requête.

➢ La communication entre ces deux peut être définie de façon statique ou


dynamique.

➢ La communication ici est synchrone.

➢ L‘infrastructure d’un système informatique orienté objet est constitué par


l’ensemble des interfaces connectées au bus de communication.

16
17
Exemples d’OOM

❑ 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.

18
❑ Exécution de transactions (Middleware de données)

Une transaction est un ensemble d'opérations modifiant des données


devant être effectuées toutes en même temps ou pas du tout.

Il existe plusieurs middleware de données permettent la réalisation de ces


transactions. Nous avons :
➢ Middleware propriétaire : par exemple SQL*NET de Oracle
➢ Middleware ouvert (indépendant d ’un SGBD) : par exemple ODBC
(Open DataBase Connectivity) de Microsoft
➢ Middleware ouvert et portable : API JDBC de Java avec des drivers écrits
en Java (type 3 et 4 selon terminologie Sunsoft)

➢ Il existe aussi les middlewares non transactionnel (http).


19
Le choix d’un middleware devrait se faire en fonction de la
tache qu’on voudrait qu’il réalise.

o Ainsi on choisira un MOM dans le cadre d’échange de


messages,

o un RPC dans le cadre des appels de procédures,

o un OOM dans le cadre des manipulations des objets

o et un middleware de données dans le cadre de


l’interaction avec des bases de données.
20
21
Source : Éric Leclercq, Bases de données et environnements distribués Chapitre I : Architecture
logicielle technologies de développement en environnement distribué, 2016 22
Prérequis

Langage orienté objet : Java et C++

Connaissance d’au moins un système de gestion de base de


données relationnelle : PostgreSQL, Oracle

Expérience pratique de JDBC

Programmation TCP/IP et notion de socket

Maıtrise d’un SE Unix (en ligne de commande)

Bases UML (diagramme de classes et des cas d’utilisation)


23
Source : Éric Leclercq, Bases de données et environnements distribués Chapitre I : Architecture
logicielle technologies de développement en environnement distribué, 2016 24
Source : Éric Leclercq, Bases de données et environnements distribués Chapitre I : Architecture
logicielle technologies de développement en environnement distribué, 2016 25