Professional Documents
Culture Documents
Historiquement:
Architecture centralise Terminaux passifs Systmes propritaires BD non relationnelles Langages de programmation: COBOL,
Architectures 1
Architectures
Architecture rpartie:
Rseaux, PC plus puissants, OS ouverts Interfaces et APIs standards BD relationnelles Serveur SGBD Langages 4GL: SQL, OS Outils de dveloppement
Requte Rponse
BD
Rgles
Rseau dentreprise
Windows
Applications
Unix
Clients
Applications
Architectures 2
Applications client-serveur
Catgories de C/S:
OLTP (Online Transaction Processing) DSS (Decision Support Systems)
OLTP:
Systme de rservation, contrle d'inventaires, commerce lectronique,
DSS:
Gnration de rapports Aide la prise de dcisions (Executive Information System-EIS)
A. Obaid - Systmes rpartis (MGL7126)
Architectures 3
Le client-serveur
Client:
met des requtes et attend les rponses.
Serveur:
Excute une opration sur demande dun client et transmet la rponse ce client.
Requte:
Message dcrivant l opration excuter pour le compte du client.
Rponse:
Message transmis suite lexcution dune opration demande par le client.
A. Obaid - Systmes rpartis (MGL7126)
Architectures 4
Architectures client-serveur
Le modle:
Processus Application Processus Client Serveur Systme Hardware Client Systme Hardware Serveur
Client
Matre
Client
Esclave
Esclave
Client
Architectures 5
Dialogue client-serveur
Se base sur l'utilisation d'une API (Application Programming Interface) : Ensemble de Serveur fonctions (ou primitives de service)
Client Requte Rponse
SendRequest() SendResponse() ReceiveRequest()
Primitives de service:
SendRequest() ReceiveResponse() ReceiveRequest() SendResponse()
ReceiveResponse()
Session Transport
Architectures 6
Mode asynchrone:
Utilise une file dattente Non bloquant Favorise le multitche (ex.: FIFO, email, ).
Architectures 7
Messages client-serveur
En gnral on a trois types de messages: REQ, REP et ACK. Accessoirement:
AYA (Are You Alive): Requte IAA (I Am Alive): Rponse TA (Try Again): Rponse
REQ REQ ACK
REQ REP
ACK
Architectures 9
Transparence
Transparence des rseaux:
Support de plusieurs types de rseaux: LAN, WAN, TCP/IP, ISO, SNA,
Transparence de la localisation:
Utilisation de service de rpertoire
A. Obaid - Systmes rpartis (MGL7126)
Architectures 10
Pourquoi rpartir
Facteurs stratgiques Cot des quipements Usagers veulent avoir le contrle Cot de dveloppement Interface usager Flexibilit et facilit de configuration Matriel spcialis Nouvelles applications
Architectures 11
Architectures 12
Architectures 13
Requte
Traitement local, Caching,
Donnes et applications
Client lger
Donnes (pr-trates)
Serveur lourd
Architectures 14
Architectures 15
Serveur d'application
Data base
Architectures 16
Serveurs lgers
Utilisation de composants:
Servlets excutes la demande JSP
Pages dynamiques Sparation de la logique d'affaires et les donnes
Architectures 17
lments de conception
Il faut dcider de lemplacement des lements :
Logique de prsentation:
Interfaces textuelles ou graphiques, interactions, entre de donnes, validation,
Logique d'affaire:
Traitement: Rgles d'affaires
Architectures 18
Architecture 2 niveaux
2-tiered Utilis dans les petits environnements Inadquat dans les gros environnements Pas de possibilit de dlgation
Serveur Client
A. Obaid - Systmes rpartis (MGL7126)
Serveur
Architectures 19
Architecture 3 niveaux
3-tiered system Un serveur au milieu :
Dlgation (Proxy) Traductions: adapatation de formats d'changes Moniteur transactionnel Scurit Web middleware: Client-serveur universel
Client
Serveur
Serveur
Architectures 20
10
Composantes client-serveur
Application Logique de prsentation Logique d'affaires Logique de donnes
Middleware
Client
DBMS
Serveur BD
Architectures 21
Interface utilisateur
Logique d'affaire
Interface utilisateur
Logique d'affaire Logique des donnes Donnes SGBDR actif (SQL serveur)
Architectures 22
11
client
Logique Donnes
Logique
serveur
Donnes
Donnes
Donnes
Architectures 23
Serveur de milieu
Logique
Logique
Logique
Logique Donnes
Logique
Serveur
Donnes
Donnes
Architectures 24
12
Le middleware
Assure les connexions entre le serveur de donnes et les outils de dveloppement sur les postes client. Ensemble de services construits au dessus du transport afin de permettre lchange entre client et serveur de manire transparente. Ensemble de logiciels rpartis qui se situe entre l application, l OS et les services rseaux
A. Obaid - Systmes rpartis (MGL7126)
Architectures 25
Types de middleware
Type gnral:
Protocoles de communication, rpertoires rpartis, scurit , service de temps, RPC, ... Services rpartis de type NOS: Services de fichiers, services d impression,... Exemples: DCE (Distributed Computing Environment), LAN Server, LAN Manager, Vines, TCP/IP, APPC, NetBios, MOM,
client client
middleware middleware
serveur serveur
Architectures 26
13
Types de middleware
Spcifiques:
Bases de donnes : ODBC, IDAPI,DRDA, EDA/SQL, On-line transaction processing (OLTP): ATMI (Tuxedo), Transactional RPC (Ensina), TxRPC (X/Open), Groupeware: MAPI, Lotus Notes, Objets: CORBA (Common Object Request Broker Arcitecture) Web, Environnements de dveloppement (WebSphere, J2EE,)
client client
middleware middleware middleware middleware passerelle passerelle
serveur serveur
Architectures 27
Types de middleware
Canaux:
Services de communications : RPC, ORB , MOM Services de support de communication: SSL, annuaires (ex. DNS, X.500, LDAP,),
Plate-formes:
Serveurs dapplications qui s'excutent du ct du serveur. Canaux de communication Rpartition, lquilibre de charge, intgrit, transactions, Exemples: Moniteurs TP, Serveurs dapplications sur le Web (J2EE, WebSphere,.NET,)
A. Obaid - Systmes rpartis (MGL7126)
Architectures 28
14
Catgories de middlewares
Totalement ouvert:
Mme API pour tous les middlewares clients Mme protocole d'change entre clients et serveurs Exemple: CORBA,
API
API
API
API
MWA
MWB
MWC
MWD
Catgories de middlewares
API commune:
Mme API sur les clients. Protocole d'change non commun:
Diffrents drivers pour diffrents types de serveurs
MWA Protocole A
MWB Protocole B
MWA Protocole A
MWB Protocole B
Architectures 30
15
Types de middlewares
Protocole d'change commun:
API diffrente sur chaque client. Usage d'un mme protocole d'change Traduction entre protocoles d'changes en utilisant des passerelles Exemple : DRDA (IBM) et SQL*Net (Oracle)
APIA APIB APIC APID
MWA Pass.
MWB Pass.
MWC
MWD
Types de middlewares
Propritaire:
API diffrente sur chaque client. Protocole d'change propritaire.
APIA
APIA
APIA
APIA
MWA Protocole A
MWA Protocole A
MWA Protocole A
MWA Protocole A
Architectures 32
16
Approche JDBC
Application Java Application Java
API JDBC
Application Java
MS SQL Server
DB2 Server
Oracle database
Architectures 33
Client-serveur et ODBC
Serveur SGBD Oracle
Microsoft Excel ODBC Interface Gestionnaire pilote Pilote Pilote Oracle Sybase ODBC ODBC Communication
Production
Pass.
Comptabilit
17
Navigateur Navigateur
PL PL
Plug-in
Appl.
Client-serveur web
Le serveur web ramne les documents web Les autres documents (non web) sont rendus disponibles par un processus externe
Browser
Documents non Web
Serveur Web
Architectures 36
18
Navigateur
Serveur d applications
API API
Serveur de donnes
BD
Prsentation
Traitement
Donnes
Architectures 37
Passerelle CGI
La passerelle CGI peut invoquer des applications de diffrents types:
SGBD, Communication, . Programmes qui gnrent du HTML dynamique
Browser
HTTP
CGI CGI
Serveur Web
Documents (HTML, XML,)
Architectures 38
19
ODBC
JDBC
HTTP
CGI CGI
Serveur Web
Documents (HTML, XML,)
Architectures 39
Lapproche SSI
Server-Side Include Utilise des balises HTML pour invoquer des services externes: ODBC,:
<!--#element attribut=valeur attribut=valeur ... -->
Passerelle (CGI, )
20
Navigateur Code
(Applet)
Serveur Web
Serveur de donnes
API
socket, RMI,
App
BD
Architectures 41
Navigateur
Code
(Applet)
Serveur Web
Serveur d applications
API
Serveur de donnes
API
Application Donnes
Donnes
BD
Architectures 42
21
Navigateur
HTTP
CDBC, ODBC,
Prsentation Traitement
BD
Donnes
Architectures 43
Serveurs dapplications
Navigateur
ORB ORB
Traitement Traitement
BD
Architectures 44
22
Middleware hybride
Browser Applet
HTTP Applet
Serveur HTTP
SGBD
ORB
ORB
ERP
TP
Architectures 45
Interfaces cran
Serveur Web
Passerelle Procdures
Application
Technologies enveloppes
Passerelle Applications
23
Middleware explicite
Utilisation d'API de bas niveau pour l'accs des services distants Transactions Transactions Ex: RMI, SOAP,
Client Client
Remote interface Remote interface
Scurit Scurit
stub
skeleton
transfert(TCompte compte1, TCompte compte2, long montant ) { // 1: Appeler l'API du middleware pour la scurit // 2: Appeler l'API du middleware pour les transactions // 3: Appeler l'API du middleware pour trouver des lignes d'une table de BD // 4: Ajouter un montant un compte // 5: Appeler l'API du middleware pour to stocker les lignes dans une BD // 6: Appeler l'API du middleware pour terminer la transaction }
Rseau
Architectures 47
Environnement EJB
EJB Container
Client
Entreprise Information System (RDBMS, ERP, Legacy Applications, ) JNDI, JavaMail, JMS
Client Client
Web Container
Niveau 1: client
Niveau 2: Service
24