Title: THEME N 3
1THEME N 3
2Définitions
- Miranda
- Le middleware peut être défini comme tout
logiciel d intermédiation permettant à des
applications clientes de communiquer avec des
serveur distants quelque soit l hétérogénéité
des ressources mise en jeu. - Gardarin
- Ensemble des services logiciels construits
au-dessus d un protocole de transport afin de
permettre l échange de requêtes et des réponses
associées entre client et serveur de manière
transparente
3Plan de la séance
- Les mécanismes déchange
- Les types de communication
- APPC MOM RPC Tubes
- Les middlewares ouverts
- DCE -
- Les middleware propriétaires
- Moniteurs transactionnels
4LE MIDDLEWARE
APPLICATION CLIENT
SERVEUR
MIDDLEWARE
RESEAU
5DIALOGUE CLIENT-SERVEUR
IPC
(Inter Process Communication)
Application
Application
API
API
Application programming interface
FAP
FAP
Format And Protocols
PROTOCOLE DE TRANSPORT
PROTOCOLE DE TRANSPORT
R E S E A U
6Middleware dans les applications distribuées
G U I
APPLICATION
OLE2 Pipes MQSerie
MIDDLEWARE
APPLICATION
7Middleware dans les accès aux bases
APPLICATION
ODBC DRDA
MIDDLEWARE
BASES DE DONNEES RELATIONELLES
8COMMUNICATION
- Synchrone ou asynchrone
- Avec connexion ou sans connexion
- Transactionnel ou non transactionnel
- Objets ou non objet
- transactionnel objet
9Synchrone
TACHE CLIENT
TACHE SERVEUR
APPEL
ATTENTE
10Asynchrone
TACHE CLIENT
TACHE SERVEUR
APPEL
11Avec connexion
12Sans connexion
TACHE SERVEUR 1
R2
TACHE CLIENT
E
TACHE SERVEUR 2
R2
13MECANISMES DE COMMUNICATION
Type de dialogue
Avec connexion
Sans connexion
RPC
APPC
Synchrone
tubes
MoM
Asynchrone
14MECANISMES DE COMMUNICATION
Type de dialogue
Avec connexion
Sans connexion
RPC
RPC
APPC
Synchrone
tubes
MoM
Asynchrone
15RPC (principe)
PROCEDURE LOCALE
paramètres
PROCEDURE DISTANTE
Appel
Résultats
Réception
16RPC
RESEAU
SERVEUR
Application CLIENT
Application CLIENT
Prise en compte de la demande
Appel de la procédure
Réveil du serveur
EXECUTION DE LA PROCEDURE
Réception du résultat
17RPC (Rôle du serveur)
- Gestion du time out
- Choix du protocole de transport
- Gestion des appels
- Authentification et identification
- Sémantique des appels
18RPC ( gestion d annuaires)
CLIENT
3
1
2
PROCEDUR (n)
4
ANNUAIRE DES SERVICES
19RPC( Stub runtime)
20RPC (compilation)
OBJET STUB CLIENT
OBJET STUB SERVEUR
21RPC (exécution)
CLIENTS
SERVEUR
PROCEDURE
PROCEDURE
RPC Run time
RPC Run time
STUB
STUB
22RPC (Cinématique)
A P P L I C A T I O N C L I E N T
A P P L I C A T I O N S E R V E U R
STUB CLIENT
Modules Réseaux
Modules Réseaux
STUB SERVEUR
3
1
5
4
2
STUB CLIENT
Modules Réseaux
STUB SERVEUR
Modules Réseaux
6
9
8
7
10
23RPC ET MULTITHREADING
- RPC simple
- RPC et client multi thread
- RPC et serveur multi thread
- RPC avec client et serveur multi thread
24RPC (parallélisation)
PROCESSUS PERE
PROCESSUS FILS
Trait 1
PROCESSUS DISTANT
Trait 2
Trait 3
25RPC (Bilan)
- ()
- Principe est simple
- En cours de standardisation par l ISO
- (-)
- Fonctionnement synchrone
- Programmation asynchrone complexe
- Disponibilité conjointe du client et du serveur
26MECANISMES DE COMMUNICATION
Type de dialogue
Avec connexion
Sans connexion
APPC
RPC
Synchrone
tubes
MoM
Asynchrone
27APPC
CLIENT
RESEAU
SERVEUR
Application CLIENT
Création dun contexte
Emission de requêtes
Réception de resultats
Synchronisation
Execution des requêtes
Emission de requêtes
Réception de resultats
Synchronisation
Déconnexion
Fin dun contexte
28MECANISMES DE COMMUNICATION
Type de dialogue
Avec connexion
Sans connexion
RPC
APPC
Synchrone
Tubes ou Pipes
MoM
Asynchrone
29PIPES
- Communication de type fichier
- unidirectionnel
- bidirectionnelle
- 1 serveur avec 1 ou n clients
- Intégré aux fonctions de bases des OS
30PIPES Name-PIPES
- PIPES
- 1 processus serveur écrit
- 1 processus client lit les données et les détruit
- NAME-PIPES
- le tube est repéré par un nom
- Il est accessible par plusieurs processus
31MECANISMES DE COMMUNICATION
Type de dialogue
Avec connexion
Sans connexion
RPC
APPC
Synchrone
MoM
tubes
Asynchrone
32MOM
Application CLIENT
Application SERVEUR
Gestion de files
Gestion de files
Communi- cation
FILE DATTENTE
FILE DATTENTE
33Fonctions d un MoM
- Gestion des messages
- Localisation
- Administration
34Gestion des messages
- Unicité et garantie de la remise
- notification
- Gestion des priorités
35Localisation
- Adressage logique et gestion d alias
- Publication abonnement
- Transfert des messages
- Codage et décodage des messages
36Les MoM du marché
- MQSeries d IBM
- MSMQ de Microsoft
- MessageQ de BEA
37MIDDLEWARE OUVERT
- X/Open
- L API CLI
- ISO
- RDA
- OSF
- DCE
38L API CLI (client interface)
- Pour Serveur SQL
- Types de requêtes
- ordre direct du client
- ordre préparé par le serveur sur la base de
paramètres fournis par le client
39RDA
- protocole de communication ISO
- 3 parties
- partie générique
- partie spécifique à SQL
- partie pour la navigation réseau (NDL)
- (Network Data language)
40Les services RDA
- Gestion de dialogue
- Gestion de transaction
- Service de contrôle
- Services de gestion de ressource
- service de langage d accès aux données
41DCE (intervenants)
42DCE (Composants)
APPLICATION
SECURITE
F I C H I E R S
A N N U A I R E S
T H R E A D
T EMPS
R . P .C
SERVICES DE TRANSPORT
43DCE (notion de cellules)
- Unité de base d opération et d administration
- constitution d une cellule
- utilisateurs
- ordinateurs
- ressources
- Frontières de la cellule
- objectif
- administration
- sécurité
44DCE (annuaires)
- Annuaire de cellules
- nommage local des ressources
- Annuaire global
- X500
- DNS (Domain name System)
45DCE (sécurité)
- Kerberos
- Serveur d authentification
- Serveur de privilèges
- Base de données de sécurité
46DCE (Temps)
- Synchronisation des différentes horloges
- Entre les serveurs locaux et globaux
- Avec une base de temps externe
47DCE (Fichiers)
- DFS (distributed File System)
- Gestion de fichiers intégrée avec partage à
l intérieur d une cellule - Gestion de l intégrité
- Manipulation de Fileset
- Déplacements
- Sauvegardes
48DCE (Fonctionnement DFS)
MEMOIRE CACHE
SERVEUR CDS
CLIENT DFS
1
Gestionnaire mémoire-cache
3
2
SERVEUR DSF
SERVEUR DE FICHIERS
GESTIONNAIRE DES FILESET
SERVEUR DE LOCALISATION DE FILESET
SERVEUR DE FICHIERS
FICHIERS
49DCE (Thread)
- Implémentation de la norme POSIX 1003
- ()
- Objectif amélioration de la performance
- parallélisation des traitements
- (-)
- Complexité du développement
- gestion de la protection des ressources
- code réentrant
50DCE (fonctionnement)
Application client
Application serveur
4
LOGICIEL DCE
LOGICIEL DCE
2
1
Securité
Annuaire
Temps
3
51Middleware d'accès aux données
- FONCTIONS
- Transporter les requêtes et les réponses
- Simplifier les développements
- Améliorer les performances
52MIDDLEWARE PRORIETAIRE
53ODBCOpen Database Connectivity
GESTIONNAIRE DE DRIVERS ODBC
ODBC
DRIVERS
Paradox
dBASE
. . .
SQL Serveur
Oracle
54ODBC Open Database Connectivity
55DRDA
Serveur de Données
Application client
Application serveur
B
SBBD
A
DONNEES
A
Protocole de l'application
B
Protocole des bases de données
56DAL/DAM
CLIENT MAC
SERVEUR
SGBD
APPLICATION
Adaptateur SGBD
DAM
SERVEUR DAL
Extension DAL
Adaptateur Réseau
R E S E A U
DAM (Data Access Language) DAL
(Data Access Manager)
57IDAPI
DBE
CONFIGURATION DBE
Application Delphi
Moteur de base de données Borland (BDE) /IDAPI
Pilotes ODBC
LIiens SQL
TCP/IP SPX/IPX , etc
dBASE
Paradox
ASCII
Bases de données distantes
InterBase pour Windows
Oracle Sybase Informix InterBase
Bases de données locales
58Middleware transactionnel
- Nombreux utilisateurs
- Nombreuses interactions
- Gestion des transactions
CARACTERISTIQUES
59Les composants du middleware transactionnel
(isolé)
APPLICATION
GESTIONNAIRE DE RESSOURCES
(API RM)
(RM)
(XA)
GESTIONNAIRE DE TRANSACTIONS
(TX)
(AP)
(TM)
60Les composants du middleware transactionnel
(communicant)
APPLICATION
GESTIONNAIRE DE RESSOURCES
(API RM)
(RM)
(XA)
GESTIONNAIRE DE TRANSACTIONS
(TX)
(AP)
(TM)
(XA )
CPI-C
ATMI
GESTIONNAIRE DE RESSOURCES DE COMMUNICATION
61Les moniteurs transactionnels
- CICS
- TUXEDO
- ENCINA
- TOP END
- MTS
62CICS
- Multi plate-forme
- Evolutif
- CGI (internet)
- SOM (Objets répartis)
63CICS (Synchrone)
Transaction client
Transaction serveur
SEND
RECEIVE
SEND
RECEIVE
64CICS (Asynchrone)
Transaction client TC1
Transaction serveur TS
START TS
START TC2
Transaction client TC2
65CICS (transactionnel)
- Etablissement de la session
Session
66TUXEDO
- Question réponse
- Conversationnel
- File de messages
- Souscription et publication
- Diffusion
67TUXEDO (Q/R Synchrone)
Q
R
68TUXEDO (Q/R Asynchrone)
CLIENT
SERVEUR
Q
R
69TUXEDO (Q/R parallélisme)
70TUXEDO (Q/R Parallélisme)
SERVEUR 1
SERVEUR 2
CLIENT
Q1
Q1
R
71TUXEDO
SITE (A)
SITE (B)
A T M I
A T M I
TUXEDO
TUXEDO
A T M I
A T M I
ATMII
ATMII
ATMII
ATMII
SGBD
SGBD
SGBD
SGBD
Réseau
PASSERELLE
PASSERELLE
72ENCINA
APPLICATION ENCINA
MONITEUR ENCINA
RQS
PPC
SFS
Noyau Serveur
REC
LOG
VOL
LOCK
Noyau client
TRANSACTIONAL- C
BDE
TNC
TRAN
OFS DCE
73ENCINA COMPOSANTS
- RQS (Recoverable Queinng Service
- PPC (
- SFS (Structured File System)
- Toolkit
74ENCINA toolkit
- TNCS (communication transactionnelles)
- TRAN (transaction distribuées 2PC)
- LOG (journalisation)
- REC (utilisation de log )
- LOCK (verrouillage)
- VOL ( gestion support multiples)
75TOP END
- Développé par NCR
- OS multiples (unix, NT,..)
- SGBD multiples (oracle, Sybase,informix..)
- Moniteur généralement intégré dans des solutions
globales
76Echanges d'objets
- CORBA (COMMON OBJECT REQUEST BROKER ARCHITECTURE)
- OLE2 (OBJECT LINKING AND EMBEDDING)
- COM-DCOM (DISTRIBUTED COMPONENT OBJECT MODEL)
77CORBA
OBJETS APPLICATIFS
Common Facilities
OBJECT REQUESTER BROKER
Objects Services
78INTERET DU MIDDLEWARE
- API multi plate-forme
- Indépendant
- Des plate-formes
- des OS
- Des réseaux
- Des protocoles
- Isoler les applications des couches réseaux
- Localisation et structuration de données
indépendantes - Amélioration de la portabilité dans les
applications - Réduction des coûts de développement et de
maintenance - Système éprouvé , pilotage dynamique et
équilibrage de charge