L’architecture des systèmes
distribués
Le contenu est basé aux transparents du 7ème édition
de «Software Engineering» de Ian Sommerville
[Link] - 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
[Link] - Génie logiciel 2
Désavantages
• Complexité
• Sécurité
• Gestion plus difficile
• Unprévisible
[Link] - Génie logiciel 3
Architectures distribuées
• Client-serveurs
• Objets distribués
• Systèmes multiprocesseur
[Link] - 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)
[Link] - Génie logiciel 5
Systèmes multiprocesseurs
• Gestion des feux de signalisations
[Link] - 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
[Link] - Génie logiciel 7
Couches d’application
Couche de présentation
Couche de traitements
Couche de gestion des
données
[Link] - Génie logiciel 8
Client lourd et client léger
[Link] - 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
[Link] - Génie logiciel 10
Exemple
• Disributeur des billets
ATM
ATM
Account server
Tele- Customer
processing account
monitor database
ATM
ATM
[Link] - Génie logiciel 11
Architecture 3-rayons
[Link] - 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.
[Link] - 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é
[Link] - Génie logiciel 14
Architecture d’objets distribués
o1 o2 o3 o4
S (o1) S (o2) S (o3) S (o4)
Object request broker
o5 o6
S (o5) S (o6)
[Link] - Génie logiciel 15
Data mining
Database 1 Report gen.
Integrator 1
Database 2
Visualiser
Integrator 2
Database 3
Display
[Link] - 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.
[Link] - 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
[Link] - Génie logiciel 18
CORBA
Application Domain Horizontal C ORBA
objects facilities facilities
Object request broker
CORBA services
[Link] - Génie logiciel 19
CORBA
• Communication entre objets
– IDL (Interface Defining Language)
– Souches (stubs) et squelettes (skeletons)
[Link] - Génie logiciel 20
CORBA
o1 o2 o3 o4
S (o1) S (o2) S (o3) S (o4)
IDL IDL IDL IDL
stub skeleton stub skeleton
Object Request Broker Object Request Broker
Network
[Link] - Génie logiciel 21
Services CORBA
• Naming
• Trading
• Notification
• Transaction
• ……
[Link] - 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é
[Link] - Génie logiciel 23
P2p architecture
• P2p décentralisé
n4 n6
n8 n13
n7 n12
n2 n3
n13
n9 n10 n11
n1 n5
[Link] - Génie logiciel 24
P2p architecture
• P2p semi-centralisé
Discovery
server
n4
n1
n3
n6
n5
n2
[Link] - Génie logiciel 25
Architecture orienté vers services
Service
registry
Find Publish
Service Service service
requestor provider
Bind
[Link] - 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)
[Link] - Génie logiciel 27
Exemple de SOA
• Système d’information de véhicle
Road traffic info
W eather F acilities Road T raffic
info info locator info
gps
gps coord coord
gps coord
Mobile Info Service Service discovery
T ranslator Finds available
Collates information
services
Language
Info command
info
stream gps coord
Receiver T ransmitter User inter
face
Receives Sends position and Receives request
information stream information request from user
from services to services
Radio Locator
T ranslates dig
ital Discovers car
info stream to position
radio signal
[Link] - Génie logiciel In-car software system 28