Systèmes distribués

Download Report

Transcript Systèmes distribués

L’architecture des systèmes
distribués
Le contenu est basé aux transparents du 7ème édition
de «Software Engineering» de Ian Sommerville
B.Shishedjiev - Génie logiciel
1
Caractéristiques
• Partage des ressources
• Ouverts – Utilisent de matériel et logiciel de
différents sources
• Parallélisme
• Expansible
• Tolérance aux fautes – continuer après une
faute
B.Shishedjiev - Génie logiciel
2
Désavantages
•
•
•
•
Complexité
Sécurité
Gestion plus difficile
Unprévisible
B.Shishedjiev - Génie logiciel
3
Architectures distribuées
• Client-serveurs
• Objets distribués
• Systèmes multiprocesseur
B.Shishedjiev - Génie logiciel
4
Systèmes multiprocesseurs
• Caractéristiques
– Plusieurs processus
– Gestion
• Pré-ordonnée
• Géré par un répartiteur
– Il n’y a pas une correspondance stricte entre
processus et processeurs
• Utilisation –
– les systèmes de temps réel
– Les grilles informatiques (grids)
B.Shishedjiev - Génie logiciel
5
Systèmes multiprocesseurs
• Gestion des feux de signalisations
B.Shishedjiev - Génie logiciel
6
Client - serveur
• Caractéristiques
– Des processus logiques
– Les clients
• utilisent des services
• connaissent les serveurs
– Les serveurs
• assurent les services
• Ne connaissent pas les clients
• Types
– Client lourd
– Client léger
B.Shishedjiev - Génie logiciel
7
Couches d’application
Couche de présentation
Couche de traitements
Couche de gestion des
données
B.Shishedjiev - Génie logiciel
8
Client lourd et client léger
B.Shishedjiev - Génie logiciel
9
Client- serveur
• Client léger
– Utilisé quand on migre des vieux systèmes vers C/S
systèmes
– Serveur et réseau surchargés
• Client lourd
– Le travail et mieux distribué
– Gestion plus difficile
– Chaque modification exige réinstallation de tout client
B.Shishedjiev - Génie logiciel
10
Exemple
• Disributeur des billets
ATM
ATM
Acco u nt server
Tel ep roces sin g
mon ito r
Cus tomer
acco un t
d atabase
ATM
ATM
B.Shishedjiev - Génie logiciel
11
Architecture 3-rayons
B.Shishedjiev - Génie logiciel
12
Utilisation de cleint-serveur
Architecture
Application
2-rayons – client Des systèmes évolués
léger
Des systèmes avec peu de données transmis – compilateurs
Des systèmes avec beaucoup de données mais sans
traitement des données - navigation
2-rayons – client Traitement produit par des systèmes prêts - Excel
lourd
Quand on a besoin d’un traitement intensif des données –
visualisation
Quand la fonctionnalité du client est stable
3-rayons
Larges systèmes avec des clients nombreux
Les données et les traitements sont volatils
Intégration des données des plusieurs sources.
B.Shishedjiev - Génie logiciel
13
Architecture d’objets distribués
• Caractéristiques
– Il n y a pas différence entre objet client et objet
serveur
– Chaque objet distribuable peu chercher des services
et de fournir de services
– La communication est réalisée par un composant
appelé «object request broker» (broker des requêtes
objet)
• Avantages
– Ouvert
– Flexible
– Facilement modifié
B.Shishedjiev - Génie logiciel
14
Architecture d’objets distribués
o1
o2
o3
o4
S (o 1)
S (o 2)
S (o 3)
S (o 4)
Object req u est brok er
o5
o6
S (o 5)
S (o 6)
B.Shishedjiev - Génie logiciel
15
Data mining
Database 1
In teg rator 1
Database 2
Rep ort gen .
Visualiser
In teg rator 2
Database 3
Disp lay
B.Shishedjiev - Génie logiciel
16
Data mining
• Particularités
– Flexibilité – on peut ajouter nouveaux sources
– Chaque intégrateur peut déduire certain type de
relation. Pour nouveau types on peut ajouter
d’intégrateurs.
B.Shishedjiev - Génie logiciel
17
CORBA
• Standard CORBA
• Types d’objets
–
–
–
–
Objets d’application
Objets standard pour un domaine
Services fondamentales – Répertoires et sécurité
Objets horizontaux – communes pour plusieurs
domaines
B.Shishedjiev - Génie logiciel
18
CORBA
App lication
o bjects
Domain
facilities
Horizo ntal C ORBA
facilities
Object req u est brok er
CORBA services
B.Shishedjiev - Génie logiciel
19
CORBA
• Communication entre objets
– IDL (Interface Defining Language)
– Souches (stubs) et squelettes (skeletons)
B.Shishedjiev - Génie logiciel
20
CORBA
o1
o2
o3
o4
S (o 1)
S (o 2)
S (o 3)
S (o 4)
IDL
stub
IDL
sk eleto n
IDL
stub
IDL
sk eleto n
Object Requ es t Bro ker
Object Requ es t Bro ker
Netwo rk
B.Shishedjiev - Génie logiciel
21
Services CORBA
•
•
•
•
•
Naming
Trading
Notification
Transaction
……
B.Shishedjiev - Génie logiciel
22
P2p architecture
• Caractéristiques
– L’application comporte tout protocole de
communication
– Chaque nœud a une copie de l’application
• Pure
• Semi centralisé
B.Shishedjiev - Génie logiciel
23
P2p architecture
• P2p décentralisé
n4
n6
n8
n7
n2
n 13
n 12
n3
n 13
n9
n1
n 10
n 11
n5
B.Shishedjiev - Génie logiciel
24
P2p architecture
• P2p semi-centralisé
Discov ery
serv er
n4
n1
n3
n6
n5
n2
B.Shishedjiev - Génie logiciel
25
Architecture orienté vers services
B.Shishedjiev - Génie logiciel
26
Standards de services Web
• Services based à SOAP
– SOAP (Simple Object Access Protocol)
– WSDL (Web Services Description Language)
– UDDI (Universal Description, Discovery and
Integration)
• REST (Representational State Transfer)
B.Shishedjiev - Génie logiciel
27
Exemple de SOA
• Système d’information de véhicle
Road traffic info
W eather
info
F acilities
info
gps coord
Road
locator
gps
coord
gps coord
Service discovery
Mobile Info Service
T ranslator
Info
stream
Finds available
services
Collates information
Language
info
Receiver
Receives
information stream
from services
Traffic
info
command
gps coord
T ransmitter
User interface
Sends position and
information request
to services
Radio
Translates dig ital
info stream to
radio signal
B.Shishedjiev - Génie logiciel
Receives request
from user
Locator
Discovers car
position
In-car software system
28